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 Detail

      • 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