E
- left data object for the linkF
- right data object for the linkG
- class of the payload of the attribute being compared on the two
objectspublic class ConstraintOnLinkedObjectSimilarAttribute<E extends DataObject<E>,F extends DataObject<F>,G> extends ConstraintOnLinkObject<E,F>
Constructor and Description |
---|
ConstraintOnLinkedObjectSimilarAttribute(DataExtractor<E,G> leftobjectextractor,
DataExtractor<F,G> rightobjectextractor,
DataExtractorFromObject<E,G> leftobjectextractorfromobject,
DataExtractorFromObject<F,G> rightobjectextractorfromobject,
DataSetterFromObject<E,G> leftobjectsetter,
DataSetterFromObject<F,G> rightobjectsetter,
StoredFieldSchema<G> leftattributemarker,
StoredFieldSchema<G> rightattributemarker,
java.lang.String errormessagestart)
creates a constraint on link object with similar attribute
|
Modifier and Type | Method and Description |
---|---|
boolean |
checklinkvalid(DataObjectId<E> leftobjectid,
DataObjectId<F> rightobjectid)
checks if it is authorized to set a link between two objects with their id
|
boolean |
checklinkvalid(E leftobject,
F rightobject)
checks if it is authorized to set a link between two objects
|
void |
enrichRightObjectAfterCreation(F rightobjectbeforecreation,
E leftobject)
this method will enrich the right object after it has been created in case
right objects are created when loading links
|
QueryCondition |
generateQueryFilter(TableAlias maintablealias,
DataObjectId<E> leftobjectid)
generates a filter to show only valid objects when querying for potential
right objects
|
QueryCondition |
generateReverseQueryFilter(TableAlias maintablealias,
DataObjectId<F> rightobjectid)
generates a filter to show only valid objects when querying for potential
left objects
|
java.lang.String |
getInvalidLinkErrorMessage(E leftobject,
F rightobject)
gets a detailed error message if link is invalid
|
boolean |
isLeftForLinkLoaderManaged()
checks if the constraint allows to load links
|
public ConstraintOnLinkedObjectSimilarAttribute(DataExtractor<E,G> leftobjectextractor, DataExtractor<F,G> rightobjectextractor, DataExtractorFromObject<E,G> leftobjectextractorfromobject, DataExtractorFromObject<F,G> rightobjectextractorfromobject, DataSetterFromObject<E,G> leftobjectsetter, DataSetterFromObject<F,G> rightobjectsetter, StoredFieldSchema<G> leftattributemarker, StoredFieldSchema<G> rightattributemarker, java.lang.String errormessagestart)
leftobjectextractor
- extractor of the attribute from the
left object idrightobjectextractor
- extractor of the attribute from the
right object idleftobjectextractorfromobject
- extractor of the attribute from the
left object (without persistence call)rightobjectextractorfromobject
- extractor of the attribute from the
right object (without persistence call)leftobjectsetter
- setter on the left object for the
attributerightobjectsetter
- setter on the right object for the
attributeleftattributemarker
- left attribute markerrightattributemarker
- right attribute markererrormessagestart
- start of the error message for
traceability purposespublic boolean checklinkvalid(DataObjectId<E> leftobjectid, DataObjectId<F> rightobjectid)
ConstraintOnLinkObject
checklinkvalid
in class ConstraintOnLinkObject<E extends DataObject<E>,F extends DataObject<F>>
leftobjectid
- id of the left objectrightobjectid
- if of the right objectpublic QueryCondition generateQueryFilter(TableAlias maintablealias, DataObjectId<E> leftobjectid)
ConstraintOnLinkObject
generateQueryFilter
in class ConstraintOnLinkObject<E extends DataObject<E>,F extends DataObject<F>>
maintablealias
- alias to generate the condition forleftobjectid
- id of the left objectpublic QueryCondition generateReverseQueryFilter(TableAlias maintablealias, DataObjectId<F> rightobjectid)
ConstraintOnLinkObject
generateReverseQueryFilter
in class ConstraintOnLinkObject<E extends DataObject<E>,F extends DataObject<F>>
maintablealias
- alias to generate the condition forrightobjectid
- id of the right objectpublic boolean checklinkvalid(E leftobject, F rightobject)
ConstraintOnLinkObject
checklinkvalid
in class ConstraintOnLinkObject<E extends DataObject<E>,F extends DataObject<F>>
leftobject
- left objectrightobject
- right objectpublic java.lang.String getInvalidLinkErrorMessage(E leftobject, F rightobject)
ConstraintOnLinkObject
getInvalidLinkErrorMessage
in class ConstraintOnLinkObject<E extends DataObject<E>,F extends DataObject<F>>
leftobject
- left objectrightobject
- right objectpublic boolean isLeftForLinkLoaderManaged()
ConstraintOnLinkObject
isLeftForLinkLoaderManaged
in class ConstraintOnLinkObject<E extends DataObject<E>,F extends DataObject<F>>
public void enrichRightObjectAfterCreation(F rightobjectbeforecreation, E leftobject)
ConstraintOnLinkObject
enrichRightObjectAfterCreation
in class ConstraintOnLinkObject<E extends DataObject<E>,F extends DataObject<F>>
rightobjectbeforecreation
- to be implemented if
isLeftForLinkLoaderManaged returns true.leftobject
- left object to enrich data