Package com.iizix.prop
Class AbstractBaseRelativeReference<TARGET extends IPropCnr>
java.lang.Object
com.iizix.prop.GProp<ReferenceString>
com.iizix.prop.AbstractReference<TARGET>
com.iizix.prop.AbstractBaseRelativeReference<TARGET>
- All Implemented Interfaces:
EventListener
,IGProp<ReferenceString>
,IPropReference
,IReferencingGProp
,Cloneable
- Direct Known Subclasses:
AbstractUICompRelativeReference
public abstract class AbstractBaseRelativeReference<TARGET extends IPropCnr> extends AbstractReference<TARGET>
The Base Relative Reference property class hold the reference to another property in the same base container.
This relative referencing can be done with acceptance of different types of classes. When constructing the relative reference, the PropCnr must be set.
- Author:
- Christopher Mindus
Nested Class Summary
Nested classes/interfaces inherited from interface com.iizix.prop.IPropReference
IPropReference.IRefType, IPropReference.ReferenceChangeEvent, IPropReference.RefType
Field Summary
Fields inherited from class com.iizix.prop.AbstractReference
ERROR_ID, hasBeenValidated, QUICK_FIX_DELETE_PROP, reference
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
ModifierConstructorDescriptionprotected
Creates a Base Relative Reference property with no name and with a null value.AbstractBaseRelativeReference
(Atom propertyAtom) Creates a Base Relative Reference property with the specified name with a null value.AbstractBaseRelativeReference
(Atom propertyAtom, String newValue) Creates a Base Relative Reference property with the specified name and value.Method Summary
Modifier and TypeMethodDescriptionprotected boolean
Returns if resolving of this reference should be done in post- (true) or pre-stage (false).protected String
Creates the reference string to look-up from the ReferenceString.protected String
Gets the reference string for a property container.protected String
getScopeErrorMessage
(TARGET property, PropCnr base) Gets the error message when the base container doesn't validate scope.protected String
setLookedUpReference
(String name) Sets the reference found that also has been validated.protected String
validateReferenceScope
(TARGET property) Called when the a property container has been renamed or moved in order to perform validation of the reference, e.g.Methods inherited from class com.iizix.prop.AbstractReference
appendPropValue, assignError, assignNotFoundError, changeReference, checkCreateReference, clearError, clearFixedTarget, clone, createUpdateReference, disposeReference, equalsErrors, equalValues, getAbsoluteReference, getDirectReferencedTarget, getDirectReferencedTargetSet, getFixedTarget, getPropertyClass, getPropValue0, getReference, getReferenceString, getReferenceType, getTargetReference, getTargetReference, getValueClasses, informClearError, informError, informResolved, initializeValue, isReferenceValid, isReferencingMultipleTargets, isValid, modifyPropValue, onEventSelf, onProjectNameChanged, onPropDispose, onPropParentChanged, onRefactored, onReferenceDisposed, onReferenceEvent, onReferenceEvent, paramString, setPropValue, toNativeValue0, updateReference, validatePropType, validatePropValue, wouldValidate
Methods inherited from class com.iizix.prop.GProp
addPropError, addPropListener, appendProp, convertPropError, dispose, equals, equals, equalsObj, equalsPropValue, equalsTree, finalize, fine, fine, finer, finer, finest, finest, fromElementString, getAliasName, getAppSessionGyro, getAppWorker, getAtomPath, getAttribute, getChildReferencePropName, getClientSessionGyro, getClientWorker, getConstraints, getEnvironment, getErroredPropItems, getErroredProps, getErrorsProp, getExtendsRootContainer, getFullPropName, getFullPropName, getFullPropNameDebug, getFullPropNameDebug, getListeners, getModuleFolder, getModuleFolder, getParent, getParent, getProjectName, getPropAtom, getPropBaseReference, getPropError, getPropError, getPropErroredName, getPropErrorSeverity, getPropExtendsFlags, getPropFromPath, getPropFromPath, getPropFromReference, getPropFromReference, getPropIndex, getPropName, getPropPath, getPropPath, getPropReferenceTarget, getPropRootPropMgr, getPropTreeErrorSeverity, getPropValue, getPropValue, getPropValueObject, getReferencePropName, getReferencePropNameNoAssert, getRelativePropName, getRootFromName, getRootName, getRootParent, getRootParentNoAssert, getTreeLock, getVSReference, hasChanged, hasCircularReferencesError, hasPrivateChangeEventProp, hasPropError, hasPropTreeError, info, info, initializeElement, initializeGElement, initializeGProp, initializeProp, isDisposed, isPropChildOf, isPropClientCreated, isPropCommunicating, isPropCreateRequired, isPropExtended, isPropExtendsFinal, isPropExtendsPrivate, isPropExtendsPrivateInRoot, isPropExtendsPrivateInRoot, isPropFile, isPropFolder, isPropForEditor, isPropNullable, isPropPrivate, isPropPrivateAtCreation, isPropReadOnly, isPropReferenceTreeValid, isPropRoot, isPropRootLoading, isPropRootTreeModificationsAllowed, isPropUSER, isPropValueTreeLockNeeded, isPropVirtualized, isPropVirtualizing, isPropVolatile, isPropVolatileOrEditorOnly, isProxied, isSibling, list, list, list, list, list, mapAliasToReference, mapAliasToReference, mapReferenceToAlias, mapReferenceToAlias, mapReferenceToProjectRelative, moveProp, moveProp, moveProp, onEvent, onPrepare, onPropInvalidateCache, onPropTreeInitialized, onPropValueSet, onRemoteEvent, onVirtualizationCompleted, paramString, paramValue, post, post, removePropError, removePropListener, removePropUSER, renameProp, renameProp2, resetChangedTree, resolveRuntimeReferences, setChanged, setConstraints, setConstraints, setCreateRequiredProp, setParent, setPrivateChangeEventProp, setPrivateCreateRequiredProp, setPropError, setPropErroredName, setPropExtended, setPropExtendsFinal, setPropExtendsPrivate, setPropForEditor, setPropNullable, setPropPrivate, setPropReadOnly, setPropUSER, setPropValue, setPropValue, setPropValue, setPropValueIncognito, setPropVolatile, severe, severe, severe, shouldSerializeToXML, throwIfReadOnly, toElementString, toNativeValue, toString, toString, triggerRemoteEvent, triggerRemoteEvent, validateProp, verify, virtualize, warning, warning, warning
Methods inherited from class java.lang.Object
getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface com.iizix.prop.IReferencingGProp
getParent, getReferencingOwner
Constructor Details
AbstractBaseRelativeReference
protected AbstractBaseRelativeReference()Creates a Base Relative Reference property with no name and with a null value.AbstractBaseRelativeReference
Creates a Base Relative Reference property with the specified name with a null value.- Parameters:
propertyAtom
- the property atom.
AbstractBaseRelativeReference
Creates a Base Relative Reference property with the specified name and value.- Parameters:
propertyAtom
- the property atom.newValue
- the new string value for the property.
Method Details
doPostResolve
protected boolean doPostResolve()Returns if resolving of this reference should be done in post- (true) or pre-stage (false).- Overrides:
doPostResolve
in classAbstractReference<TARGET extends IPropCnr>
- Returns:
- true by default, i.e. in post-mode once main references are resolved.
getLookupPropReference
Creates the reference string to look-up from the ReferenceString. Override this method for e.g. Base or Fixed Relative referencing.- Overrides:
getLookupPropReference
in classAbstractReference<TARGET extends IPropCnr>
- Parameters:
name
- The reference name.- Returns:
- The property reference string to look-up.
setLookedUpReference
Sets the reference found that also has been validated. This method gives the opportunity for a subclass to remove e.g. the Base or Fixed Relative reference from the string start.- Overrides:
setLookedUpReference
in classAbstractReference<TARGET extends IPropCnr>
- Parameters:
name
- The full reference.- Returns:
- The reference to set in this property as ReferenceString.
validateReferenceScope
Called when the a property container has been renamed or moved in order to perform validation of the reference, e.g. if a base property has been moved out of scope. The implementor can assign or clear property errors by returning the error string.- Overrides:
validateReferenceScope
in classAbstractReference<TARGET extends IPropCnr>
- Parameters:
property
- Property to validate the scope of, i.e. the referenced property.- Returns:
- The error message, or null for valid. Default implementation returns null.
getReferenceString
Gets the reference string for a property container.An overriding method might convert the reference from e.g. old full path format for UI to the short UI reference format.
- Parameters:
cnr
- The container reference, might benull
for none.- Returns:
- The default is to return
IGProp.getReferencePropName()
, but e.g. for UI, it may be overridden,null
ifcnr
isnull
.
getScopeErrorMessage
Gets the error message when the base container doesn't validate scope. Override to produce a better error message for the specialized reference implementation.- Parameters:
property
- The property being targeted.base
- The base property reference.- Returns:
- "Target reference is not a child of the base property container".