Interface OperationType

All Superinterfaces:
PropertyType

public interface OperationType extends PropertyType
The type of operations to be invoked on an attribute.

Invoking an operation on an attribute is used to calculate a derived quantity or update attribute state. OperationType is used to define the required parameters and expected result for an Operation.

Author:
Jody Garnett, Refractions Research, Inc.
  • Method Details

    • getSuper

      OperationType getSuper()
      Access to super type information.

      The super type of an operation provides additional restrictions and description for this operation.

      Specified by:
      getSuper in interface PropertyType
      Returns:
      super type
    • isAbstract

      boolean isAbstract()
      Indicate that this OperationType may not be used directly.

      This indicates that a sub type will need to actually define the operation meaning here. As an example a graph system could have an Edge that would have "related" operation returning that was abstract, and a sub type road would define "related" based on touches, or "contains" or "common vertex".

      Specified by:
      isAbstract in interface PropertyType
      Returns:
      true if the type is abstract, otherwise false.
    • getTarget

      AttributeType getTarget()
      AttributeType this operation type can function against.
    • getResult

      AttributeType getResult()
      Indicates the expected result type, may be null.
      Returns:
      expected result type, may be null
    • getParameters

      List<AttributeType> getParameters()
      We need the following AttributeTypes as parameters.

      Note we do not need AttributeDescriptors here as parameters are ordered, so name is not needed.

      Returns:
      indicates paramters required for operation
    • getRestrictions

      List<Filter> getRestrictions()
      List of restrictions used to limit the allowable returned value.
      Specified by:
      getRestrictions in interface PropertyType
      Returns:
      Restrictions on valid return values