class TypeModelImpl extends TopicModelImpl implements TypeModel
Modifier and Type | Class and Description |
---|---|
private static class |
TypeModelImpl.JSONWrapper |
Modifier and Type | Field and Description |
---|---|
private SequencedHashMap<String,AssociationDefinitionModelImpl> |
assocDefs |
private String |
dataTypeUri |
private List<IndexMode> |
indexModes |
private List<String> |
labelConfig |
private Logger |
logger |
private ViewConfigurationModelImpl |
viewConfig |
childTopics, em, id, mf, pl, typeUri, uri, value
Constructor and Description |
---|
TypeModelImpl(TopicModelImpl typeTopic,
String dataTypeUri,
List<IndexMode> indexModes,
List<AssociationDefinitionModel> assocDefs,
List<String> labelConfig,
ViewConfigurationModelImpl viewConfig) |
TypeModelImpl(TypeModelImpl type) |
Modifier and Type | Method and Description |
---|---|
(package private) void |
_addAssocDef(AssociationModel assoc) |
(package private) void |
_addAssocDefBefore(AssociationDefinitionModel assocDef,
String beforeAssocDefUri) |
(package private) void |
_addIndexMode(IndexMode indexMode) |
private AssociationDefinitionModelImpl |
_getAssocDef(String assocDefUri) |
(package private) void |
_removeAssocDef(String assocDefUri) |
(package private) void |
_removeAssocDefFromMemoryAndRebuildSequence(AssociationModel assoc)
Removes an association from memory and rebuilds the sequence in DB.
|
(package private) void |
_updateAssocDef(AssociationModel assoc)
Note: in contrast to the other "update" methods this one updates the memory only, not the DB!
If you want to update memory and DB use
AssociationDefinition.update(de.deepamehta.core.model.AssociationDefinitionModel) . |
private void |
_updateAssocDefs(Collection<? extends AssociationDefinitionModel> newAssocDefs) |
private void |
_updateDataTypeUri(String newDataTypeUri) |
private void |
_updateLabelConfig(List<String> newLabelConfig) |
private void |
_updateSequence(Collection<? extends AssociationDefinitionModel> newAssocDefs) |
TypeModel |
addAssocDef(AssociationDefinitionModel assocDef) |
TypeModel |
addAssocDefBefore(AssociationDefinitionModel assocDef,
String beforeAssocDefUri) |
void |
addIndexMode(IndexMode indexMode) |
private long |
checkAssocDefId(AssociationDefinitionModel assocDef) |
private String[] |
findAssocDefUris(long assocDefId)
Finds an assoc def by ID and returns its URI (at index 0).
|
private long |
firstAssocDefId() |
(package private) List<? extends DeepaMehtaObjectModelImpl> |
getAllInstances() |
AssociationDefinitionModelImpl |
getAssocDef(String assocDefUri) |
private AssociationDefinitionModelImpl |
getAssocDefOrThrow(String assocDefUri) |
Collection<AssociationDefinitionModelImpl> |
getAssocDefs() |
String |
getDataTypeUri() |
(package private) Directive |
getDeleteTypeDirective() |
List<IndexMode> |
getIndexModes() |
List<String> |
getLabelConfig() |
(package private) Directive |
getUpdateTypeDirective() |
Object |
getViewConfig(String typeUri,
String settingUri) |
ViewConfigurationModelImpl |
getViewConfigModel() |
boolean |
hasAssocDef(String assocDefUri) |
private boolean |
hasSameAssocDefSequence(Collection<? extends AssociationDefinitionModel> assocDefs) |
private void |
indexAllInstances(IndexMode indexMode) |
Iterator<String> |
iterator()
Returns an interator which iterates this TypeModel's assoc def URIs.
|
private long |
lastAssocDefId()
Returns the ID of the last association definition of this type or
-1 if there are no association definitions. |
(package private) void |
postDelete() |
(package private) void |
postUpdate(DeepaMehtaObjectModel newModel,
DeepaMehtaObjectModel oldModel) |
(package private) void |
preDelete() |
(package private) void |
preUpdate(DeepaMehtaObjectModel newModel) |
(package private) void |
rehashAssocDef(long assocDefId) |
private void |
rehashAssocDef(String assocDefUri,
String beforeAssocDefUri) |
private void |
rehashAssocDefs(Collection<? extends AssociationDefinitionModel> newAssocDefs) |
AssociationDefinitionModel |
removeAssocDef(String assocDefUri) |
private void |
removeFromLabelConfig(String assocDefUri) |
private void |
removeFromTypeCache()
Removes this type from type cache and adds a DELETE TYPE directive to the given set of directives.
|
private void |
replaceAssocDef(AssociationDefinitionModel assocDef) |
private void |
replaceAssocDef(AssociationDefinitionModel assocDef,
String oldAssocDefUri,
String beforeAssocDefUri) |
private void |
replaceInLabelConfig(String newAssocDefUri,
String oldAssocDefUri) |
void |
setDataTypeUri(String dataTypeUri) |
void |
setLabelConfig(List<String> labelConfig) |
void |
setViewConfig(ViewConfigurationModel viewConfig) |
private void |
storeDataTypeUri() |
org.codehaus.jettison.json.JSONObject |
toJSON() |
private org.codehaus.jettison.json.JSONArray |
toJSONArray(Collection<? extends AssociationDefinitionModel> assocDefs) |
private org.codehaus.jettison.json.JSONArray |
toJSONArray(List<IndexMode> indexModes) |
private SequencedHashMap<String,AssociationDefinitionModelImpl> |
toMap(Collection<? extends AssociationDefinitionModel> assocDefs) |
String |
toString() |
(package private) void |
updateDataTypeUri(String dataTypeUri) |
(package private) void |
updateLabelConfig(List<String> labelConfig) |
private void |
updateType(TypeModel newModel) |
_delete, className, clone, createRoleModel, findChildTopic, getAssociations, getDeleteDirective, getPostDeleteEvent, getPostUpdateEvent, getPreDeleteEvent, getPreUpdateEvent, getReadAccessEvent, getRelatedTopic, getRelatedTopics, getRelatedTopics, getType, getUpdateDirective, indexSimpleValue, instantiate, storeSimpleValue, storeTypeUri, storeUri, updateChildTopics
_updateChildTopics, delete, equals, getChildTopicsModel, getId, getIndexValue, getSimpleValue, getTypeUri, getUri, hashCode, isSimple, loadChildTopics, loadChildTopics, set, setChildTopicsModel, setId, setSimpleValue, setSimpleValue, setSimpleValue, setSimpleValue, setSimpleValue, setTypeUri, setUri, update, updateChildTopics, updateSimpleValue, updateTypeUri, updateUri, uriChange
finalize, getClass, notify, notifyAll, wait, wait, wait
clone
createRoleModel, getChildTopicsModel, getId, getSimpleValue, getTypeUri, getUri, set, setChildTopicsModel, setId, setSimpleValue, setSimpleValue, setSimpleValue, setSimpleValue, setSimpleValue, setTypeUri, setUri
private String dataTypeUri
private List<IndexMode> indexModes
private SequencedHashMap<String,AssociationDefinitionModelImpl> assocDefs
private List<String> labelConfig
private ViewConfigurationModelImpl viewConfig
TypeModelImpl(TopicModelImpl typeTopic, String dataTypeUri, List<IndexMode> indexModes, List<AssociationDefinitionModel> assocDefs, List<String> labelConfig, ViewConfigurationModelImpl viewConfig)
TypeModelImpl(TypeModelImpl type)
public String getDataTypeUri()
getDataTypeUri
in interface TypeModel
public void setDataTypeUri(String dataTypeUri)
setDataTypeUri
in interface TypeModel
public List<IndexMode> getIndexModes()
getIndexModes
in interface TypeModel
public void addIndexMode(IndexMode indexMode)
addIndexMode
in interface TypeModel
public Collection<AssociationDefinitionModelImpl> getAssocDefs()
getAssocDefs
in interface TypeModel
public AssociationDefinitionModelImpl getAssocDef(String assocDefUri)
getAssocDef
in interface TypeModel
public boolean hasAssocDef(String assocDefUri)
hasAssocDef
in interface TypeModel
public TypeModel addAssocDef(AssociationDefinitionModel assocDef)
addAssocDef
in interface TypeModel
assocDef
- the assoc def to add.
Note: its ID might be uninitialized (-1).public TypeModel addAssocDefBefore(AssociationDefinitionModel assocDef, String beforeAssocDefUri)
addAssocDefBefore
in interface TypeModel
assocDef
- the assoc def to add.
Note: its ID might be uninitialized (-1).beforeAssocDefUri
- the URI of the assoc def before the given assoc def is inserted.
If null
the assoc def is appended at the end.public AssociationDefinitionModel removeAssocDef(String assocDefUri)
removeAssocDef
in interface TypeModel
public List<String> getLabelConfig()
getLabelConfig
in interface TypeModel
public void setLabelConfig(List<String> labelConfig)
setLabelConfig
in interface TypeModel
public ViewConfigurationModelImpl getViewConfigModel()
getViewConfigModel
in interface TypeModel
public Object getViewConfig(String typeUri, String settingUri)
getViewConfig
in interface TypeModel
public void setViewConfig(ViewConfigurationModel viewConfig)
setViewConfig
in interface TypeModel
public Iterator<String> iterator()
public org.codehaus.jettison.json.JSONObject toJSON()
toJSON
in interface JSONEnabled
toJSON
in class DeepaMehtaObjectModelImpl
public String toString()
toString
in class TopicModelImpl
List<? extends DeepaMehtaObjectModelImpl> getAllInstances()
Directive getUpdateTypeDirective()
Directive getDeleteTypeDirective()
void preUpdate(DeepaMehtaObjectModel newModel)
preUpdate
in class DeepaMehtaObjectModelImpl
void postUpdate(DeepaMehtaObjectModel newModel, DeepaMehtaObjectModel oldModel)
postUpdate
in class DeepaMehtaObjectModelImpl
void preDelete()
preDelete
in class DeepaMehtaObjectModelImpl
void postDelete()
postDelete
in class DeepaMehtaObjectModelImpl
void updateDataTypeUri(String dataTypeUri)
void updateLabelConfig(List<String> labelConfig)
void _addIndexMode(IndexMode indexMode)
void _addAssocDefBefore(AssociationDefinitionModel assocDef, String beforeAssocDefUri)
void _removeAssocDef(String assocDefUri)
void _addAssocDef(AssociationModel assoc)
void _updateAssocDef(AssociationModel assoc)
AssociationDefinition.update(de.deepamehta.core.model.AssociationDefinitionModel)
.
This method is here to support a special case: the user retypes an association which results in a changed type definition. In this case the DB is already up-to-date and only the type's memory representation must be updated. So, here the DB update is the *cause* for a necessary memory-update. Normally the situation is vice-versa: the DB update is the necessary *effect* of a memory-update.
assocDef
- the new association definition.
Note: in contrast to the other "update" methods this one does not support partial updates.
That is all association definition fields must be initialized. ### FIXDOCvoid _removeAssocDefFromMemoryAndRebuildSequence(AssociationModel assoc)
void rehashAssocDef(long assocDefId)
private void updateType(TypeModel newModel)
private void _updateDataTypeUri(String newDataTypeUri)
private void _updateAssocDefs(Collection<? extends AssociationDefinitionModel> newAssocDefs)
private void _updateSequence(Collection<? extends AssociationDefinitionModel> newAssocDefs)
private void _updateLabelConfig(List<String> newLabelConfig)
private void storeDataTypeUri()
private void indexAllInstances(IndexMode indexMode)
private String[] findAssocDefUris(long assocDefId)
private boolean hasSameAssocDefSequence(Collection<? extends AssociationDefinitionModel> assocDefs)
private void rehashAssocDef(String assocDefUri, String beforeAssocDefUri)
private void rehashAssocDefs(Collection<? extends AssociationDefinitionModel> newAssocDefs)
private void replaceAssocDef(AssociationDefinitionModel assocDef)
private void replaceAssocDef(AssociationDefinitionModel assocDef, String oldAssocDefUri, String beforeAssocDefUri)
private AssociationDefinitionModelImpl getAssocDefOrThrow(String assocDefUri)
private AssociationDefinitionModelImpl _getAssocDef(String assocDefUri)
private long lastAssocDefId()
-1
if there are no association definitions.private long firstAssocDefId()
private long checkAssocDefId(AssociationDefinitionModel assocDef)
private SequencedHashMap<String,AssociationDefinitionModelImpl> toMap(Collection<? extends AssociationDefinitionModel> assocDefs)
private void replaceInLabelConfig(String newAssocDefUri, String oldAssocDefUri)
private void removeFromLabelConfig(String assocDefUri)
private void removeFromTypeCache()
private org.codehaus.jettison.json.JSONArray toJSONArray(List<IndexMode> indexModes)
private org.codehaus.jettison.json.JSONArray toJSONArray(Collection<? extends AssociationDefinitionModel> assocDefs)
Copyright © 2016. All Rights Reserved.