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(AssociationDefinitionModelImpl 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 . |
private void |
_updateAssocDefs(Collection<AssociationDefinitionModelImpl> newAssocDefs) |
private void |
_updateDataTypeUri(String newDataTypeUri) |
private void |
_updateLabelConfig(List<String> newLabelConfig) |
private void |
_updateSequence(Collection<AssociationDefinitionModelImpl> newAssocDefs) |
TypeModel |
addAssocDef(AssociationDefinitionModel assocDef) |
TypeModel |
addAssocDefBefore(AssociationDefinitionModel assocDef,
String beforeAssocDefUri) |
void |
addIndexMode(IndexMode indexMode) |
private void |
addUpdateTypeDirective() |
private long |
checkAssocDefId(AssociationDefinitionModel assocDef) |
TypeModelImpl |
clone() |
(package private) <M extends TypeModelImpl> |
filterReadableAssocDefs() |
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() |
private String |
getFirstAssocDefUri() |
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) |
private void |
putInTypeCache() |
(package private) void |
rehashAssocDef(long assocDefId) |
private void |
rehashAssocDef(String assocDefUri,
String beforeAssocDefUri) |
private void |
rehashAssocDefs(Collection<AssociationDefinitionModelImpl> 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) |
TypeModel |
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(TypeModelImpl newModel) |
_delete, className, createRoleModel, findChildTopic, getAssociations, getDeleteDirective, getPostDeleteEvent, getPostUpdateEvent, getPreDeleteEvent, getPreUpdateEvent, getReadAccessEvent, getRelatedTopic, getRelatedTopics, getRelatedTopics, getType, getUpdateDirective, indexSimpleValue, instantiate, storeSimpleValue, storeTypeUri, storeUri, updateChildTopics
_updateChildTopics, calculateLabel, calculateLabelAndUpdate, delete, equals, getChildTopicsModel, getId, getIndexValue, getSimpleValue, getTypeUri, getUri, hashCode, isSimple, loadChildTopics, loadChildTopics, postCreate, preCreate, set, setChildTopicsModel, setId, setSimpleValue, setSimpleValue, setSimpleValue, setSimpleValue, setSimpleValue, setTypeUri, setUri, update, updateChildTopics, updateSimpleValue, updateTypeUri, updateUri, uriChange
finalize, getClass, notify, notifyAll, wait, wait, wait
createRoleModel, getChildTopicsModel, getId, getSimpleValue, getTypeUri, getUri, set, setChildTopicsModel, setId, setSimpleValue, setSimpleValue, setSimpleValue, setSimpleValue, setSimpleValue, setTypeUri, setUri
forEach, spliterator
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 TypeModel 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 TypeModelImpl clone()
clone
in interface DeepaMehtaObjectModel
clone
in interface TopicModel
clone
in class TopicModelImpl
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 TopicModelImpl
void postDelete()
postDelete
in class DeepaMehtaObjectModelImpl
void updateDataTypeUri(String dataTypeUri)
void updateLabelConfig(List<String> labelConfig)
void _addIndexMode(IndexMode indexMode)
void _addAssocDefBefore(AssociationDefinitionModelImpl assocDef, String beforeAssocDefUri)
void _removeAssocDef(String assocDefUri)
void _addAssocDef(AssociationModel assoc)
void _updateAssocDef(AssociationModel assoc)
AssociationDefinition#update
.
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)
final <M extends TypeModelImpl> M filterReadableAssocDefs()
void rehashAssocDef(long assocDefId)
private void addUpdateTypeDirective()
private void updateType(TypeModelImpl newModel)
private void _updateDataTypeUri(String newDataTypeUri)
private void _updateAssocDefs(Collection<AssociationDefinitionModelImpl> newAssocDefs)
private void _updateSequence(Collection<AssociationDefinitionModelImpl> 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<AssociationDefinitionModelImpl> 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 String getFirstAssocDefUri()
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 putInTypeCache()
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.