Interface IUserProfileImageRequest

  • All Superinterfaces:
    java.lang.Cloneable
    All Known Implementing Classes:
    UserProfileImageRequest

    public interface IUserProfileImageRequest
    extends java.lang.Cloneable
    The request class for a User Profile Image.

    The implementing 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
    • Method Detail

      • currentClientSessionGyro

        IUserProfileImageRequest 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.
        Returns:
        The UserProfileImageRequest "this" instance.
        Throws:
        NotFoundException - If current clientGyro is not found.
      • currentAppSessionGyro

        IUserProfileImageRequest 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.
        Returns:
        The UserProfileImageRequest "this" instance.
        Throws:
        NotFoundException - If appGyro is not found.
      • appSessionGyro

        IUserProfileImageRequest appSessionGyro​(IAppSessionGyro appGyro)
        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.
        Parameters:
        appGyro - The application session gyro to use.
        Returns:
        The UserProfileImageRequest "this" instance.
        Throws:
        java.lang.NullPointerException - If appGyro is null.
      • clientSessionGyro

        IUserProfileImageRequest clientSessionGyro​(IClientSessionGyro clientGyro)
        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 the clientGyro will enable the DPR's to be read for the current client session.
        Parameters:
        clientGyro - The client session gyro to use.
        Returns:
        The UserProfileImageRequest "this" instance.
      • user

        IUserProfileImageRequest user​(long userID)
                               throws NotFoundException
        Specifies the user to use.

        If an existing userName has been set, this call will reset it to null.

        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.
        java.lang.IllegalArgumentException - If the user ID is invalid (zero or negative value).
      • user

        IUserProfileImageRequest user​(java.lang.String userName)
        Specifies the user name.
        Parameters:
        userName - The user name.
        Throws:
        NotFoundException - If the user name is not found.
        java.lang.NullPointerException - If userName is null.
      • size

        IUserProfileImageRequest size​(int size)
        Specifies the size of the image.
        Parameters:
        size - The size of width in logical pixels in the range of 16 to 400.
        Returns:
        The UserProfileImageRequest "this" instance.
        Throws:
        java.lang.IllegalArgumentException - If size is not in the range of 16 to 400.
      • size

        IUserProfileImageRequest size​(int width,
                                      int height)
        Specifies the size of the image.
        Parameters:
        width - The width in logical pixels, must be greater than zero.
        height - The height in logical pixels, must be greater than zero.
        Returns:
        The UserProfileImageRequest "this" instance.
        Throws:
        java.lang.IllegalArgumentException - If width or height is not in the range of 16 to 400.
      • quality

        IUserProfileImageRequest quality​(int quality)
        Sets the image quality.
        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:
        java.lang.IllegalArgumentException - If quality is not in the range of 0 to 100.
      • circle

        IUserProfileImageRequest circle()
        Specifies that a circle should be used, if the width and height are equal, otherwise it will become an ellipse.
        Returns:
        The UserProfileImageRequest "this" instance.
      • circle

        IUserProfileImageRequest circle​(int size)
        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.
        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:
        java.lang.IllegalArgumentException - If size is not in the range of 16 to 400.
      • corners

        IUserProfileImageRequest corners​(int 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 the height.

        Returns:
        The UserProfileImageRequest "this" instance.
      • DRPs

        IUserProfileImageRequest DRPs​(double[] dprs)
        Sets the DRP's to use.
        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 to null if the array should be build from the Client Session (must be non-null}, otherwise the single DPR 1.0d will be used.
        Throws:
        java.lang.IllegalArgumentException - If the array is invalid or has invalid values.
      • createDefault

        IUserProfileImageRequest 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.
        Parameters:
        doCreateDefault - The create default flag, false by default.
        Returns:
        The UserProfileImageRequest "this" instance.
      • getAppSessionGyro

        IAppSessionGyro getAppSessionGyro()
        Gets the application session gyro.
        Returns:
        The App Session Gyro, or null if not set.
      • getClientSessionGyro

        IClientSessionGyro getClientSessionGyro()
        Gets the client session gyro.
        Returns:
        The Client Session Gyro, or null if not set.
      • getUserID

        long getUserID()
        Gets the user ID.
        Returns:
        The user ID that has been set, or -1L if the session is still unauthenticated or not yet set, or zero if an undefined user "@undefined" is signed in.
      • getUserName

        java.lang.String getUserName()
        Gets the user name.
        Returns:
        The user name, or null if unauthenticated or not yet set, or "@undefined" if an undefined user is signed in.
      • getWidth

        int getWidth()
        Gets the width requested of the image, always greater than zero.
        Returns:
        The width in logical pixels, zero if not yet set.
      • getHeight

        int getHeight()
        The height requested of the image, always greater than zero.
        Returns:
        The height in logical pixels, zero if not yet set.
      • getQuality

        int getQuality()
        Gets the image quality.
        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

        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.
        Returns:
        The corner logical pixel value, zero for square corners (or rectangular, i.e. not rounded), -1 for circle or oval (in case of different width and height).

        A value of zero indicates rectangular corners, i.e. no rounding.

        A negative value will use the corners of half the width and half the height.

      • isCircle

        boolean isCircle()
        Checks if it's a circle or oval (in case of different width and height)
        Returns:
        Flag indicating if a circle or oval image will be the result.
      • doCreateDefault

        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.
        Returns:
        The create default flag, false by default.
      • getDPRs

        double[] getDPRs()
        Gets the DPR's requested.
        Returns:
        A cloned array of the requested DPR's.