public class TopicImpl extends Topic
Modifier and Type | Class and Description |
---|---|
private class |
TopicImpl.EqualAssociationWrapper |
private static class |
TopicImpl.ScopeComparator |
private static class |
TopicImpl.TopicComparator |
Modifier and Type | Field and Description |
---|---|
private java.util.Map<Topic,java.util.Map<Topic,java.util.Collection<Association>>> |
associationIndex |
private java.util.Set<Association> |
associations |
private java.util.Set<Association> |
associationTypeIndex |
private java.lang.String |
baseName |
private java.util.Map<Topic,java.util.Map<Topic,java.lang.String>> |
data |
private java.util.Set<Topic> |
dataTypeIndex |
private java.util.Set<DataVersionIndexWrapper> |
dataVersionIndex |
private boolean |
denyRemoveIfCoreTopic |
private long |
dependentEditTime |
private java.util.Set<Topic> |
dependentTopics |
private java.util.Map<java.lang.String,java.lang.String> |
dispNameCache |
private long |
editTime |
private java.lang.String |
id |
private static long |
idcounter |
private boolean |
removed |
private java.util.Set<Association> |
roleTypeIndex |
private java.util.Map<java.lang.String,java.lang.String> |
sortNameCache |
private java.util.Set<Locator> |
subjectIdentifiers |
private Locator |
subjectLocator |
private TopicMapImpl |
topicMap |
private java.util.Set<Topic> |
topicTypeIndex |
private java.util.Set<Topic> |
types |
private java.util.Map<java.util.Set<Topic>,java.lang.String> |
variants |
private java.util.Set<Topic> |
variantScopeIndex |
Constructor and Description |
---|
TopicImpl(java.lang.String id,
TopicMapImpl topicMap)
Creates a new instance of TopicImpl
|
TopicImpl(TopicMapImpl topicMap)
Creates a new instance of TopicImpl
|
Modifier and Type | Method and Description |
---|---|
(package private) void |
addedAsAssociationType(Association a) |
(package private) void |
addedAsDataType(Topic t) |
(package private) void |
addedAsDataVersion(Topic t,
Topic type) |
(package private) void |
addedAsRoleType(Association a) |
(package private) void |
addedAsTopicType(Topic t) |
(package private) void |
addedAsVariantScope(Topic t) |
(package private) void |
addInAssociation(Association a,
Topic role) |
void |
addSubjectIdentifier(Locator l)
Adds a subject identifier for the topic.
|
void |
addType(Topic t)
Adds a topic type.
|
(package private) void |
associationTypeChanged(Association a,
Topic type,
Topic oldType,
Topic role) |
void |
clearNameCaches() |
java.util.Collection<Association> |
getAssociations()
Gets all associations where this topic is a player.
|
java.util.Collection<Association> |
getAssociations(Topic type)
Gets all associations of specified type where this topic is a player.
|
java.util.Collection<Association> |
getAssociations(Topic type,
Topic role)
Gets associations of the specified type where this topic is in the specified role
|
java.util.Collection<Association> |
getAssociationsWithRole()
Gets associations that have this topic as role.
|
java.util.Collection<Association> |
getAssociationsWithType()
Gets associations that have this topic as type.
|
java.lang.String |
getBaseName()
Gets the topic base name or null if no base name has been set.
|
java.util.Hashtable |
getData(Topic type)
Returns a Hashtable mapping data versions to data content.
|
java.lang.String |
getData(Topic type,
Topic version)
Gets data with the specified type and version.
|
java.util.Collection<Topic> |
getDataTypes()
Gets all used data types.
|
long |
getDependentEditTime() |
java.lang.String |
getDisplayName(java.lang.String lang)
Gets a name suitable for display in the specified language.
|
long |
getEditTime() |
java.lang.String |
getID()
Gets the topic ID.
|
java.lang.String |
getSortName(java.lang.String lang)
Gets a name suitable for sorting in the specified language.
|
java.util.Collection |
getSubjectIdentifiers()
Gets all subject identifiers of the topic.
|
Locator |
getSubjectLocator()
Gets the topic subject locator or null if it has not been set.
|
TopicMap |
getTopicMap()
Gets the topic map this topic belongs to.
|
java.util.Collection<Topic> |
getTopicsWithDataType()
Gets topics which have data with this topic as type.
|
java.util.Collection<Topic> |
getTopicsWithDataVersion()
Gets topics which have data with this topic as version.
|
java.util.Collection<Topic> |
getTopicsWithVariantScope()
Gets topics which have variants with this topic in scope.
|
java.util.Collection<Topic> |
getTypes()
Gets all topic types.
|
static java.lang.String |
getUniqueID() |
java.lang.String |
getVariant(java.util.Set<Topic> scope)
Gets a variant with the specified scope.
|
java.util.Set<java.util.Set<Topic>> |
getVariantScopes()
Gets the scopes of all variant names.
|
private void |
initializeTopicImpl() |
boolean |
isDeleteAllowed()
Notice, isDeleteAllowed doesn't return true if the topic map is
write protected or if the topic is already deleted.
|
boolean |
isOfType(Topic t)
Checks if this topic is of the specified type.
|
boolean |
isRemoved()
Returns true if this topic has been removed from the topic map it belonged to.
|
private void |
makeDependentTopicsSet() |
void |
mergeIn(Topic t) |
void |
remove()
Removes this topic.
|
void |
removeData(Topic type)
Removes all data with the specified type.
|
void |
removeData(Topic type,
Topic version)
Removes data with specified type and version.
|
(package private) void |
removedFromAssociationType(Association a) |
(package private) void |
removedFromDataType(Topic t) |
(package private) void |
removedFromDataVersion(Topic t,
Topic type) |
(package private) void |
removedFromRoleType(Association a) |
(package private) void |
removedFromTopicType(Topic t) |
(package private) void |
removedFromVariantScope(Topic t) |
(package private) void |
removeDuplicateAssociations() |
(package private) void |
removeDuplicateAssociations(Association notThis)
Deletes duplicate associations but does not delete the one given as parameter.
|
(package private) void |
removeFromAssociation(Association a,
Topic role,
boolean otherRoles) |
void |
removeSubjectIdentifier(Locator l)
Removes a subject identifier.
|
void |
removeType(Topic t)
Removes a topic type.
|
void |
removeVariant(java.util.Set<Topic> scope)
Removes a variant name with the specified scope.
|
void |
setBaseName(java.lang.String name)
Sets the topic base name.
|
void |
setData(Topic type,
java.util.Hashtable<Topic,java.lang.String> versionData)
Sets several data values.
|
void |
setData(Topic type,
Topic version,
java.lang.String value)
Sets data with specified type and version.
|
void |
setDependentEditTime(long time) |
void |
setEditTime(long time) |
void |
setSubjectLocator(Locator l)
Sets the topic subject locator overwriting possible previous value.
|
void |
setVariant(java.util.Set<Topic> scope,
java.lang.String name)
Sets the variant with the specified scope.
|
private void |
updateDependentEditTime() |
private void |
updateEditTime() |
getData, getDisplayName, getFirstSubjectIdentifier, getName, getOneSubjectIdentifier, mergesWithTopic, setDisplayName, toString
private TopicMapImpl topicMap
private java.util.Set<Topic> types
private java.util.Set<Association> associations
private java.util.Map<Topic,java.util.Map<Topic,java.util.Collection<Association>>> associationIndex
private java.lang.String baseName
private Locator subjectLocator
private java.util.Set<Locator> subjectIdentifiers
private java.util.Map<java.util.Set<Topic>,java.lang.String> variants
private java.util.Set<Topic> dataTypeIndex
private java.util.Set<DataVersionIndexWrapper> dataVersionIndex
private java.util.Set<Topic> topicTypeIndex
private java.util.Set<Association> associationTypeIndex
private java.util.Set<Association> roleTypeIndex
private java.util.Set<Topic> variantScopeIndex
private java.util.Set<Topic> dependentTopics
private java.lang.String id
private boolean removed
private boolean denyRemoveIfCoreTopic
private long editTime
private long dependentEditTime
private java.util.Map<java.lang.String,java.lang.String> dispNameCache
private java.util.Map<java.lang.String,java.lang.String> sortNameCache
private static long idcounter
public TopicImpl(java.lang.String id, TopicMapImpl topicMap)
public TopicImpl(TopicMapImpl topicMap)
private void initializeTopicImpl()
public void clearNameCaches()
public java.lang.String getDisplayName(java.lang.String lang) throws TopicMapException
Topic
getDisplayName
in class Topic
TopicMapException
public java.lang.String getSortName(java.lang.String lang) throws TopicMapException
Topic
getSortName
in class Topic
TopicMapException
public static java.lang.String getUniqueID()
public java.lang.String getID() throws TopicMapException
Topic
getID
in class Topic
TopicMapException
public void setData(Topic type, Topic version, java.lang.String value) throws TopicMapException
Topic
setData
in class Topic
TopicMapException
public void setData(Topic type, java.util.Hashtable<Topic,java.lang.String> versionData) throws TopicMapException
Topic
setData
in class Topic
TopicMapException
public void addSubjectIdentifier(Locator l) throws TopicMapException
Topic
addSubjectIdentifier
in class Topic
TopicMapException
public void addType(Topic t) throws TopicMapException
Topic
addType
in class Topic
TopicMapException
public java.util.Collection<Association> getAssociations() throws TopicMapException
Topic
getAssociations
in class Topic
TopicMapException
public java.util.Collection<Association> getAssociations(Topic type) throws TopicMapException
Topic
getAssociations
in class Topic
TopicMapException
public java.util.Collection<Association> getAssociations(Topic type, Topic role) throws TopicMapException
Topic
getAssociations
in class Topic
TopicMapException
public java.lang.String getBaseName() throws TopicMapException
Topic
getBaseName
in class Topic
TopicMapException
public java.lang.String getData(Topic type, Topic version) throws TopicMapException
Topic
getData
in class Topic
TopicMapException
public java.util.Hashtable getData(Topic type) throws TopicMapException
Topic
getData
in class Topic
TopicMapException
public Locator getSubjectLocator() throws TopicMapException
Topic
getSubjectLocator
in class Topic
TopicMapException
public java.util.Collection getSubjectIdentifiers() throws TopicMapException
Topic
getSubjectIdentifiers
in class Topic
TopicMapException
public TopicMap getTopicMap()
Topic
getTopicMap
in class Topic
public java.util.Collection<Topic> getTypes() throws TopicMapException
Topic
getTypes
in class Topic
TopicMapException
public java.lang.String getVariant(java.util.Set<Topic> scope) throws TopicMapException
Topic
getVariant
in class Topic
TopicMapException
public boolean isOfType(Topic t) throws TopicMapException
Topic
isOfType
in class Topic
TopicMapException
public void removeData(Topic type) throws TopicMapException
Topic
removeData
in class Topic
TopicMapException
public void removeData(Topic type, Topic version) throws TopicMapException
Topic
removeData
in class Topic
TopicMapException
public void removeSubjectIdentifier(Locator l) throws TopicMapException
Topic
removeSubjectIdentifier
in class Topic
TopicMapException
public void removeType(Topic t) throws TopicMapException
Topic
removeType
in class Topic
TopicMapException
public void setBaseName(java.lang.String name) throws TopicMapException
Topic
setBaseName
in class Topic
TopicMapException
public void setSubjectLocator(Locator l) throws TopicMapException
Topic
setSubjectLocator
in class Topic
TopicMapException
public long getEditTime() throws TopicMapException
getEditTime
in class Topic
TopicMapException
public void setEditTime(long time) throws TopicMapException
setEditTime
in class Topic
TopicMapException
public void remove() throws TopicMapException
Topic
remove
in class Topic
TopicMapException
public void removeVariant(java.util.Set<Topic> scope) throws TopicMapException
Topic
removeVariant
in class Topic
TopicMapException
public void setVariant(java.util.Set<Topic> scope, java.lang.String name) throws TopicMapException
Topic
setVariant
in class Topic
TopicMapException
public java.util.Set<java.util.Set<Topic>> getVariantScopes() throws TopicMapException
Topic
getVariantScopes
in class Topic
TopicMapException
public java.util.Collection<Topic> getDataTypes() throws TopicMapException
Topic
getDataTypes
in class Topic
TopicMapException
public boolean isRemoved() throws TopicMapException
Topic
isRemoved
in class Topic
TopicMapException
public boolean isDeleteAllowed() throws TopicMapException
isDeleteAllowed
in class Topic
TopicMapException
public long getDependentEditTime() throws TopicMapException
getDependentEditTime
in class Topic
TopicMapException
public void setDependentEditTime(long time) throws TopicMapException
setDependentEditTime
in class Topic
TopicMapException
public java.util.Collection<Topic> getTopicsWithDataType() throws TopicMapException
Topic
getTopicsWithDataType
in class Topic
TopicMapException
public java.util.Collection<Association> getAssociationsWithType() throws TopicMapException
Topic
getAssociationsWithType
in class Topic
TopicMapException
public java.util.Collection<Association> getAssociationsWithRole() throws TopicMapException
Topic
getAssociationsWithRole
in class Topic
TopicMapException
public java.util.Collection<Topic> getTopicsWithDataVersion() throws TopicMapException
Topic
getTopicsWithDataVersion
in class Topic
TopicMapException
public java.util.Collection<Topic> getTopicsWithVariantScope() throws TopicMapException
Topic
getTopicsWithVariantScope
in class Topic
TopicMapException
private void makeDependentTopicsSet() throws TopicMapException
TopicMapException
private void updateEditTime() throws TopicMapException
TopicMapException
private void updateDependentEditTime() throws TopicMapException
TopicMapException
public void mergeIn(Topic t) throws TopicMapException
TopicMapException
void removeDuplicateAssociations() throws TopicMapException
TopicMapException
void removeDuplicateAssociations(Association notThis) throws TopicMapException
TopicMapException
void addInAssociation(Association a, Topic role) throws TopicMapException
TopicMapException
void removeFromAssociation(Association a, Topic role, boolean otherRoles) throws TopicMapException
TopicMapException
void associationTypeChanged(Association a, Topic type, Topic oldType, Topic role)
void addedAsTopicType(Topic t)
void removedFromTopicType(Topic t)
void addedAsDataType(Topic t)
void removedFromDataType(Topic t)
void addedAsAssociationType(Association a)
void removedFromAssociationType(Association a)
void addedAsRoleType(Association a)
void removedFromRoleType(Association a)
void addedAsVariantScope(Topic t)
void removedFromVariantScope(Topic t)
Copyright 2004-2015 Wandora Team