Interface Parameter

All Superinterfaces:
Browsable, Extensible, Identifiable, Operable, OsidObject, OsidRule

public interface Parameter extends OsidRule

A parameter is used to map configuration values to an identifier and syntax. The type of the value must be used across all values of the same parameter. The values associated with a parameter should be queried through the ValueLookupSession .

  • Method Details

    • getValueSyntax

      Syntax getValueSyntax()
      Gets the syntax for the values of this parameter.
      Returns:
      the syntax of the values
      Compliance:
      mandatory - This method must be implemented.
    • getValueCoordinateType

      Type getValueCoordinateType()
      Gets the type of the value if the syntax is a coordinate.
      Returns:
      the type of the values
      Throws:
      IllegalStateException - getValueSyntax() != COORDINATE
      Compliance:
      mandatory - This method must be implemented.
    • implementsValueCoordinateType

      boolean implementsValueCoordinateType(Type coordinateType)
      Tests if the coordinate supports the given coordinate Type .
      Parameters:
      coordinateType - a coordinate type
      Returns:
      true if the coordinate values associated with this parameter implement the given coordinate Type , false otherwise
      Throws:
      IllegalStateException - getValueSyntax() != COORDINATE
      NullArgumentException - coordinateType is null
      Compliance:
      mandatory - This method must be implemented.
    • getValueHeadingType

      Type getValueHeadingType()
      Gets the type of the value if the syntax is a heading.
      Returns:
      the type of the values
      Throws:
      IllegalStateException - getValueSyntax() != HEADING
      Compliance:
      mandatory - This method must be implemented.
    • implementsValueHeadingType

      boolean implementsValueHeadingType(Type headingType)
      Tests if the heading supports the given heading Type .
      Parameters:
      headingType - a heading type
      Returns:
      true if the heading values associated with this parameter implement the given heading Type , false otherwise
      Throws:
      IllegalStateException - getValueSyntax() != HEADING
      NullArgumentException - headingType is null
      Compliance:
      mandatory - This method must be implemented.
    • getValueObjectType

      Type getValueObjectType()
      Gets the type of the value if the syntax is an object.
      Returns:
      the type of the values
      Throws:
      IllegalStateException - getValueSyntax() != OBJECT
      Compliance:
      mandatory - This method must be implemented.
    • implementsValueObjectType

      boolean implementsValueObjectType(Type valueType)
      Tests if the object supports the given Type .This method should be checked before retrieving the object value.
      Parameters:
      valueType - a type
      Returns:
      true if the obect values associated with this parameter implement the given Type , false otherwise
      Throws:
      IllegalStateException - getValueSyntax() != OBJECT
      NullArgumentException - valueType is null
      Compliance:
      mandatory - This method must be implemented.
    • getValueSpatialUnitRecordType

      Type getValueSpatialUnitRecordType()
      Gets the type of the value if the syntax is a spatial unit.
      Returns:
      the type of the values
      Throws:
      IllegalStateException - getValueSyntax() != SPATIALUNIT
      Compliance:
      mandatory - This method must be implemented.
    • implementsValueSpatialUnitRecordType

      boolean implementsValueSpatialUnitRecordType(Type spatialUnitRecordType)
      Tests if the spatial unit supports the given record Type .
      Parameters:
      spatialUnitRecordType - a spatial unit record type
      Returns:
      true if the spatial unit values associated with this parameter implement the given record Type , false otherwise
      Throws:
      IllegalStateException - getValueSyntax() != SPATIALUNIT
      NullArgumentException - spatialUnitRecordTYpe is null
      Compliance:
      mandatory - This method must be implemented.
    • getValueVersionScheme

      Type getValueVersionScheme()
      Gets the type of the value if the syntax is a version.
      Returns:
      the type of the values
      Throws:
      IllegalStateException - getValueSyntax() != VERSION
      Compliance:
      mandatory - This method must be implemented.
    • implementsValueVersionScheme

      boolean implementsValueVersionScheme(Type versionType)
      Tests if the version supports the given version Type .
      Parameters:
      versionType - a version type
      Returns:
      true if the version values associated with this parameter implement the given version Type , false otherwise
      Throws:
      IllegalStateException - getValueSyntax() != VERSION
      NullArgumentException - versionType is null
      Compliance:
      mandatory - This method must be implemented.
    • areValuesShuffled

      boolean areValuesShuffled()
      Tests if if the values assigned to this parameter will be shuffled or values are sorted by index.
      Returns:
      true if the values are shuffled, false otherwise
      Compliance:
      mandatory - This method must be implemented.
    • getParameterRecord

      ParameterRecord getParameterRecord(Type parameterRecordType) throws OperationFailedException
      Gets the parameter record corresponding to the given Parameter record Type . This method is used to retrieve an object implementing the requested record. The parameterRecordType may be the Type returned in getRecordTypes() or any of its parents in a Type hierarchy where hasRecordType(parameterRecordType) is true .
      Parameters:
      parameterRecordType - the type of parameter record to retrieve
      Returns:
      the parameter record
      Throws:
      NullArgumentException - parameterRecordType is null
      OperationFailedException - unable to complete request
      UnsupportedException - hasRecordType(parameterRecordType) is false
      Compliance:
      mandatory - This method must be implemented.