Class DeclarationElement

java.lang.Object
de.intarsys.tools.functor.Declaration
de.intarsys.tools.functor.DeclarationElement
All Implemented Interfaces:
IDeclaration, IDeclarationBlock, IDeclarationElement
Direct Known Subclasses:
ArgumentDeclaration

public abstract class DeclarationElement extends Declaration implements IDeclarationElement, IDeclarationBlock
A common superclass for IDeclarationElement instances. This one has a very simple implementation for modifiers. Only the presence of the modifier string fragment in declared modifier string is checked.
  • Constructor Details

    • DeclarationElement

      public DeclarationElement(Object declarationContext, String name, String modifiers)
    • DeclarationElement

      public DeclarationElement(Object declarationContext, String name, String modifiers, IDeclaration[] nestedDeclarations)
  • Method Details

    • getDeclarations

      public IDeclaration[] getDeclarations()
      Description copied from interface: IDeclarationBlock
      The array of IDeclaration instances in this block.
      Specified by:
      getDeclarations in interface IDeclarationBlock
      Returns:
      The array of IDeclaration instances in this block.
    • getName

      public String getName()
      Description copied from interface: IDeclarationElement
      An optional name for the declaration element.
      Specified by:
      getName in interface IDeclarationElement
      Returns:
      An optional name for the declaration element.
    • hasModifier

      public boolean hasModifier(String modifier)
      Description copied from interface: IDeclarationElement
      true if the declaration has the requested modifier.

      An implementation is free to support modifiers and define their respective semantics.

      An example for a modifier may be "persistent" to indicate the implementation should store argument values to be able to present them again in a later call (in a wizard for example).

      Specified by:
      hasModifier in interface IDeclarationElement
      Parameters:
      modifier - The modifier name.
      Returns:
      true if the declaration has the requested modifier.
    • isBlock

      public boolean isBlock()
      Description copied from interface: IDeclaration
      true if this declaration has child elements itself.

      A IDeclarationElement may be a IDeclarationBlock, supporting nested declarations. You should not use "instanceof IDeclarationBlock" to check this behavior but this method.

      Specified by:
      isBlock in interface IDeclaration
      Overrides:
      isBlock in class Declaration
      Returns:
      true if this declaration has child elements itself.
    • size

      public int size()
      Description copied from interface: IDeclarationBlock
      The number of declarations in this block.
      Specified by:
      size in interface IDeclarationBlock
      Returns:
      The number of declarations in this block.
    • toString

      public String toString()
      Overrides:
      toString in class Object