Package com.iizix.urn

Enum Class URNResourceType

java.lang.Object
java.lang.Enum<URNResourceType>
com.iizix.urn.URNResourceType
All Implemented Interfaces:
Serializable, Comparable<URNResourceType>, Constable

public enum URNResourceType extends Enum<URNResourceType>
The types of URN Resource Type. All file sizes except external files are limited to 2 GB or 2,147,483,648 bytes.
  • Enum Constant Details

    • COMMON_DATABASE_PERSISTENT

      public static final URNResourceType COMMON_DATABASE_PERSISTENT
      Common server files for everyone, persisted in the server database. The files are cached on the server event when it starts or stops. Just a single instance is allowed.
    • COMMON_PERSISTENT

      public static final URNResourceType COMMON_PERSISTENT
      Common server files for everyone. The files and directories persists when server starts or stops. Just a single instance is allowed.
    • COMMON_VOLATILE

      public static final URNResourceType COMMON_VOLATILE
      Common server files for everyone, removed when server starts or stops. Just a single instance is allowed.
    • EXTERNAL_FILES

      public static final URNResourceType EXTERNAL_FILES
      External files, common for everyone, should be accessible by every server in a cluster. The database is backing up the external file entry for URN's.
    • APPLICATION_DATABASE_PERSISTENT

      public static final URNResourceType APPLICATION_DATABASE_PERSISTENT
      Application file, persisted in the server database. The administrator must purge the files.

      Subject based with "App Numeric ID" as subject (long).

    • APPLICATION_PERSISTENT

      public static final URNResourceType APPLICATION_PERSISTENT
      Application file, removed when an application is added or removed.

      Subject based with "App Numeric ID" as subject (long).

    • APPLICATION_VOLATILE

      public static final URNResourceType APPLICATION_VOLATILE
      Application file. The files and directories persists when an application is added or removed, or when server is starts or stops.

      Subject based with "application ID" as subject.

    • GROUP_DATABASE_FILES

      public static final URNResourceType GROUP_DATABASE_FILES
      User files, private for a user. Remains present until a group is removed. Typically used for group profile image, etc. The subject is a special unique name generated from the user ID that is a valid file name.
    • USER_FILES

      public static final URNResourceType USER_FILES
      User files, private for a user. Remains present until a user is removed. Typically used for user profile image, etc. The subject is a special unique name generated from the user ID that is a valid file name.
    • USER_DATABASE_FILES

      public static final URNResourceType USER_DATABASE_FILES
      User files, private for a user. Remains present until a user is removed. Typically used for user profile image, etc. The subject is a special unique name generated from the user ID that is a valid file name.
    • APP_SESSION

      public static final URNResourceType APP_SESSION
      Application session file, removed when an application session is stopped, or when the server is stopped or restarted. The subject is the session ID.
    • CLIENT_SESSION

      public static final URNResourceType CLIENT_SESSION
      Client session files for a user, removed when the client session is stopped. The subject is the appSession ID followed by "-" and the client session ID.
  • Field Details

    • descr

      public final String descr
      The description.
    • nss

      public final String nss
      The NSS part of the URN.
    • isSubjectBased

      public final boolean isSubjectBased
      Flag indicating the type is subject based and can have multiple instances.
    • internalSubDirectory

      public final String internalSubDirectory
      The internal subdirectory name, can consists of several directories.
    • externalStartPath

      public final String externalStartPath
      The external (web-facing) start path, {code null} for external files.
    • doDeleteFiles

      public final boolean doDeleteFiles
      Flag indicating files should be deleted upon server dispose.
    • storageLocation

      public final URNLocation storageLocation
      Storage location.
    • tableName

      public final String tableName
      The table name for database storage, null if not using a database.
    • idColumn

      public final String idColumn
      The ID column name for database storage, null if not used.
    • idClass

      public final Class<?> idClass
      The ID class type if stored in the database Long.class or null for none.
    • maxSize

      public final long maxSize
      Maximum file length when stored in a database, zero for none.
    • COUNT

      public static final int COUNT
      The count of URNResourceType's.
    • ALL

      public static final List<URNResourceType> ALL
      Unmodifiable list of all possible resource types.
    • NON_SUBJECT_BASED

      public static final List<URNResourceType> NON_SUBJECT_BASED
      Unmodifiable list of the non-subject based types:
    • SUBJECT_BASED

      public static final List<URNResourceType> SUBJECT_BASED
    • EXTERNAL_START_PATH_TO_TYPE

      public static final Map<String,URNResourceType> EXTERNAL_START_PATH_TO_TYPE
      Unmodifiable map of external start path to type. The path String is case sensitive.

      Use it to look up the WSFileType from an external path. The external path is always preceded with "/$$" and ends at the first '/' after this, but the look-up is done without the prefix "/$$" and suffix "/".

  • Method Details

    • values

      public static URNResourceType[] values()
      Returns an array containing the constants of this enum class, in the order they are declared.
      Returns:
      an array containing the constants of this enum class, in the order they are declared
    • valueOf

      public static URNResourceType valueOf(String name)
      Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)
      Parameters:
      name - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      IllegalArgumentException - if this enum class has no constant with the specified name
      NullPointerException - if the argument is null
    • getUniqueDirectory

      public String getUniqueDirectory()
      Gets a unique number to use for the directory.
      Returns:
      A string as randomHexValue.
    • of

      public static URNResourceType of(String nss)
      Gets the NSS resource for the case sensitive string.
      Parameters:
      nss - The NSS string.
      Returns:
      The URN resource found, or null if not found.
    • ofExternalStartPath

      public static final URNResourceType ofExternalStartPath(String path)
      From an external path that may be prefixed by "/$$", and if so ends with the first "/", look-up the corresponding type. If the path is not prefixed by "/$$", the entire path string is used as look-up.
      Parameters:
      path - The path to look-up, either a single part such as "av" or "cs".
      Returns:
      The URN resource type found, or null for none.