E
- link objectF
- object at left of linkG
- object at right of linkpublic class LinkobjectDefinition<E extends DataObject<E> & LinkobjectInterface<E,F,G>,F extends DataObject<F> & UniqueidentifiedInterface<F>,G extends DataObject<G> & UniqueidentifiedInterface<G>> extends DataObjectPropertyDefinition<E>
DataObjectPropertyDefinition.ExternalFieldByJoinQuery, DataObjectPropertyDefinition.FieldSchemaForDisplay<E extends DataObject<E>>
allexternalfields, externalfieldsbyjoinquery, parentobject
Constructor and Description |
---|
LinkobjectDefinition(DataObjectDefinition<E> parentobject,
DataObjectDefinition<F> leftobjectdefinition,
DataObjectDefinition<G> rightobjectdefinition)
creates the definition of the link object property that turns this data
object into a link between a left data object and a right data object
|
LinkobjectDefinition(DataObjectDefinition<E> parentobject,
DataObjectDefinition<F> leftobjectdefinition,
DataObjectDefinition<G> rightobjectdefinition,
int showleftfieldswithpriority,
int showrightfieldswithpriority)
creates the definition of the link object property that turns this data
object into a link between a left data object and a right data object
|
Modifier and Type | Method and Description |
---|---|
java.util.ArrayList<ExternalFieldSchema<?>> |
generateExternalSchema() |
ConstraintOnLinkObject<F,G>[] |
getAllConstraints()
gets all the constraints at once
|
ConstraintOnLinkObject<F,G> |
getConstraintOnLinkObject(int index)
gets the constraint at the given index
|
int |
getConstraintOnLinkObjectNumber()
gets the number of constraints for the link object
|
FlatFileLoaderColumn<E> |
getFlatFileLoaderColumn(DataObjectDefinition<E> objectdefinition,
java.lang.String[] columnattributes,
PropertyExtractor<E> propertyextractor,
ChoiceValue<ApplocaleChoiceDefinition> locale)
generates the flat file loader for this property
|
protected DataObjectDefinition<F> |
getLeftObjectDefinition() |
UniqueidentifiedDefinition<F> |
getLeftuniqueidentifieddefinition() |
DataObjectDefinition<E> |
getLinkObjectDefinition() |
java.lang.String[] |
getLoaderFieldList() |
java.lang.String[] |
getLoaderFieldSample(java.lang.String name) |
protected DataObjectDefinition<G> |
getRightObjectDefinition() |
UniqueidentifiedDefinition<G> |
getRightuniqueidentifieddefinition() |
UniqueidentifiedDefinition<E> |
getUniqueidentifiedDefinitionForLinkObject()
gets the related uniqueidentified definition
|
QueryCondition |
getUniversalQueryCondition(java.lang.String alias)
each property can define query conditions to be applied by all other
properties on an object.
|
DataObjectElement |
initiateFieldInstance(DataObjectPayload parentpayload) |
boolean |
isMaxOneLinkFromLeft()
if this property is set, only one link is allowed from a given left object
|
boolean |
isReplaceifmorethanonefromleft()
if this property is set, will replace existing link if a link is already
existing from the left object
|
boolean |
isReplaceIfNotUniqueForLeftAndRight()
if this property is set, will replace existing link if new link is created
between two objects
|
boolean |
isUniqueForLeftAndRight()
if the link is unique for left and right, only one link is allowed between
two objects
|
void |
setContraintOnLinkObject(ConstraintOnLinkObject<F,G> constraintonlinkobject)
sets a constraint on link object (restricts the objects that can be linked
together
|
void |
setDependentDefinitionUniqueidentified(UniqueidentifiedDefinition<E> uniqueidentifieddefinition)
sets the dependent property unique identified for the link object
|
DataObjectPropertyDefinition.FieldSchemaForDisplay<E>[] |
setFieldSchemaToDisplay()
each property should define the list of fields to display as read-only fields
of the object.
|
void |
setGenericsLeftobjectforlinkProperty(UniqueidentifiedDefinition<F> leftuniqueidentifieddefinition)
sets the related unique identified property for the left object
|
void |
setGenericsRightobjectforlinkProperty(UniqueidentifiedDefinition<G> rightuniqueidentifieddefinition)
sets the related unique identified property for the right object
|
void |
setMaxOneLinkFromLeft(boolean replaceifmorethanone)
if this property is set, only one link is authorized from left object
|
void |
setUniqueForLeftAndRight(boolean replaceifmorethanone)
if this parameter is set, only one link is allowed between two objects
|
addStoredFieldSchema, getAllExternalFields, getDataObjectFieldDefinition, getExternalFieldsByJoinQueries, getFieldMarker, getParentObject, getTransientLoaderHelper, initiateExternalFieldSchema
addFieldSchema, addIndex, dropfieldnamelist, getDefinition, getFieldSchema, getFieldSchemaByName, getFieldSchemaNumber, getIndexAt, getIndexNumber, getTriggerlist, isFormulaElement, setTriggerOnUpdate
changeName, cleanName, equals, getName
public LinkobjectDefinition(DataObjectDefinition<E> parentobject, DataObjectDefinition<F> leftobjectdefinition, DataObjectDefinition<G> rightobjectdefinition, int showleftfieldswithpriority, int showrightfieldswithpriority)
parentobject
- parent object definitionleftobjectdefinition
- definition of the left object for linkrightobjectdefinition
- definition of the right object for linkshowleftfieldswithpriority
- if set, left fields above the priority are
shown on the linkshowrightfieldswithpriority
- if set, right fields above the priority
are shown on the linkpublic LinkobjectDefinition(DataObjectDefinition<E> parentobject, DataObjectDefinition<F> leftobjectdefinition, DataObjectDefinition<G> rightobjectdefinition)
parentobject
- parent object definitionleftobjectdefinition
- definition of the left object for linkrightobjectdefinition
- definition of the right object for linkprotected DataObjectDefinition<G> getRightObjectDefinition()
protected DataObjectDefinition<F> getLeftObjectDefinition()
public DataObjectDefinition<E> getLinkObjectDefinition()
public UniqueidentifiedDefinition<E> getUniqueidentifiedDefinitionForLinkObject()
public void setMaxOneLinkFromLeft(boolean replaceifmorethanone)
replaceifmorethanone
- true if the link will replace if more than onepublic void setUniqueForLeftAndRight(boolean replaceifmorethanone)
replaceifmorethanone
- true if a new link created will replace the older
onespublic boolean isUniqueForLeftAndRight()
public boolean isReplaceIfNotUniqueForLeftAndRight()
public boolean isMaxOneLinkFromLeft()
public boolean isReplaceifmorethanonefromleft()
public void setContraintOnLinkObject(ConstraintOnLinkObject<F,G> constraintonlinkobject)
constraintonlinkobject
- the constraintpublic ConstraintOnLinkObject<F,G> getConstraintOnLinkObject(int index)
index
- an index between 0 (included) and
getConstraintOnLinkObjectNumber (excluded)public int getConstraintOnLinkObjectNumber()
public void setGenericsLeftobjectforlinkProperty(UniqueidentifiedDefinition<F> leftuniqueidentifieddefinition)
leftuniqueidentifieddefinition
- unique identified property for the left
objectpublic void setGenericsRightobjectforlinkProperty(UniqueidentifiedDefinition<G> rightuniqueidentifieddefinition)
rightuniqueidentifieddefinition
- unique identified property for the
right objectpublic UniqueidentifiedDefinition<F> getLeftuniqueidentifieddefinition()
public UniqueidentifiedDefinition<G> getRightuniqueidentifieddefinition()
public void setDependentDefinitionUniqueidentified(UniqueidentifiedDefinition<E> uniqueidentifieddefinition)
uniqueidentifieddefinition
- unique identified property for the left objectpublic ConstraintOnLinkObject<F,G>[] getAllConstraints()
public java.util.ArrayList<ExternalFieldSchema<?>> generateExternalSchema()
generateExternalSchema
in class DataObjectPropertyDefinition<E extends DataObject<E> & LinkobjectInterface<E,F,G>>
public DataObjectPropertyDefinition.FieldSchemaForDisplay<E>[] setFieldSchemaToDisplay()
DataObjectPropertyDefinition
setFieldSchemaToDisplay
in class DataObjectPropertyDefinition<E extends DataObject<E> & LinkobjectInterface<E,F,G>>
public DataObjectElement initiateFieldInstance(DataObjectPayload parentpayload)
initiateFieldInstance
in class DataObjectElementDefinition<FieldSchema,E extends DataObject<E> & LinkobjectInterface<E,F,G>>
parentpayload
- the object payloadpublic QueryCondition getUniversalQueryCondition(java.lang.String alias)
DataObjectPropertyDefinition
getUniversalQueryCondition
in class DataObjectPropertyDefinition<E extends DataObject<E> & LinkobjectInterface<E,F,G>>
alias
- alias for which the query condition should be created;public FlatFileLoaderColumn<E> getFlatFileLoaderColumn(DataObjectDefinition<E> objectdefinition, java.lang.String[] columnattributes, PropertyExtractor<E> propertyextractor, ChoiceValue<ApplocaleChoiceDefinition> locale)
DataObjectPropertyDefinition
getFlatFileLoaderColumn
in class DataObjectPropertyDefinition<E extends DataObject<E> & LinkobjectInterface<E,F,G>>
objectdefinition
- definition of the objectcolumnattributes
- column attributespropertyextractor
- an extractor providing this property from the objectlocale
- locale if loaded by CSVpublic java.lang.String[] getLoaderFieldList()
getLoaderFieldList
in class DataObjectPropertyDefinition<E extends DataObject<E> & LinkobjectInterface<E,F,G>>
public java.lang.String[] getLoaderFieldSample(java.lang.String name)
getLoaderFieldSample
in class DataObjectPropertyDefinition<E extends DataObject<E> & LinkobjectInterface<E,F,G>>
name
- name as returned by the function getLoaderFieldList