Class FixedVirtualizedAbstractReference<TARGET extends IPropCnr>

java.lang.Object
com.iizix.prop.GProp<ReferenceString>
com.iizix.prop.AbstractReference<TARGET>
com.iizix.prop.FixedVirtualizedAbstractReference<TARGET>
All Implemented Interfaces:
EventListener, IGProp<ReferenceString>, IPropReference, IReferencingGProp, Cloneable
Direct Known Subclasses:
AbstractFixedVirtualizedBaseRelativeReference, AssetReference, ContextMenuReference, DatabaseTransactionReference, ImageReference, PanelPartReference, ScreenActionReference, SelectorReference, TextTableReference, VSParticipantReference, WebServiceReference

public abstract class FixedVirtualizedAbstractReference<TARGET extends IPropCnr> extends AbstractReference<TARGET>
The Fixed Virtualized Abstract Reference property class hold the reference to another property.

When 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 reference to an image, data connector, text ID, etc.

Author:
Christopher Mindus
  • Field Details

    • fixedTarget

      protected TARGET extends IPropCnr fixedTarget
      Target fixed at virtualization.
  • Constructor Details

    • FixedVirtualizedAbstractReference

      protected FixedVirtualizedAbstractReference()
      Creates a Abstract Reference property with no name and with a null value.
    • FixedVirtualizedAbstractReference

      protected FixedVirtualizedAbstractReference(Atom propertyAtom)
      Creates a Abstract Reference property with the specified name with a null value.
      Parameters:
      propertyAtom - the property atom.
    • FixedVirtualizedAbstractReference

      protected FixedVirtualizedAbstractReference(Atom propertyAtom, String newValue)
      Creates a Abstract Reference property with the specified name and value.
      Parameters:
      propertyAtom - the property atom.
      newValue - the new string value for the property.
  • Method Details

    • getFixedTarget

      protected TARGET getFixedTarget()
      Support for a fixed reference.
      Overrides:
      getFixedTarget in class AbstractReference<TARGET extends IPropCnr>
      Returns:
      The fixed reference to return in cases the target reference is needed, and also serves as a verification if a new reference should be created or not. Returning null causes normal behavior (default).
    • clearFixedTarget

      protected void clearFixedTarget()
      Called to clear the fixed reference in case the reference is changed. This will revert back to normal processing.

      The "clone" method does not change to be overridden to clear the fixed target as this method is called during cloning.

      Overrides:
      clearFixedTarget in class AbstractReference<TARGET extends IPropCnr>
    • informResolved

      protected void informResolved()
      Called when the property has been resolved. Subclasses override this method to implement some behavior. The default implementation performs nothing, i.e. there is no need to call super.informResolved().
      Overrides:
      informResolved in class AbstractReference<TARGET extends IPropCnr>
    • informError

      protected void informError()
      Called when the property has an error. Subclasses override this method to implement some behavior. The default implementation performs nothing, i.e. there is no need to call super.informError().
      Overrides:
      informError in class AbstractReference<TARGET extends IPropCnr>
    • informClearError

      protected void informClearError()
      Called when the property has been cleared from error. Subclasses override this method to implement some behavior. The default implementation performs nothing, i.e. there is no need to call super.informClearError().
      Overrides:
      informClearError in class AbstractReference<TARGET extends IPropCnr>
    • onReferenceDisposed

      protected void onReferenceDisposed()
      Called when the reference is disposed of.
      Overrides:
      onReferenceDisposed in class AbstractReference<TARGET extends IPropCnr>
    • informReference

      protected void informReference()
      Called when the reference may have changed.

      Subclasses can override this method to perform other functionality.

    • virtualize

      protected final FixedVirtualizedAbstractReference<TARGET> virtualize(IAppSessionGyro appGyro, IClientSessionGyro clientGyro, VirtualSpace virtualSpace) throws CloneNotSupportedException, PropException
      Call this method to "virtualize" a property tree. This method is used at runtime in the Server for the application session of virtual instances of VirtualSpace, but also virtual instances of panels, for the individual client session. The VirtualSpace is virtualized once for the application session and is shared for parallel client sessions.

      This method is similar to cloning, but enables references that are already resolved to remain if they point to a shared instance, e.g. the VirtualSpace pointing to its participants in the application property container shared instance, or a panel with references to text IDs, assets, etc.

      Overrides:
      virtualize in class GProp<ReferenceString>
      Parameters:
      appGyro - The application gyro instance performing the virtualization.
      clientGyro - The client gyro session, can be null if not initialized from the client gyro.
      virtualSpace - The virtualized VirtualSpace.
      Returns:
      The virtualized property.
      Throws:
      CloneNotSupportedException - If a subclass doesn't allow cloning, e.g. the client properties.
      PropException - For property errors during the virtualization.
      IllegalStateException - IllegalStateException if the property is in an invalid state, e.g. in virtualizing state or if in
    • onVirtualizationCompleted

      protected final void onVirtualizationCompleted(IAppSessionGyro appGyro, IClientSessionGyro clientGyro, VirtualSpace virtualSpace, boolean isPostResolve)
      Called when virtualization completed.

      This method is called to the entire tree of the newly virtualized property container.

      Overrides:
      onVirtualizationCompleted in class GProp<ReferenceString>
      Parameters:
      appGyro - The application gyro instance performing the virtualization.
      clientGyro - The client gyro session, can be null if not initialized from the client gyro.
      virtualSpace - The virtualized VirtualSpace.
      isPostResolve - Flag indicating this call is done after references are attempted to be resolved.
    • paramString

      protected String 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 class AbstractReference<TARGET extends IPropCnr>
      Returns:
      the parameter string of this event.
    • onResolved

      protected void onResolved(TARGET target)
      Called when the target is resolved.
      Parameters:
      target - The target.
    • onBroken

      protected void onBroken(TARGET target)
      Called when the target is broken.
      Parameters:
      target - The target.