Package com.iizix.urn
Enum Class URNResourceType
- All Implemented Interfaces:
Serializable,Comparable<URNResourceType>,Constable
The types of URN Resource Type. All file sizes except external files are limited to 2 GB or 2,147,483,648 bytes.
Nested Class Summary
Nested classes/interfaces inherited from class java.lang.Enum
Enum.EnumDesc<E extends Enum<E>>Enum Constant Summary
Enum ConstantsEnum ConstantDescriptionApplication session file, removed when an application session is stopped, or when the server is stopped or restarted.Application file, persisted in the server database.Application file, removed when an application is added or removed.Application file.Client session files for a user, removed when the client session is stopped.Common server files for everyone, persisted in the server database.Common server files for everyone.Common server files for everyone, removed when server starts or stops.External files, common for everyone, should be accessible by every server in a cluster.User files, private for a user.User files, private for a user.User files, private for a user.Field Summary
FieldsModifier and TypeFieldDescriptionstatic final List<URNResourceType>Unmodifiable list of all possible resource types.static final intThe count of URNResourceType's.final StringThe description.final booleanFlag indicating files should be deleted upon server dispose.static final Map<String,URNResourceType> Unmodifiable map of external start path to type.final StringThe external (web-facing) start path, {code null} for external files.final Class<?>The ID class type if stored in the databaseLong.classornullfor none.final StringThe ID column name for database storage,nullif not used.final StringThe internal subdirectory name, can consists of several directories.final booleanFlag indicating the type is subject based and can have multiple instances.final longMaximum file length when stored in a database, zero for none.static final List<URNResourceType>Unmodifiable list of the non-subject based types:COMMON_DATABASE_PERSISTENT,COMMON_PERSISTENTandCOMMON_VOLATILE.final StringThe NSS part of the URN.final URNLocationStorage location.static final List<URNResourceType>Unmodifiable list of the subject based types:APPLICATION_DATABASE_PERSISTENT,APPLICATION_PERSISTENT.final StringThe table name for database storage,nullif not using a database.Method Summary
Modifier and TypeMethodDescriptionGets a unique number to use for the directory.static URNResourceTypeGets the NSS resource for the case sensitive string.static final URNResourceTypeofExternalStartPath(String path) From an externalpaththat may be prefixed by "/$$", and if so ends with the first "/", look-up the corresponding type.static URNResourceTypeReturns the enum constant of this class with the specified name.static URNResourceType[]values()Returns an array containing the constants of this enum class, in the order they are declared.
Enum Constant Details
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
Common server files for everyone. The files and directories persists when server starts or stops. Just a single instance is allowed.COMMON_VOLATILE
Common server files for everyone, removed when server starts or stops. Just a single instance is allowed.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
Application file, persisted in the server database. The administrator must purge the files.Subject based with "App Numeric ID" as subject (long).
APPLICATION_PERSISTENT
Application file, removed when an application is added or removed.Subject based with "App Numeric ID" as subject (long).
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
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
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
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
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
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
The description.nss
The NSS part of the URN.isSubjectBased
public final boolean isSubjectBasedFlag indicating the type is subject based and can have multiple instances.internalSubDirectory
The internal subdirectory name, can consists of several directories.externalStartPath
The external (web-facing) start path, {code null} for external files.doDeleteFiles
public final boolean doDeleteFilesFlag indicating files should be deleted upon server dispose.storageLocation
Storage location.tableName
The table name for database storage,nullif not using a database.idColumn
The ID column name for database storage,nullif not used.idClass
The ID class type if stored in the databaseLong.classornullfor none.maxSize
public final long maxSizeMaximum file length when stored in a database, zero for none.COUNT
public static final int COUNTThe count of URNResourceType's.ALL
Unmodifiable list of all possible resource types.NON_SUBJECT_BASED
Unmodifiable list of the non-subject based types:SUBJECT_BASED
Unmodifiable list of the subject based types: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
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
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 nameNullPointerException- if the argument is null
getUniqueDirectory
Gets a unique number to use for the directory.- Returns:
- A string as
randomHexValue.
of
Gets the NSS resource for the case sensitive string.- Parameters:
nss- The NSS string.- Returns:
- The URN resource found, or
nullif not found.
ofExternalStartPath
From an externalpaththat may be prefixed by "/$$", and if so ends with the first "/", look-up the corresponding type. If thepathis not prefixed by "/$$", the entirepathstring 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
nullfor none.