class DeepaMehtaObjectModelImpl extends Object implements DeepaMehtaObjectModel
Modifier and Type | Field and Description |
---|---|
(package private) ChildTopicsModelImpl |
childTopics |
(package private) EventManager |
em |
(package private) long |
id |
private static String |
LABEL_CHILD_SEPARATOR |
private static String |
LABEL_TOPIC_SEPARATOR |
(package private) Logger |
logger |
(package private) ModelFactoryImpl |
mf |
(package private) PersistenceLayer |
pl |
(package private) String |
typeUri |
(package private) String |
uri |
(package private) SimpleValue |
value |
Constructor and Description |
---|
DeepaMehtaObjectModelImpl(DeepaMehtaObjectModelImpl object) |
DeepaMehtaObjectModelImpl(long id,
String uri,
String typeUri,
SimpleValue value,
ChildTopicsModelImpl childTopics,
PersistenceLayer pl) |
Modifier and Type | Method and Description |
---|---|
private void |
_calculateLabelAndUpdate() |
(package private) void |
_delete() |
(package private) void |
_updateChildTopics(ChildTopicsModelImpl newModel) |
private void |
_updateSimpleValue(SimpleValue newValue) |
private void |
_updateTypeUri(String newTypeUri) |
private void |
_updateUri(String newUri) |
private void |
appendLabel(String label,
StringBuilder builder,
String separator) |
private void |
associateChildTopic(RelatedTopicModel childTopic,
AssociationDefinitionModel assocDef) |
private String |
calculateChildLabel(String assocDefUri) |
(package private) String |
calculateLabel()
Calculates the label for this object model recursively.
|
(package private) void |
calculateLabelAndUpdate()
Calculates the label for this object model and updates it in both, memory (in-place), and DB.
|
(package private) String |
className() |
DeepaMehtaObjectModel |
clone() |
private void |
createAndAssociateChildTopic(RelatedTopicModelImpl childTopic,
AssociationDefinitionModel assocDef) |
private void |
createAssignmentMany(TopicReferenceModelImpl newChildTopic,
AssociationDefinitionModel assocDef) |
private void |
createAssignmentOne(RelatedTopicModelImpl childTopic,
TopicReferenceModelImpl newChildTopic,
AssociationDefinitionModel assocDef,
boolean deleteChildTopic) |
private void |
createChildTopicMany(RelatedTopicModelImpl newChildTopic,
AssociationDefinitionModel assocDef) |
private void |
createChildTopicOne(RelatedTopicModelImpl newChildTopic,
AssociationDefinitionModel assocDef) |
RoleModel |
createRoleModel(String roleTypeUri) |
(package private) void |
delete()
Deletes 1) this DeepaMehta object's child topics (recursively) which have an underlying association definition of
type "Composition Definition" and 2) deletes all the remaining direct associations of this DeepaMehta object.
|
private void |
deleteChildTopicMany(long childTopicId,
AssociationDefinitionModel assocDef,
boolean deleteChildTopic) |
private void |
deleteChildTopicOne(RelatedTopicModelImpl childTopic,
AssociationDefinitionModel assocDef,
boolean deleteChildTopic) |
boolean |
equals(Object o) |
private AssociationDefinitionModel |
getAssocDef(String assocDefUri) |
(package private) List<AssociationModelImpl> |
getAssociations() |
ChildTopicsModelImpl |
getChildTopicsModel() |
(package private) Directive |
getDeleteDirective() |
long |
getId() |
(package private) SimpleValue |
getIndexValue()
Calculates the simple value that is to be indexed for this object.
|
private List<String> |
getLabelAssocDefUris()
Prerequisite: this is a composite model.
|
(package private) DeepaMehtaEvent |
getPostDeleteEvent() |
(package private) DeepaMehtaEvent |
getPostUpdateEvent() |
(package private) DeepaMehtaEvent |
getPreDeleteEvent() |
(package private) DeepaMehtaEvent |
getPreUpdateEvent() |
(package private) DeepaMehtaEvent |
getReadAccessEvent() |
(package private) RelatedTopicModelImpl |
getRelatedTopic(String assocTypeUri,
String myRoleTypeUri,
String othersRoleTypeUri,
String othersTopicTypeUri) |
(package private) List<RelatedTopicModelImpl> |
getRelatedTopics(List assocTypeUris,
String myRoleTypeUri,
String othersRoleTypeUri,
String othersTopicTypeUri) |
(package private) List<RelatedTopicModelImpl> |
getRelatedTopics(String assocTypeUri,
String myRoleTypeUri,
String othersRoleTypeUri,
String othersTopicTypeUri) |
SimpleValue |
getSimpleValue() |
(package private) TypeModel |
getType() |
String |
getTypeUri() |
(package private) Directive |
getUpdateDirective() |
String |
getUri() |
int |
hashCode() |
(package private) void |
indexSimpleValue(IndexMode indexMode)
Indexes the simple value of the given object model according to the given index mode.
|
(package private) DeepaMehtaObject |
instantiate() |
(package private) boolean |
isSimple() |
(package private) DeepaMehtaObjectModel |
loadChildTopics()
Loads the child topics which are not loaded already.
|
private DeepaMehtaObjectModel |
loadChildTopics(AssociationDefinitionModel assocDef)
Recursively loads child topics (model) and updates this attached object cache accordingly.
|
(package private) DeepaMehtaObjectModel |
loadChildTopics(String assocDefUri)
Loads the child topics for the given assoc def, provided they are not loaded already.
|
private String |
objectInfo() |
(package private) void |
postCreate() |
(package private) void |
postDelete() |
(package private) void |
postUpdate(DeepaMehtaObjectModel newModel,
DeepaMehtaObjectModel oldModel) |
(package private) void |
preCreate() |
(package private) void |
preDelete() |
(package private) void |
preUpdate(DeepaMehtaObjectModel newModel) |
private void |
resolveRefAndAssociateChildTopic(TopicReferenceModel childTopicRef,
AssociationDefinitionModel assocDef)
Creates an association between our parent object ("Parent" role) and the referenced topic ("Child" role).
|
void |
set(DeepaMehtaObjectModel object) |
void |
setChildTopicsModel(ChildTopicsModel childTopics) |
private void |
setDefaults() |
void |
setId(long id) |
void |
setSimpleValue(boolean value) |
void |
setSimpleValue(int value) |
void |
setSimpleValue(long value) |
void |
setSimpleValue(SimpleValue value) |
void |
setSimpleValue(String value) |
void |
setTypeUri(String typeUri) |
void |
setUri(String uri) |
(package private) void |
storeSimpleValue()
Stores and indexes the simple value of the specified topic or association model.
|
(package private) void |
storeTypeUri() |
(package private) void |
storeUri() |
org.codehaus.jettison.json.JSONObject |
toJSON() |
String |
toString() |
(package private) void |
update(DeepaMehtaObjectModelImpl newModel) |
private void |
updateAggregationMany(List<RelatedTopicModelImpl> newChildTopics,
AssociationDefinitionModel assocDef) |
private void |
updateAggregationOne(RelatedTopicModelImpl newChildTopic,
AssociationDefinitionModel assocDef) |
private void |
updateChildTopicMany(RelatedTopicModelImpl newChildTopic,
AssociationDefinitionModel assocDef) |
private void |
updateChildTopicOne(RelatedTopicModelImpl newChildTopic,
AssociationDefinitionModel assocDef) |
(package private) void |
updateChildTopics(ChildTopicsModel childTopics) |
(package private) void |
updateChildTopics(RelatedTopicModelImpl newChildTopic,
List<RelatedTopicModelImpl> newChildTopics,
AssociationDefinitionModel assocDef) |
private void |
updateCompositionMany(List<RelatedTopicModelImpl> newChildTopics,
AssociationDefinitionModel assocDef) |
private void |
updateCompositionOne(RelatedTopicModelImpl newChildTopic,
AssociationDefinitionModel assocDef) |
private void |
updateRelatedTopic(RelatedTopicModelImpl childTopic,
RelatedTopicModelImpl newChildTopic) |
private void |
updateRelatingAssociation(RelatedTopicModelImpl childTopic,
RelatedTopicModelImpl newChildTopic) |
(package private) void |
updateSimpleValue(SimpleValue value) |
(package private) void |
updateTypeUri(String typeUri) |
(package private) void |
updateUri(String uri) |
(package private) boolean |
uriChange(String newUri,
String compareUri) |
private static final String LABEL_CHILD_SEPARATOR
private static final String LABEL_TOPIC_SEPARATOR
long id
SimpleValue value
ChildTopicsModelImpl childTopics
EventManager em
DeepaMehtaObjectModelImpl(long id, String uri, String typeUri, SimpleValue value, ChildTopicsModelImpl childTopics, PersistenceLayer pl)
DeepaMehtaObjectModelImpl(DeepaMehtaObjectModelImpl object)
public long getId()
getId
in interface Identifiable
getId
in interface DeepaMehtaObjectModel
public void setId(long id)
setId
in interface DeepaMehtaObjectModel
public String getUri()
getUri
in interface DeepaMehtaObjectModel
public void setUri(String uri)
setUri
in interface DeepaMehtaObjectModel
public String getTypeUri()
getTypeUri
in interface DeepaMehtaObjectModel
public void setTypeUri(String typeUri)
setTypeUri
in interface DeepaMehtaObjectModel
public SimpleValue getSimpleValue()
getSimpleValue
in interface DeepaMehtaObjectModel
public void setSimpleValue(String value)
setSimpleValue
in interface DeepaMehtaObjectModel
public void setSimpleValue(int value)
setSimpleValue
in interface DeepaMehtaObjectModel
public void setSimpleValue(long value)
setSimpleValue
in interface DeepaMehtaObjectModel
public void setSimpleValue(boolean value)
setSimpleValue
in interface DeepaMehtaObjectModel
public void setSimpleValue(SimpleValue value)
setSimpleValue
in interface DeepaMehtaObjectModel
public ChildTopicsModelImpl getChildTopicsModel()
getChildTopicsModel
in interface DeepaMehtaObjectModel
public void setChildTopicsModel(ChildTopicsModel childTopics)
setChildTopicsModel
in interface DeepaMehtaObjectModel
public void set(DeepaMehtaObjectModel object)
set
in interface DeepaMehtaObjectModel
public RoleModel createRoleModel(String roleTypeUri)
createRoleModel
in interface DeepaMehtaObjectModel
public org.codehaus.jettison.json.JSONObject toJSON()
toJSON
in interface JSONEnabled
public DeepaMehtaObjectModel clone()
clone
in interface DeepaMehtaObjectModel
clone
in class Object
DeepaMehtaObject instantiate()
List<AssociationModelImpl> getAssociations()
RelatedTopicModelImpl getRelatedTopic(String assocTypeUri, String myRoleTypeUri, String othersRoleTypeUri, String othersTopicTypeUri)
List<RelatedTopicModelImpl> getRelatedTopics(String assocTypeUri, String myRoleTypeUri, String othersRoleTypeUri, String othersTopicTypeUri)
List<RelatedTopicModelImpl> getRelatedTopics(List assocTypeUris, String myRoleTypeUri, String othersRoleTypeUri, String othersTopicTypeUri)
void storeUri()
void storeTypeUri()
void storeSimpleValue()
void indexSimpleValue(IndexMode indexMode)
Called to index existing topics/associations once an index mode has been added to a type definition.
void updateChildTopics(ChildTopicsModel childTopics)
void _delete()
DeepaMehtaEvent getReadAccessEvent()
DeepaMehtaEvent getPreUpdateEvent()
DeepaMehtaEvent getPostUpdateEvent()
DeepaMehtaEvent getPreDeleteEvent()
DeepaMehtaEvent getPostDeleteEvent()
Directive getUpdateDirective()
Directive getDeleteDirective()
void preCreate()
void postCreate()
void preUpdate(DeepaMehtaObjectModel newModel)
void postUpdate(DeepaMehtaObjectModel newModel, DeepaMehtaObjectModel oldModel)
void preDelete()
void postDelete()
final void update(DeepaMehtaObjectModelImpl newModel)
newModel
- The data to update.
If the URI is null
it is not updated.
If the type URI is null
it is not updated.
If the simple value is null
it is not updated.final void updateTypeUri(String typeUri)
final void updateSimpleValue(SimpleValue value)
final void delete()
Note: deletion of the object itself is up to the subclasses. ### FIXDOC
final void _updateChildTopics(ChildTopicsModelImpl newModel)
final void updateChildTopics(RelatedTopicModelImpl newChildTopic, List<RelatedTopicModelImpl> newChildTopics, AssociationDefinitionModel assocDef)
final DeepaMehtaObjectModel loadChildTopics()
final DeepaMehtaObjectModel loadChildTopics(String assocDefUri)
SimpleValue getIndexValue()
boolean isSimple()
private void setDefaults()
private DeepaMehtaObjectModel loadChildTopics(AssociationDefinitionModel assocDef)
assocDef
- the child topics according to this association definition are loaded.
Note: the association definition must not necessarily originate from the parent object's type definition. It may originate from a facet definition as well.
private void _updateUri(String newUri)
private void _updateTypeUri(String newTypeUri)
private void _updateSimpleValue(SimpleValue newValue)
private void updateCompositionOne(RelatedTopicModelImpl newChildTopic, AssociationDefinitionModel assocDef)
private void updateCompositionMany(List<RelatedTopicModelImpl> newChildTopics, AssociationDefinitionModel assocDef)
private void updateAggregationOne(RelatedTopicModelImpl newChildTopic, AssociationDefinitionModel assocDef)
private void updateAggregationMany(List<RelatedTopicModelImpl> newChildTopics, AssociationDefinitionModel assocDef)
private void updateChildTopicOne(RelatedTopicModelImpl newChildTopic, AssociationDefinitionModel assocDef)
private void updateChildTopicMany(RelatedTopicModelImpl newChildTopic, AssociationDefinitionModel assocDef)
private void updateRelatedTopic(RelatedTopicModelImpl childTopic, RelatedTopicModelImpl newChildTopic)
private void updateRelatingAssociation(RelatedTopicModelImpl childTopic, RelatedTopicModelImpl newChildTopic)
private void createChildTopicOne(RelatedTopicModelImpl newChildTopic, AssociationDefinitionModel assocDef)
private void createChildTopicMany(RelatedTopicModelImpl newChildTopic, AssociationDefinitionModel assocDef)
private void createAndAssociateChildTopic(RelatedTopicModelImpl childTopic, AssociationDefinitionModel assocDef)
private void createAssignmentOne(RelatedTopicModelImpl childTopic, TopicReferenceModelImpl newChildTopic, AssociationDefinitionModel assocDef, boolean deleteChildTopic)
private void createAssignmentMany(TopicReferenceModelImpl newChildTopic, AssociationDefinitionModel assocDef)
private void resolveRefAndAssociateChildTopic(TopicReferenceModel childTopicRef, AssociationDefinitionModel assocDef)
private void associateChildTopic(RelatedTopicModel childTopic, AssociationDefinitionModel assocDef)
private void deleteChildTopicOne(RelatedTopicModelImpl childTopic, AssociationDefinitionModel assocDef, boolean deleteChildTopic)
private void deleteChildTopicMany(long childTopicId, AssociationDefinitionModel assocDef, boolean deleteChildTopic)
private void _calculateLabelAndUpdate()
void calculateLabelAndUpdate()
Prerequisites: 1) this object model is a composite. 2) this object model contains all the child topic models involved in the label calculation. Note: this method does not load any child topics from DB. ### TODO: make private
String calculateLabel()
Note: called from this class only but can't be private as called on a different object.
private String calculateChildLabel(String assocDefUri)
private void appendLabel(String label, StringBuilder builder, String separator)
private List<String> getLabelAssocDefUris()
private AssociationDefinitionModel getAssocDef(String assocDefUri)
private String objectInfo()
Copyright © 2016. All Rights Reserved.