Interface NilOperator<R>

Type Parameters:
R - the type of resources (e.g. Feature) to filter.
All Superinterfaces:
ComparisonOperator<R>, Filter<R>, Predicate<R>

@UML(identifier="NilOperator", specification=ISO_19143) public interface NilOperator<R> extends ComparisonOperator<R>
An operator that evaluates if the value of an expression is nil. The difference with NullOperator is that a value should exist but cannot be provided for the reason given by getNilReason(). A nil value is not necessarily null; implementations are free to use placeholders.
Since:
3.1
  • Method Details

    • getOperatorType

      default ComparisonOperatorName getOperatorType()
      Returns the nature of the comparison. The default implementation returns PROPERTY_IS_NIL.
      Specified by:
      getOperatorType in interface ComparisonOperator<R>
      Specified by:
      getOperatorType in interface Filter<R>
      Returns:
      the nature of the comparison.
    • getExpressions

      @UML(identifier="expression", obligation=MANDATORY, specification=ISO_19143) List<Expression<? super R,?>> getExpressions()
      Returns the expression whose value will be checked for nil.
      Specified by:
      getExpressions in interface Filter<R>
      Returns:
      a list of size 1 containing the expression to test for nil value.
    • getNilReason

      @UML(identifier="nilReason", obligation=OPTIONAL, specification=ISO_19143) default Optional<String> getNilReason()
      Returns the reason why the value is nil. Possible reasons are:
      • inapplicable — there is no value.
      • template — the value will be available later.
      • missing — the correct value is not readily available to the sender of this data. Furthermore, a correct value may not exist.
      • unknown — the correct value is not known to, and not computable by, the sender of this data. However, a correct value probably exists..
      • withheld — the value is not divulged.
      • Other strings at implementation choice.
      Returns:
      the reason why the value is nil, or empty for any reason.