Class VirtualsContainer.VContainer

java.lang.Object
com.iizix.prop.GProp<GProp<?>[]>
com.iizix.prop.PropCnr
com.iizix.server.app.VirtualsContainer.VContainer
All Implemented Interfaces:
EventListener, IGProp<GProp<?>[]>, IPropCnr, Cloneable
Enclosing class:
VirtualsContainer<PROPCNR extends PropCnr>

protected class VirtualsContainer.VContainer extends PropCnr
The Virtual property container.
  • Method Details

    • isPropRoot

      public final boolean isPropRoot()
      Checks if this is a root property container. It is overridden by the root property.
      Specified by:
      isPropRoot in interface IGProp<GProp<?>[]>
      Overrides:
      isPropRoot in class GProp<GProp<?>[]>
      Returns:
      true for the root.
    • 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).
      Specified by:
      isPropReferenceTreeValid in interface IGProp<GProp<?>[]>
      Overrides:
      isPropReferenceTreeValid in class GProp<GProp<?>[]>
      Returns:
      Always true.
    • isPropRootTreeModificationsAllowed

      protected boolean isPropRootTreeModificationsAllowed()
      Checking if a root property is allowed to be modified even after loading has completed.

      Override this method to return another value than false.

      Overrides:
      isPropRootTreeModificationsAllowed in class GProp<GProp<?>[]>
      Returns:
      Flag indicating that the tree of properties below this container can be modified.
    • isPropRootLoading

      public final boolean isPropRootLoading()
      Checks if the root property container is currently loading properties from Jar or files to avoid reference checking until the end.
      Overrides:
      isPropRootLoading in class GProp<GProp<?>[]>
      Returns:
      Always false.
    • 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 of the information.
      Returns:
      Name string if this is the root as "project:" for the Designer, and "" for the Server, null otherwise.
    • getChildReferencePropName

      public String getChildReferencePropName(GProp<?> child)
      Gets the parent's reference property name for this property.
      Overrides:
      getChildReferencePropName in class GProp<GProp<?>[]>
      Parameters:
      child - The child requesting the name.
      Returns:
      The reference of the child.
    • onInsertProp

      protected void onInsertProp(GProp<?> aProperty, int index, boolean replace, boolean isCloning, PropMgr propMgr, boolean isMoving) throws PropException
      Method called when the internal function insertProp is called to verify that this is allowed.

      This method might be removed in the future and is intended to verify the state of the virtual properties.

      Overrides:
      onInsertProp in class PropCnr
      Parameters:
      aProperty - The property to insert.
      index - Index where to insert the property.
      replace - Flag indicating if the value should be replaced or not.
      isCloning - Flag indicating this property is being cloned.
      propMgr - The property manager for remote change, null for local.
      isMoving - Flag indicating the property is moved.
      Throws:
      PropException - when the property has a duplicate property name or if structural changes in containers is prohibited due to creation-ship of container and who is requesting the structural change.
    • onPropRemoved

      protected void onPropRemoved(GProp<?> prop, PropMgr propMgr, boolean isMoving)
      Called when a property is removed in this container, before the event is fired, but after the property has been removed.
      Overrides:
      onPropRemoved in class PropCnr
      Parameters:
      prop - The property being removed.
      propMgr - The property manager, null for local.
      isMoving - Moving flag, i.e. the property is moved within containers.
    • onEventSelf

      public void onEventSelf(GEvent event)
      Event processing, used to verify events.
      Specified by:
      onEventSelf in interface IGProp<GProp<?>[]>
      Overrides:
      onEventSelf in class GProp<GProp<?>[]>
      Parameters:
      event - The property event.
    • getEnvironment

      public EnvProps getEnvironment()
      Gets the environment properties.
      Specified by:
      getEnvironment in interface IGProp<GProp<?>[]>
      Overrides:
      getEnvironment in class GProp<GProp<?>[]>
      Returns:
      The EnvProps for the client environment.
    • getPropRootPropMgr

      public 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<?>[]>
      Overrides:
      getPropRootPropMgr in class GProp<GProp<?>[]>
      Returns:
      The Property Manager, or null when not attached to a root.
    • getPropFromPath

      public GProp<?> getPropFromPath(String path)
      Finds a property in the tree of the requested name from a path specification, i.e. a string divided by "/" for child properties, e.g. "component/host/flag" would perhaps find the grand child "flag" property in the child "host" property located in the "component" property.

      The "part" as ".." specifies the parent property, if any, otherwise null is returned.

      The path may start with "project:/path" (for the Designer) or "/path", in which case the path is taken from the root.

      The path may be relative or absolute, with or without a project specification.

      Specified by:
      getPropFromPath in interface IGProp<GProp<?>[]>
      Overrides:
      getPropFromPath in class GProp<GProp<?>[]>
      Parameters:
      path - the path name of the property to locate in the tree.
      Returns:
      GProp the property or null for uninitialized container or the property with specified name is not found.
    • getFocusEngine

      public IFocusEngine getFocusEngine(IFocusComp comp)
      Locates the focus engine instance for the specified component.
      Specified by:
      getFocusEngine in interface IPropCnr
      Overrides:
      getFocusEngine in class PropCnr
      Parameters:
      comp - The component requesting the focus engine.
      Returns:
      The focus engine instance, or null if not found.
    • getPropFromReference

      public GProp<?> getPropFromReference(GProp<?> requestor, String reference)
      Internal function for getPropFromReference(reference).

      Gets a property from a reference name. This can be called from any property in the property tree, and will direct the request to the root property.

      Overrides:
      getPropFromReference in class GProp<GProp<?>[]>
      Parameters:
      requestor - The requestor.
      reference - The reference string.
      Returns:
      The property with the reference in question, or null if not found.
    • 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 of the information.
      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.