|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
RelationalProperty is a property which defines a binary relation over the set of its values.
The RelationalProperty
interface declares methods allowing to query algebraic relational
properties (reflexivity, symmetry and transitivity).
It also defines contains(Object dom, Object rng)
method which checks if a pair of property values
is related given a particular property definition.
The algebraic definitions of relational properties used thereafter adhere to the definitions given at the Binary Relation article of Wikipedia.
RelationalOperator
,
RelationalOperatorsRegistry
Method Summary | |
boolean |
contains(java.lang.Object dom,
java.lang.Object rng)
Query whether two property values are related in terms of a given relational property. |
boolean |
isAntisymmetric()
Antisymmetry check. |
boolean |
isAsymetric()
Asymetry check. |
boolean |
isIrreflexive()
Irreflexivity check. |
boolean |
isReflexive()
Reflexivity check. |
boolean |
isSymmetric()
Symmetry check. |
boolean |
isTransitive()
Transitivity check. |
Methods inherited from interface cz.cuni.versatile.api.Property |
getLocalName, getNamespace, getSeparator, getType, getUniqueName |
Method Detail |
public boolean isReflexive()
for all x: contains(x, x) = true
(An opposite to irreflexive property.)
true
if a particular relational property is reflexivepublic boolean isIrreflexive()
for all x: contains(x, x) = false
(An opposite to reflexive property.)
true
if a particular relational property is irreflexivepublic boolean isSymmetric()
for all x,y: (contains(x, y) = true) -> (contains(y, x) = true)
true
if a particular relational property is symmetricpublic boolean isAntisymmetric()
for all x,y: ((contains(x, y) = true and contains(y, x) = true) -> x = y
true
if a particular relational property is antisymmetricpublic boolean isAsymetric()
for all x,y: (contains(x, y) = true) -> (contains(y, x) = false)
true
if a particular relational property is asymmetricpublic boolean isTransitive()
for all x,y,z: (contains(x, y) = true and contains(y, z) = true) -> (contains(x, z) = true)
true
if a particular relational property is transitivepublic boolean contains(java.lang.Object dom, java.lang.Object rng)
The contains()
method must adhere to the relational properties advertised
in terms of the is*()
methods. If the behavior of the contains()
method is not consistent
with the is*()
query methods, the implementation of the relational property is considered
a defective implementation.
When testing/validating relational properties,
one may try to employ relational closure operators, apply them on the the property and measure
whether the property's contains()
gives the same results as the contains()
method of the instance closure operators were applied to.
dom
- the first member of the ordered pair (a member of the "domain" set)rng
- the second member of the ordered pair (a member of the "range" set)
true
is an ordered pair [dom, rng]
is a member of the binary relation
corresponding to a given RelationalProperty
RelationalOperator
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |