cz.cuni.versatile.api
Interface PropertyOperator

All Known Implementing Classes:
PropertyOperators

public interface PropertyOperator

PropertyOperator interface represents a relational or a functional operator used in PropertyPredicate to express meta-data constraints and preferences.

See Also:
PropertyPredicate

Method Summary
 int getId()
          The unique ID of the property operator.
 java.lang.String getName()
          A human-readable property operator name - just for logging and debugging.
 boolean isAssertive()
          Flag whether the operator is assertive or whether it allows for an approximate matching (fall-back, constraint relaxing)
 boolean isExtrinsic()
          Flag whether the operator is extrinsic Extrinsic operators rely on the relations externally provided by the properties (e.g.
 boolean isIntrinsic()
          Flag whether the operator is intrinsic.
 

Method Detail

getId

public int getId()
The unique ID of the property operator. Used for manipulating the property predicates programmatically (to support switch/case statement).

Returns:
the unique ID of the property operator

getName

public java.lang.String getName()
A human-readable property operator name - just for logging and debugging.

Returns:
a human-readable property operator name.

isIntrinsic

public boolean isIntrinsic()
Flag whether the operator is intrinsic. Intrinsic operators use methods of the actual property values for comparison, so they rely on the existing methods of Java objects (e.g. Object.equals() or Comparable.compareTo())

Remarks: An operator is either intrinsic or extrinsic, never both.

Returns:
true is the property operator is intrinsic

isExtrinsic

public boolean isExtrinsic()
Flag whether the operator is extrinsic Extrinsic operators rely on the relations externally provided by the properties (e.g. OrderProperty, Equivalence)

Remarks: An operator is either intrinsic or extrinsic, never both.

Returns:
true is the property operator is extrinsic

isAssertive

public boolean isAssertive()
Flag whether the operator is assertive or whether it allows for an approximate matching (fall-back, constraint relaxing)

Returns:
true if the operator does not allow for any constraint relaxing