Class RecordingRootProp

java.lang.Object
com.iizix.prop.GProp<GProp<?>[]>
com.iizix.prop.PropCnr
com.iizigo.term.recording.prop.RecordingRootProp
All Implemented Interfaces:
IPropDesigner, EventListener, IGProp<GProp<?>[]>, IPropCnr, IPropRoot, Cloneable, IAdaptable

public class RecordingRootProp extends PropCnr implements IPropDesigner, IPropRoot
This Recording Root property container holds the recording.
  • Field Details

  • Constructor Details

    • RecordingRootProp

      public RecordingRootProp()
      Creates the capture root property container without a name. The name must be set in all cases using the setPropertyAtom call.
    • RecordingRootProp

      public RecordingRootProp(Atom propertyAtom)
      Creates the capture root property container with the specified name. All system-reserved names for components begins with "$".
      Parameters:
      propertyAtom - the name of the component, unique within it's parent.
  • Method Details

    • getDesigner

      public RecordingDesignerProp getDesigner()
      Gets the Designer Extension for Properties.
      Specified by:
      getDesigner in interface IPropDesigner
      Returns:
      The instance of the Designer Extension.
    • isPropRoot

      public final boolean isPropRoot()
      Check if this is the root property.
      Specified by:
      isPropRoot in interface IGProp<GProp<?>[]>
      Overrides:
      isPropRoot in class GProp<GProp<?>[]>
      Returns:
      true.
    • isPropReferenceTreeValid

      public final boolean isPropReferenceTreeValid()
      Verifies if the tree is valid for reference creation. This method is typically overridden in a root property that has a Property Manager owner that in turn is checked for a particular configuration (e.g. Client-related references such as LabelForReference that does not create references when communicating).

      The code implementation for a root property should be:

           return (!isDisposed() invalid input: '&'invalid input: '&' getPropRootPropMgr()!=null);
       

      Specified by:
      isPropReferenceTreeValid in interface IGProp<GProp<?>[]>
      Specified by:
      isPropReferenceTreeValid in interface IPropRoot
      Overrides:
      isPropReferenceTreeValid in class GProp<GProp<?>[]>
      Returns:
      true if the root property manager is found, false otherwise.
    • getPropRootPropMgr

      public final PropMgr getPropRootPropMgr()
      Gets the Property Manager used for communication for the root container. If this is not the root container, the parent function is called upwards in tree.
      Specified by:
      getPropRootPropMgr in interface IGProp<GProp<?>[]>
      Specified by:
      getPropRootPropMgr in interface IPropRoot
      Overrides:
      getPropRootPropMgr in class GProp<GProp<?>[]>
      Returns:
      The Property Manager, or null when not attached to a root.
    • getRootName

      public String getRootName(GProp<?> requestor)
      Gets and checks if this container is the root. The name returned is in the Editor "module:" and in "" (empty string) when running in the Server.

      When running with assertions, this call throws an assertion error by default, showing that the call is directed to a non-root property container.

      Overrides:
      getRootName in class GProp<GProp<?>[]>
      Parameters:
      requestor - The requestor property.
      Returns:
      Name string if this is the root as "project:" for the Designer, and "" for the Server, null otherwise.
    • getRootFromName

      public PropCnr getRootFromName(GProp<?> requestor, String module)
      Gets the module root for a name. In the Editor, the module is the project, and that root container is returned. In the Server, the module doesn't matter, so the real root returns itself.

      When running with assertions, this call throws an assertion error by default, showing that the call is directed to a non-root property container.

      Overrides:
      getRootFromName in class GProp<GProp<?>[]>
      Parameters:
      requestor - The requestor property.
      module - The module name (without colon), i.e. the project name in the Designer.
      Returns:
      The root property container, or null if this container is not the root, or if the module name is not found. The default implementation returns null.
    • clone

      Clone must be overridden.
      Overrides:
      clone in class PropCnr
      Throws:
      CloneNotSupportedException - If cloning fails.