Package com.iizix.server.user
Class UserProfileImageRequest
java.lang.Object
com.iizix.server.user.UserProfileImageRequest
- All Implemented Interfaces:
IUserProfileImageRequest
,Cloneable
The request class for a User Profile Image.
This class is NOT thread-safe when building the request, but is once the profile image is being retrieved. This is done by design to keep garbage collection down.
- Author:
- Christopher Mindus
Field Summary
Modifier and TypeFieldDescriptionstatic final double[]
COMMON_DPRS_EMPTY: An emptydouble array
used to create images with DPR's of the common values: 1.0d, 1.5d, 2.0d, 3.0d, 4.0d.Method Summary
Modifier and TypeMethodDescriptionappSessionGyro
(IAppSessionGyro appGyro) Assigns the App Session Gyro to use.circle()
Specifies that a circle should be used, if thewidth
andheight
are equal, otherwise it will become an ellipse.circle
(int size) Specifies that a circle should be used in the set logical pixel size.clientSessionGyro
(IClientSessionGyro clientGyro) Assigns the Client Session Gyro to use.clone()
Clones the instance.corners
(int corners) The corner size of the image in pixels with DPR = 1.0d.createDefault
(boolean doCreateDefault) Returns if creation of a default user profile image if none is found for a user ID or user Name should be performed or not.Assigns the App Session Gyro to use.Assigns the current Client Session Gyro to use.boolean
Returns if creation of a default user profile image if none is found for a user ID or user Name should be performed or not.DRPs
(double[] dprs) Sets the DRP's to use.Gets the application session gyro.Gets the client session gyro.int
Gets the corner size of the image in pixels with DPR = 1.0d.double[]
getDPRs()
Gets the DPR's requested.int
The height requested of the image, always greater than zero.int
Gets the image quality.getUser()
Gets the user.long
Gets the user ID.Gets the user name.int
getWidth()
Gets the width requested of the image, always greater than zero.boolean
isCircle()
Checks if it's a circle or oval (in case of differentwidth
andheight
)quality
(int quality) Sets the image quality.size
(int size) Specifies the size of the image.size
(int width, int height) Specifies the size of the image.user
(long userID) Specifies the user to use.Specifies the user name.
Field Details
COMMON_DPRS_EMPTY
public static final double[] COMMON_DPRS_EMPTYCOMMON_DPRS_EMPTY: An emptydouble array
used to create images with DPR's of the common values: 1.0d, 1.5d, 2.0d, 3.0d, 4.0d.
Method Details
clone
Clones the instance.- Specified by:
clone
in interfaceIUserProfileImageRequest
- Overrides:
clone
in classObject
- Returns:
- A new UserProfileImageRequest cloned instance.
currentClientSessionGyro
Assigns the current Client Session Gyro to use. The current thread is used to get it, and will also set the App Session Gyro if not already set.- Specified by:
currentClientSessionGyro
in interfaceIUserProfileImageRequest
- Returns:
- The UserProfileImageRequest "this" instance.
- Throws:
NotFoundException
- If currentclientGyro
is not found.
currentAppSessionGyro
Assigns the App Session Gyro to use. If this method is not called, an attempt to locate the current App Session Gyro from the current thread might be done. The user ID or user Name will be initialized from this app session if not set to another value.- Specified by:
currentAppSessionGyro
in interfaceIUserProfileImageRequest
- Returns:
- The UserProfileImageRequest "this" instance.
- Throws:
NotFoundException
- IfappGyro
is not found.
appSessionGyro
Assigns the App Session Gyro to use. If this method is not called, an attempt to locate the current App Session Gyro from the current thread might be done. The user ID or user Name will be initialized from this app session if not set to another value.- Specified by:
appSessionGyro
in interfaceIUserProfileImageRequest
- Parameters:
appGyro
- The application session gyro to use.- Returns:
- The UserProfileImageRequest "this" instance.
- Throws:
NullPointerException
- IfappGyro
isnull
.
clientSessionGyro
Assigns the Client Session Gyro to use. If this method is not called, an attempt to locate the current Client Session Gyro from the current thread might be done. Setting theclientGyro
will enable the DPR's to be read for the current client session.- Specified by:
clientSessionGyro
in interfaceIUserProfileImageRequest
- Parameters:
clientGyro
- The client session gyro to use.- Returns:
- The UserProfileImageRequest "this" instance.
user
Specifies the user to use.If an existing
userName
has been set, this call will reset it tonull
.- Specified by:
user
in interfaceIUserProfileImageRequest
- Parameters:
userID
- Requested user ID, or a negative value to use the current user, determined from the current Client or Application session.- Returns:
- The UserProfileImageRequest "this" instance.
- Throws:
NotFoundException
- If the user ID is not found.IllegalArgumentException
- If the user ID is invalid (zero or negative value).
user
Specifies the user name.- Specified by:
user
in interfaceIUserProfileImageRequest
- Parameters:
userName
- The user name.- Throws:
NotFoundException
- If the user name is not found.NullPointerException
- IfuserName
isnull
.
size
Specifies the size of the image.- Specified by:
size
in interfaceIUserProfileImageRequest
- Parameters:
size
- The size of width in logical pixels in the range of 16 to 400.- Returns:
- The UserProfileImageRequest "this" instance.
- Throws:
IllegalArgumentException
- Ifsize
is not in the range of 16 to 400.
size
Specifies the size of the image.- Specified by:
size
in interfaceIUserProfileImageRequest
- Parameters:
width
- The width in logical pixels in the range of 16 to 400.height
- The height in logical pixels in the range of 16 to 400.- Returns:
- The UserProfileImageRequest "this" instance.
- Throws:
IllegalArgumentException
- Ifwidth
orheight
is not in the range of 16 to 400.
quality
Sets the image quality.- Specified by:
quality
in interfaceIUserProfileImageRequest
- Parameters:
quality
- Zero for .PNG format loss-less with transparency support (default value), otherwise a value between 1 (worst possible quality) and 100 (loss-less) in .JPG format.- Throws:
IllegalArgumentException
- Ifquality
is not in the range of 0 to 100.
circle
Specifies that a circle should be used, if thewidth
andheight
are equal, otherwise it will become an ellipse.- Specified by:
circle
in interfaceIUserProfileImageRequest
- Returns:
- The UserProfileImageRequest "this" instance.
circle
Specifies that a circle should be used in the set logical pixel size. The image width and height will be set to the size specified.- Specified by:
circle
in interfaceIUserProfileImageRequest
- Parameters:
size
- The size of width in logical pixels in the range of 16 to 400. The width and height will be set to the specified size.- Returns:
- The UserProfileImageRequest "this" instance.
- Throws:
IllegalArgumentException
- Ifsize
is not in the range of 16 to 400.
corners
The corner size of the image in pixels with DPR = 1.0d. The corner size is multiplied with the DPR for high resolution images.A value of
zero
indicates rectangular corners, i.e. no rounding.A negative value will use the corners of half the
width
and half theheight
.- Specified by:
corners
in interfaceIUserProfileImageRequest
- Returns:
- The UserProfileImageRequest "this" instance.
DRPs
Sets the DRP's to use.- Specified by:
DRPs
in interfaceIUserProfileImageRequest
- Parameters:
dprs
- The DPR's to use. The first value MUST ALWAYs be 1.0d. Set to{@link #COMMON_DPRS_EMPTY}
if you wish to use the default DPR's values 1.0d, 1.5d, 2.0d, 3.0d and 4.0d. Set tonull
if the array should be build from the Client Session (must be non-null}, otherwise the single DPR 1.0d will be used.- Throws:
IllegalArgumentException
- If the array is invalid or has invalid values.
createDefault
Returns if creation of a default user profile image if none is found for a user ID or user Name should be performed or not.- Specified by:
createDefault
in interfaceIUserProfileImageRequest
- Parameters:
doCreateDefault
- The create default flag,false
by default.- Returns:
- The UserProfileImageRequest "this" instance.
getAppSessionGyro
Gets the application session gyro.- Specified by:
getAppSessionGyro
in interfaceIUserProfileImageRequest
- Returns:
- The App Session Gyro, or
null
if not set.
getClientSessionGyro
Gets the client session gyro.- Specified by:
getClientSessionGyro
in interfaceIUserProfileImageRequest
- Returns:
- The Client Session Gyro, or
null
if not set.
getUser
Gets the user.- Returns:
- The authenticated user, or
null
for none.
getUserID
public long getUserID()Gets the user ID.- Specified by:
getUserID
in interfaceIUserProfileImageRequest
- Returns:
- The user ID that has been set, or
-1L
if the session is still unauthenticated or not yet set, orzero
if an undefined user "@undefined" is signed in.
getUserName
Gets the user name.- Specified by:
getUserName
in interfaceIUserProfileImageRequest
- Returns:
- The user name, or
null
if unauthenticated or not yet set, or "@undefined
" if an undefined user is signed in.
getWidth
public int getWidth()Gets the width requested of the image, always greater than zero.- Specified by:
getWidth
in interfaceIUserProfileImageRequest
- Returns:
- The width in logical pixels, zero if not yet set, otherwise in the range of 16 to 400.
getHeight
public int getHeight()The height requested of the image, always greater than zero.- Specified by:
getHeight
in interfaceIUserProfileImageRequest
- Returns:
- The height in logical pixels, zero if not yet set, otherwise in the range of 16 to 400.
getQuality
public int getQuality()Gets the image quality.- Specified by:
getQuality
in interfaceIUserProfileImageRequest
- Returns:
- The Image quality: zero for .PNG format loss-less with transparency support (default value), otherwise a value between 1 (worst possible quality) and 100 (loss-less) in .JPG format.
getCorners
public int getCorners()Gets the corner size of the image in pixels with DPR = 1.0d. The corner size is multiplied with the DPR for high resolution images.- Specified by:
getCorners
in interfaceIUserProfileImageRequest
- Returns:
- The corner logical pixel value,
zero
for square corners (or rectangular, i.e. not rounded),-1
for circle or oval (in case of differentwidth
andheight
).A value of
zero
indicates rectangular corners, i.e. no rounding.A negative value will use the corners of half the
width
and half theheight
.
isCircle
public boolean isCircle()Checks if it's a circle or oval (in case of differentwidth
andheight
)- Specified by:
isCircle
in interfaceIUserProfileImageRequest
- Returns:
- Flag indicating if a circle or oval image will be the result.
doCreateDefault
public boolean doCreateDefault()Returns if creation of a default user profile image if none is found for a user ID or user Name should be performed or not.- Specified by:
doCreateDefault
in interfaceIUserProfileImageRequest
- Returns:
- The create default flag,
false
by default.
getDPRs
public double[] getDPRs()Gets the DPR's requested.- Specified by:
getDPRs
in interfaceIUserProfileImageRequest
- Returns:
- A cloned array of the requested DPR's.