Class AbstractVSVariable<VSCOMP extends VSComponent,REFTYPE extends VSRelativeReference<VSCOMP>>

java.lang.Object
com.iizix.prop.GProp<GProp<?>[]>
com.iizix.prop.PropCnr
com.iizix.prop.vs.AbstractVSVariable<VSCOMP,REFTYPE>
All Implemented Interfaces:
EventListener, IGProp<GProp<?>[]>, IPropCnr, Cloneable
Direct Known Subclasses:
InputVariable, OutputColumn, OutputTable, OutputVariable, ResultSetColumnProp, URLInputParameter

public abstract class AbstractVSVariable<VSCOMP extends VSComponent,REFTYPE extends VSRelativeReference<VSCOMP>> extends PropCnr
Class that holds a single VS "variable" mapping of a certain type. Two properties are handled by this abstract class, i.e. the Atom.NAME of the variable mapped, and the Atom.REFERENCE that holds the VSRelativeReference. A parent property to this container must return a VSReference instance that all variables are relative to. E.g. the DataBase ResultSet has its own VirtualSpace for output and the DataBase input with its variables has another.
Author:
Christopher Mindus
  • Constructor Details

    • AbstractVSVariable

      public AbstractVSVariable()
      Creates a VSVariable property container with the specified name with a null value.
    • AbstractVSVariable

      public AbstractVSVariable(Atom propertyAtom)
      Creates a VSVariable property container with the specified name with a null value.
      Parameters:
      propertyAtom - the property atom.
  • Method Details

    • clone

      Clones this VSVariable instance.
      Overrides:
      clone in class PropCnr
    • setVariableName

      public boolean setVariableName(String name)
      Sets the name of the variable.
      Parameters:
      name - The name.
      Returns:
      true for changed, false for no change.
    • getVariableName

      public String getVariableName()
      Gets the name of the variable.
      Returns:
      The variable name, or null if not defined.
    • getVSVariableReference

      public REFTYPE getVSVariableReference()
      Gets the VitualSpace component reference.
      Returns:
      The VS Reference, or null if not yet defined.
    • getVSTarget

      public VSCOMP getVSTarget()
      Gets the VS target.
      Returns:
      The VS target, or null if not defined or not resolved.
    • getVSPropertyClass

      public abstract Class<VSCOMP> getVSPropertyClass()
      Gets the class wanted for the VS component being referenced.
      Returns:
      VSField.class, VSColumnHeader.class or VSTable.class.
    • getVSReferenceClass

      public abstract Class<REFTYPE> getVSReferenceClass()
      Gets the class wanted for VS references.
      Returns:
      VSFieldReference.class, VSColumnReference.class or VSTableReference.class.