Package com.iizix.prop
Class AbstractFixedVirtualizedBaseRelativeReference<TARGET extends IPropCnr>
- java.lang.Object
- com.iizix.prop.GProp<ReferenceString>
- com.iizix.prop.AbstractReference<TARGET>
- com.iizix.prop.FixedVirtualizedAbstractReference<TARGET>
- com.iizix.prop.AbstractFixedVirtualizedBaseRelativeReference<TARGET>
- All Implemented Interfaces:
EventListener
,ICircularRetargetParent
,IGProp<ReferenceString>
,IPropReference
,java.lang.Cloneable
- Direct Known Subclasses:
ScreenFieldReference
public abstract class AbstractFixedVirtualizedBaseRelativeReference<TARGET extends IPropCnr> extends FixedVirtualizedAbstractReference<TARGET>
The Base Relative Reference property class hold the reference to another property in the same base container. The reference is fixed when it'sWhen virtualizing this property reference, the referenced target from the original is "burned in" as a fixed value for the virtualized copy. This class is typically used for references that cannot be modified dynamically, e.g. a data connector,
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.FixedVirtualizedAbstractReference
fixedTarget
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
AbstractFixedVirtualizedBaseRelativeReference()
Creates a Base Relative Reference property with no name and with a null value.AbstractFixedVirtualizedBaseRelativeReference(Atom propertyAtom)
Creates a Base Relative Reference property with the specified name with a null value.AbstractFixedVirtualizedBaseRelativeReference(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
getScopeErrorMessage()
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.FixedVirtualizedAbstractReference
clearFixedTarget, getFixedTarget, informClearError, informError, informResolved, onBroken, onReferenceDisposed, onResolved, onVirtualizationCompleted, onVirtualized
Methods inherited from class com.iizix.prop.AbstractReference
appendPropValue, assignError, assignNotFoundError, changeReference, checkCreateReference, clearError, clone, createUpdateReference, disposeReference, equalsErrors, equalValues, getPropertyClass, getPropValue0, getReference, getReferenceDescription, getReferences, getReferenceString, getTargetReference, getTargetReference, getValueClasses, initializeReferenceClone, initializeValue, isReferenceValid, isValid, onEventSelf, onProjectNameChanged, onPropDispose, onPropParentChanged, onRefactored, 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, 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
AbstractFixedVirtualizedBaseRelativeReference
protected AbstractFixedVirtualizedBaseRelativeReference()
Creates a Base Relative Reference property with no name and with a null value.
AbstractFixedVirtualizedBaseRelativeReference
public AbstractFixedVirtualizedBaseRelativeReference(Atom propertyAtom)
Creates a Base Relative Reference property with the specified name with a null value.- Parameters:
propertyAtom
- the property atom.
AbstractFixedVirtualizedBaseRelativeReference
public AbstractFixedVirtualizedBaseRelativeReference(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.
getScopeErrorMessage
protected java.lang.String 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.- Returns:
- "Target reference is not a child of the base property container".