Package com.iizix.prop
Class FileURIPropCnr
- All Implemented Interfaces:
EventListener
,IGProp<GProp<?>[]>
,IPropCnr
,Cloneable
- Direct Known Subclasses:
FilePropCnr
A PropCnr that can refer to an IFile object can be loaded and saved as well as checked for modification from last time. An exception can also be set for load errors.
- Author:
- Christopher Mindus
Field Summary
Fields inherited from class com.iizix.prop.PropCnr
EMPTY, EMPTY_CLASSES, EMPTY_CNRS, EXTENDS_FRAMEWORK_ERROR_ID
Fields inherited from class com.iizix.prop.GProp
GPDEBUG, PROP_ATTR_STRING_EDITOR_PROP, PROP_ATTR_STRING_ERRORED_NAME, PROP_ATTR_STRING_EXTENDS, PROP_ATTR_STRING_EXTENDS_FINAL, PROP_ATTR_STRING_EXTENDS_PRIVATE, PROP_ATTR_STRING_NULLABLE, PROP_ATTR_STRING_PRIVATE, PROP_ATTR_STRING_PRIVATE_CHANGE_EVENT, PROP_ATTR_STRING_READ_ONLY, PROP_USER_1, PROP_USER_2
Fields inherited from interface com.iizix.prop.IGProp
EQC_ERROR_IGNORE_ALL, EQC_ERROR_IGNORE_REFERENCES, EQC_IGNORE_ARRAY, EQC_IGNORE_VOLATILE_OR_EDITOR, EQC_INCLUDE_PRIVATE, EQC_SAVE_FILE, EXT_CONTAINER_EXTENDS, EXT_CONTAINER_EXTENDS_VALID, EXT_EXTENDED, EXT_FINAL, EXT_OVERRIDES, EXT_OVERRIDES_FINAL_ERR, EXT_PRIVATE
Constructor Summary
ConstructorDescriptionCreates a FilePropCnr for the designer with the specified name with a null value.FileURIPropCnr
(Atom propertyAtom) Creates a FilePropCnr for the designer with the specified name with a null value.FileURIPropCnr
(Atom propertyAtom, File file) Creates a FilePropCnr for the designer with the specified name with a null value.FileURIPropCnr
(Atom propertyAtom, URL url, long modificationTime, long size) Creates a FilePropCnr for the designer with the specified name with a null value.Method Summary
Modifier and TypeMethodDescriptionclone()
Clone must be overridden.protected final Object
equalsTree
(PropCnr pc2, int how) Checks for equality in the whole container structure.protected final Object
equalsTree
(PropCnr pc2, Class<? extends IGProp<?>> arrayItemClass, int how) Checks for equality in the whole container structure.getChildReferencePropName
(GProp<?> child) Gets the child's reference property name for this property.Gets the Client resource string in form "module$/path/filename.ext".getFile()
Returns the file.long
Returns the modification time of the resource.GProp<?>
Gets a property from a reference name.protected GProp<?>
Retargets the reference request as required.long
getSize()
Returns the size of the resource in bytes.getURL()
Gets the file name URI for this property.final int
hashCode()
Returns the hash code of this object.boolean
Checks if this file is located in the Assets directory.final boolean
Checks if this is a File property container.final boolean
Checks if this is a Folder property container.protected String
paramString
(boolean includeFullProperties) Returns the parameter string representing the state of this event.void
setResolvedURL
(URL url, long modificationTime, long size, String serverReference) Resolves the URL, size, modification time and the client resource name.Methods inherited from class com.iizix.prop.PropCnr
__transferChildProps, addPredefinedProps, addProp, addProp, addProp2, addProp2, appendPropValue, canRequestFocus, completeVirtualize, containsProp, containsProp, convertLoadedProp, couldRequestFocusIfVirtualized, createCopyOfAtom, createUniqueAtom, createUniqueAtom, createUniqueAtom, createVSReference, doPropEqualsArrayValues, enablePropCommunication, enablePropHashMap, getAllProps, getAllProps, getAllProps, getAllProps, getAllProps, getAllProps, getAllProps, getAllProps, getBool, getBool, getBool, getBool, getChildPropError, getChildPropError, getChildPropErrorSeverity, getChildPropErrorSeverity, getErrorsProp, getExtendsContainer, getExtendsError, getExtendsName, getExtendsOverride, getExtendsPossibleClasses, getFirstProp, getFirstProp, getFocusEngine, getInt, getInt, getInt, getInt, getLong, getLong, getLong, getLong, getNumber, getNumber, getNumber, getNumber, getPossibleChildren, getPredefinedProps, getProp, getProp, getProp, getProp, getProp, getProp, getProp, getProp, getProp, getProp, getProp, getPropBaseReference, getPropCnr, getPropCount, getPropCount, getPropIndex, getPropIndex, getPropIndexes, getProps, getProps, getPropValue, getPropValue, getPropValue, getPropValue, getPropValue, getPropValue, getPropValue, getPropValue0, getRetargetedVerifyContainer, getString, getString, getString, getString, getValueClasses, getVSReference, hasFocus, hasSendData, initializeElement, initializeExtendsFramework, initializeProp, initializeValue, initPropCnr, insertProp, insertProp2, isChild, isExtendsOverriden, isExtendsPropertyValid, isExtendsRoot, isPropAddRemoveAllowed, isPropCommunicating, isPropExtended, list, list, logPropNotFound, maybeAddProp, onInsertProp, onPropDispose, onPropRemoved, onPropTreeInitialized, onReferenceEvent, onVirtualContainerCreated, onVirtualizationCompleted, paramString, prepare, removeAllProps, removeAllProps2, removeProp, removeProp, removeProp, removeProp, removeProp, removeProp, removeProp, removeProp2, removeProp2, removeProp2, removeProp2, removeProp2, removeProp2, removeProp2, reorderProps, replaceProps, requestFocus, requestFocus, requestFocusEx, requestFocusEx, resolveReferences, resolveRuntimeReferences, setBool, setBool, setBool, setBool, setCreateRequiredProp, setExtendsName, setExtendsOverride, setInt, setInt, setInt, setLong, setLong, setLong, setLong, setNumber, setNumber, setNumber, setNumber, setProp, setProp, setProp, setProp2, setProp2, setPropValue, setPropValue, setPropValue, setPropValue, setPropValue, setPropValue, setString, setString, setString, setString, shouldCreateProps, shouldSerializeToXML, toElementString, toNativeValue0, usePropHashMap, usesPropIndex, validateChildPropInValue, validateClassInstances, validatePropType, validatePropValue, verify, verifyInternalUseOnly, verifyTree, virtualize
Methods inherited from class com.iizix.prop.GProp
addPropError, addPropListener, appendProp, convertPropError, dispose, equals, equals, equalsErrors, equalsObj, equalsPropValue, equalValues, finalize, fine, fine, finer, finer, finest, finest, fromElementString, getAliasName, getAppSessionGyro, getAppWorker, getAtomPath, getAttribute, getClientSessionGyro, getClientWorker, getConstraints, getEnvironment, getErroredPropItems, getErroredProps, getErrorsProp, getExtendsRootContainer, getFullPropName, getFullPropName, getFullPropNameDebug, getFullPropNameDebug, getListeners, getModuleFolder, getModuleFolder, getParent, getParent, getProjectName, getPropAtom, getPropError, getPropError, getPropErroredName, getPropErrorSeverity, getPropExtendsFlags, getPropFromPath, getPropFromPath, getPropFromReference, getPropIndex, getPropName, getPropPath, getPropPath, getPropRootPropMgr, getPropTreeErrorSeverity, getPropValue, getPropValue, getPropValueObject, getReferencePropName, getReferencePropNameNoAssert, getRelativePropName, getRootFromName, getRootName, getRootParent, getRootParentNoAssert, getTreeLock, hasChanged, hasCircularReferencesError, hasPrivateChangeEventProp, hasPropError, hasPropTreeError, info, info, initializeGElement, initializeGProp, isDisposed, isPropChildOf, isPropClientCreated, isPropCreateRequired, isPropExtended, isPropExtendsFinal, isPropExtendsPrivate, isPropExtendsPrivateInRoot, isPropExtendsPrivateInRoot, isPropForEditor, isPropNullable, isPropPrivate, isPropPrivateAtCreation, isPropReadOnly, isPropReferenceTreeValid, isPropRoot, isPropRootLoading, isPropRootTreeModificationsAllowed, isPropUSER, isPropValueTreeLockNeeded, isPropVirtualized, isPropVirtualizing, isPropVolatile, isPropVolatileOrEditorOnly, isProxied, isSibling, list, list, list, mapAliasToReference, mapAliasToReference, mapReferenceToAlias, mapReferenceToAlias, mapReferenceToProjectRelative, modifyPropValue, moveProp, moveProp, moveProp, onEvent, onEventSelf, onPrepare, onPropInvalidateCache, onPropParentChanged, onPropValueSet, onRemoteEvent, paramValue, post, post, removePropError, removePropListener, removePropUSER, renameProp, renameProp2, resetChangedTree, setChanged, setConstraints, setConstraints, setParent, setPrivateChangeEventProp, setPrivateCreateRequiredProp, setPropError, setPropErroredName, setPropExtended, setPropExtendsFinal, setPropExtendsPrivate, setPropForEditor, setPropNullable, setPropPrivate, setPropReadOnly, setPropUSER, setPropValue, setPropValue, setPropValue, setPropValueIncognito, setPropVolatile, severe, severe, severe, shouldSerializeToXML, throwIfReadOnly, toNativeValue, toString, toString, triggerRemoteEvent, triggerRemoteEvent, validateProp, warning, warning, warning
Methods inherited from interface com.iizix.prop.IGProp
addPropError, addPropListener, dispose, equals, fine, fine, finer, finer, finest, finest, fromElementString, getAppSessionGyro, getAtomPath, getClientSessionGyro, getConstraints, getEnvironment, getErroredPropItems, getErroredProps, getErrorsProp, getExtendsRootContainer, getFullPropName, getFullPropNameDebug, getModuleFolder, getModuleFolder, getParent, getParent, getPropAtom, getPropError, getPropError, getPropErrorSeverity, getPropExtendsFlags, getPropFromPath, getPropIndex, getPropName, getPropPath, getPropPath, getPropRootPropMgr, getPropTreeErrorSeverity, getPropValue, getPropValue, getReferencePropName, getRelativePropName, getRootParent, getTreeLock, hasChanged, hasCircularReferencesError, hasPrivateChangeEventProp, hasPropError, hasPropTreeError, info, info, initializeGElement, initializeGProp, isDisposed, isPropChildOf, isPropClientCreated, isPropCreateRequired, isPropExtended, isPropExtendsFinal, isPropExtendsPrivate, isPropExtendsPrivateInRoot, isPropExtendsPrivateInRoot, isPropNullable, isPropPrivate, isPropReadOnly, isPropReferenceTreeValid, isPropRoot, isPropVirtualized, isSibling, list, list, list, mapAliasToReference, mapReferenceToAlias, mapReferenceToProjectRelative, moveProp, moveProp, moveProp, onEvent, onEventSelf, onRemoteEvent, removePropError, removePropListener, renameProp, setChanged, setConstraints, setConstraints, setParent, setPrivateChangeEventProp, setPropError, setPropExtendsFinal, setPropExtendsPrivate, setPropNullable, setPropPrivate, setPropReadOnly, setPropValue, setPropValue, severe, severe, severe, toNativeValue, triggerRemoteEvent, triggerRemoteEvent, validateProp, warning, warning, warning
Methods inherited from interface com.iizix.prop.IPropCnr
canRequestFocus, canRequestFocus, couldRequestFocusIfVirtualized, couldRequestFocusIfVirtualized
Field Details
EMPTY_ARRAY
Empty array.
Constructor Details
FileURIPropCnr
public FileURIPropCnr()Creates a FilePropCnr for the designer with the specified name with a null value.FileURIPropCnr
Creates a FilePropCnr for the designer with the specified name with a null value.- Parameters:
propertyAtom
- the property atom.
FileURIPropCnr
Creates a FilePropCnr for the designer with the specified name with a null value.- Parameters:
propertyAtom
- the property atom.file
- the file.
FileURIPropCnr
Creates a FilePropCnr for the designer with the specified name with a null value.- Parameters:
propertyAtom
- The property atom.url
- The file URL.modificationTime
- Last modification time.size
- Size in bytes.
Method Details
getURL
Gets the file name URI for this property.- Returns:
- The URL, none-null.
getChildReferencePropName
Gets the child's reference property name for this property.- Overrides:
getChildReferencePropName
in classGProp<GProp<?>[]>
- Parameters:
child
- The child requesting the name.- Returns:
- The default is to return getReferencePropName()+'/'+child.getPropName(), but for children named Atom.DATA_CONTAINER, that name is skipped thus returning getReferencePropName().
clone
Clone must be overridden.- Overrides:
clone
in classPropCnr
- Throws:
CloneNotSupportedException
- If a subclass doesn't allow cloning, e.g. the client properties.
isPropFolder
public final boolean isPropFolder()Checks if this is a Folder property container. It is overridden byFolderPropCnr
.- Specified by:
isPropFolder
in interfaceIGProp<GProp<?>[]>
- Overrides:
isPropFolder
in classGProp<GProp<?>[]>
- Returns:
- true for
FolderURIPropCnr
, false otherwise.
isPropFile
public final boolean isPropFile()Checks if this is a File property container. It is overridden byFilePropCnr
.- Specified by:
isPropFile
in interfaceIGProp<GProp<?>[]>
- Overrides:
isPropFile
in classGProp<GProp<?>[]>
- Returns:
- true for
FileURIPropCnr
, false otherwise.
isAssetFile
public boolean isAssetFile()Checks if this file is located in the Assets directory. This is only handled in the Editor.- Returns:
- Always true in the Server or Client.
getFile
Returns the file.- Returns:
- The file, or null for none.
getPropFromReference
Gets a property from a reference name. This can be called from any property in the property tree, and will direct the request to the root property.- Specified by:
getPropFromReference
in interfaceIGProp<GProp<?>[]>
- Overrides:
getPropFromReference
in classGProp<GProp<?>[]>
- Parameters:
ref
- The reference string.- Returns:
- The property with the reference in question, or null if not found.
getPropReferenceTarget
Retargets the reference request as required. This is used e.g. by the File property container to retarget the request to the data container.- Overrides:
getPropReferenceTarget
in classGProp<GProp<?>[]>
- Returns:
- Returns the data property container named
Atom.DATA_CONTAINER
if present, otherwisethis
.
getSize
public long getSize()Returns the size of the resource in bytes.- Returns:
- The size, or -1 if resource is not found.
getModificationTime
public long getModificationTime()Returns the modification time of the resource.- Returns:
- The modification time, or zero if resource is not found.
equalsTree
Checks for equality in the whole container structure.NOTE: This method should not be overridden except in extreme situations, e.g. for MememtoPropCnr.
- Overrides:
equalsTree
in classPropCnr
- Parameters:
pc2
- The property value to compare with.how
- Flags EQC_* values for equal checking.- Returns:
- Both atom and value are equal on all levels.
equalsTree
Checks for equality in the whole container structure.NOTE: This method should not be overridden except in extreme situations, e.g. for MememtoPropCnr.
- Overrides:
equalsTree
in classPropCnr
- Parameters:
pc2
- The property value to compare with.how
- Flags EQC_* values for equal checking.- Returns:
- Both atom and value are equal on all levels.
hashCode
public final int hashCode()Returns the hash code of this object.paramString
Returns the parameter string representing the state of this event. This string is useful for debugging. Subclasses adds extra information to the string by preceding it with a comma followed by the extra information.- Overrides:
paramString
in classGProp<GProp<?>[]>
- Parameters:
includeFullProperties
- Flag to include full properties or not.- Returns:
- the parameter string of this event.
setResolvedURL
Resolves the URL, size, modification time and the client resource name.- Parameters:
url
- The file URL in the Jar.modificationTime
- Last modification time.size
- Size in bytes.serverReference
- The server reference.- Throws:
IllegalStateException
- If not called from the server Jar file loader.
getClientResourceString
Gets the Client resource string in form "module$/path/filename.ext".- Returns:
- null If not valid.