|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
RelationalOperatorsRegistry
is a generic class factory
allowing to register custom implementations of relational operators
for individual relational properties.
RelationalProperty
Method Summary | |
InverseOf |
getInverseOf(java.lang.String uniqueName)
Returns a InverseOf implementation for a given relational property identified by its uniqueName . |
ReflexiveClosure |
getReflexiveClosure(java.lang.String uniqueName)
Returns a ReflexiveClosure implementation for a given relational property identified by its uniqueName . |
SymmetricClosure |
getSymmetricClosure(java.lang.String uniqueName)
Returns a SymmetricClosure implementation for a given relational property identified by its uniqueName . |
TotalOrder |
getTotalOrder(java.lang.String uniqueName)
Returns a TotalOrder implementation for a given relational property identified by its uniqueName . |
TransitiveClosure |
getTransitiveClosure(java.lang.String uniqueName)
Returns a TransitiveClosure implementation for a given relational property identified by its uniqueName . |
void |
registerImplementation(java.lang.String uniqueName,
RelationalOperator implementation)
Register an implementation for one or more relational operators for a given property. |
Method Detail |
public void registerImplementation(java.lang.String uniqueName, RelationalOperator implementation)
uniqueName
instead of an instance of RelationalProperty
in order to avoid the need to physically instantiate all properties for which we want to
configure relational operators with the registry.
In the typical situation, there are generic (property independent) implementations for certain relational operators
(InversOf
, ReflexiveClosure
, SymmetricClosure
and also TotalOrder
), these can be overridden by custom implementations for individual properties if needed.
uniqueName
- a fully qualified name of a relational propertyimplementation
- an implementation of one or more relational operators, Java reflection is used to
determine the set of relational operators the given implementation supports.public ReflexiveClosure getReflexiveClosure(java.lang.String uniqueName) throws UnsupportedPropertyException
ReflexiveClosure
implementation for a given relational property identified by its uniqueName
.
uniqueName
- a fully qualified name of a relational property
UnsupportedPropertyException
- in case there is no implementation of the operator for a given propertypublic SymmetricClosure getSymmetricClosure(java.lang.String uniqueName) throws UnsupportedPropertyException
SymmetricClosure
implementation for a given relational property identified by its uniqueName
.
uniqueName
- a fully qualified name of a relational property
UnsupportedPropertyException
- in case there is no implementation of the operator for a given propertypublic TransitiveClosure getTransitiveClosure(java.lang.String uniqueName) throws UnsupportedPropertyException
TransitiveClosure
implementation for a given relational property identified by its uniqueName
.
uniqueName
- a fully qualified name of a relational property
UnsupportedPropertyException
- in case there is no implementation of the operator for a given propertypublic InverseOf getInverseOf(java.lang.String uniqueName) throws UnsupportedPropertyException
InverseOf
implementation for a given relational property identified by its uniqueName
.
uniqueName
- a fully qualified name of a relational property
UnsupportedPropertyException
- in case there is no implementation of the operator for a given propertypublic TotalOrder getTotalOrder(java.lang.String uniqueName) throws UnsupportedPropertyException
TotalOrder
implementation for a given relational property identified by its uniqueName
.
uniqueName
- a fully qualified name of a relational property
UnsupportedPropertyException
- in case there is no implementation of the operator for a given property
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |