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 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
Modifier and TypeFieldDescriptionstatic final List<URNResourceType>
Unmodifiable list of all possible resource types.static final int
The count of URNResourceType's.final String
The description.final boolean
Flag indicating files should be deleted upon server dispose.static final Map<String,
URNResourceType> Unmodifiable map of external start path to type.final String
The external (web-facing) start path, {code null} for external files.final Class<?>
The ID class type if stored in the databaseLong.class
ornull
for none.final String
The ID column name for database storage,null
if not used.final String
The internal subdirectory name, can consists of several directories.final boolean
Flag indicating the type is subject based and can have multiple instances.final long
Maximum 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_PERSISTENT
andCOMMON_VOLATILE
.final String
The NSS part of the URN.final URNLocation
Storage location.static final List<URNResourceType>
Unmodifiable list of the subject based types:APPLICATION_DATABASE_PERSISTENT
,APPLICATION_PERSISTENT
.final String
The table name for database storage,null
if not using a database.Method Summary
Modifier and TypeMethodDescriptionGets a unique number to use for the directory.static URNResourceType
Gets the NSS resource for the case sensitive string.static final URNResourceType
ofExternalStartPath
(String path) From an externalpath
that may be prefixed by "/$$", and if so ends with the first "/", look-up the corresponding type.static URNResourceType
Returns 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,null
if not using a database.idColumn
The ID column name for database storage,null
if not used.idClass
The ID class type if stored in the databaseLong.class
ornull
for 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
null
if not found.
ofExternalStartPath
From an externalpath
that may be prefixed by "/$$", and if so ends with the first "/", look-up the corresponding type. If thepath
is not prefixed by "/$$", the entirepath
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.