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
,ICircularRetargetParent
,IGProp<ReferenceString>
,IPropReference
,java.lang.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.ReferenceChangeEvent
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_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
Constructors Modifier Constructor Description protected
AbstractBaseRelativeReference()
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, java.lang.String newValue)
Creates a Base Relative Reference property with the specified name and value.
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected boolean
doPostResolve()
Returns if resolving of this reference should be done in post- (true) or pre-stage (false).protected java.lang.String
getLookupPropReference(ReferenceString name)
Creates the reference string to look-up from the ReferenceString.protected java.lang.String
getReferenceString(IPropCnr cnr)
Gets the reference string for a property container.protected java.lang.String
getScopeErrorMessage(TARGET property, PropCnr base)
Gets the error message when the base container doesn't validate scope.protected java.lang.String
setLookedUpReference(java.lang.String name)
Sets the reference found that also has been validated.protected java.lang.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, getFixedTarget, getPropertyClass, getPropValue0, getReference, getReferenceDescription, getReferences, getReferenceString, getTargetReference, getTargetReference, getValueClasses, informClearError, informError, informResolved, initializeValue, isReferenceValid, isValid, onEventSelf, onProjectNameChanged, onPropDispose, onPropParentChanged, onRefactored, onReferenceDisposed, onReferenceEvent, onReferenceEvent, setPropValue, toNativeValue0, updateReference, validatePropType, wouldValidate
Methods inherited from class com.iizix.prop.GProp
addPropError, addPropListener, convertPropError, dispose, equals, equals, equalsObj, equalsPropValue, equalsTree, extendsClone, 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, getRelativePropName, getRootFromName, getRootName, getRootParent, getRootParent, getTreeLock, getVSReference, hasChanged, 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, isPropUSER, isPropValueTreeLockNeeded, isPropVirtualized, isPropVirtualizing, isPropVolatile, isPropVolatileOrEditorOnly, isProxied, list, list, list, list, list, mapAliasToReference, mapAliasToReference, mapReferenceToAlias, mapReferenceToAlias, mapReferenceToProjectRelative, modifyPropValue, moveProp, moveProp, moveProp, onEvent, onPrepare, onPropInvalidateCache, onPropTreeInitialized, onPropValueSet, onRemoteEvent, onVirtualizationCompleted, onVirtualized, 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, validatePropValue, verify, verifyHasPropertyItem, 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.ICircularRetargetParent
isCircularRetargetParent
Constructor Detail
AbstractBaseRelativeReference
protected AbstractBaseRelativeReference()
Creates a Base Relative Reference property with no name and with a null value.
AbstractBaseRelativeReference
public AbstractBaseRelativeReference(Atom propertyAtom)
Creates a Base Relative Reference property with the specified name with a null value.- Parameters:
propertyAtom
- the property atom.
AbstractBaseRelativeReference
public AbstractBaseRelativeReference(Atom propertyAtom, java.lang.String newValue)
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 Detail
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
protected java.lang.String getLookupPropReference(ReferenceString name)
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
protected java.lang.String setLookedUpReference(java.lang.String name)
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
protected java.lang.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. 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
protected java.lang.String getReferenceString(IPropCnr cnr)
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
protected java.lang.String getScopeErrorMessage(TARGET property, PropCnr base)
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".