Package net.ontopia.topicmaps.impl.rdbms
Class Topic
- java.lang.Object
-
- net.ontopia.persistence.proxy.AbstractRWPersistent
-
- net.ontopia.topicmaps.impl.rdbms.TMObject
-
- net.ontopia.topicmaps.impl.rdbms.Topic
-
- All Implemented Interfaces:
PersistentIF,TMObjectIF,TopicIF
public class Topic extends TMObject implements TopicIF
INTERNAL: The rdbms topic implementation.
-
-
Field Summary
Fields Modifier and Type Field Description static StringCLASS_INDICATORprotected static String[]fieldsprotected static intLF_indicatorsprotected static intLF_namesprotected static intLF_occurrencesprotected static intLF_reifiedprotected static intLF_rolesprotected static intLF_subjectsprotected static intLF_types-
Fields inherited from class net.ontopia.topicmaps.impl.rdbms.TMObject
LF_sources, LF_topicmap
-
Fields inherited from class net.ontopia.persistence.proxy.AbstractRWPersistent
id, MASKS, txn, values
-
Fields inherited from interface net.ontopia.topicmaps.core.TMObjectIF
EVENT_ADD_ITEMIDENTIFIER, EVENT_REMOVE_ITEMIDENTIFIER, MSG_NULL_ARGUMENT
-
Fields inherited from interface net.ontopia.topicmaps.core.TopicIF
EVENT_ADD_OCCURRENCE, EVENT_ADD_SUBJECTIDENTIFIER, EVENT_ADD_SUBJECTLOCATOR, EVENT_ADD_TOPICNAME, EVENT_ADD_TYPE, EVENT_ADDED, EVENT_MODIFIED, EVENT_REMOVE_OCCURRENCE, EVENT_REMOVE_SUBJECTIDENTIFIER, EVENT_REMOVE_SUBJECTLOCATOR, EVENT_REMOVE_TOPICNAME, EVENT_REMOVE_TYPE, EVENT_REMOVED
-
-
Constructor Summary
Constructors Constructor Description Topic()Topic(TransactionIF txn)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int_p_getFieldCount()protected voidaddOccurrence(OccurrenceIF occurrence)protected voidaddRole(AssociationRoleIF assoc_role)INTERNAL: Adds the association role to the set of association roles in which the topic participates.voidaddSubjectIdentifier(LocatorIF subject_indicator)PUBLIC: Adds the given subject identifier to the set of subject identifiers for this topic.voidaddSubjectLocator(LocatorIF subject_locator)PUBLIC: Adds the given subject locator to the set of subject locators for this topic.protected voidaddTopicName(TopicNameIF name)voidaddType(TopicIF type)PUBLIC: Adds a type to this topic.voiddetach()Collection<AssociationIF>getAssociations()PUBLIC: Gets the associations that have roles played by this topic.Collection<AssociationIF>getAssociationsByType(TopicIF type)PUBLIC: Gets the associations that have roles played by this topic, where the association is of specified type.StringgetClassIndicator()INTERNAL: Returns the token that can be used to indicate the class of this instance.StringgetObjectId()PUBLIC: Gets the id of this object.Collection<OccurrenceIF>getOccurrences()PUBLIC: Gets the occurrences of this topic.Collection<OccurrenceIF>getOccurrencesByType(TopicIF type)PUBLIC: Gets the occurrences of this topic with a specified type.ReifiableIFgetReified()PUBLIC: Returns the topic map object that this topic reifies.Collection<AssociationRoleIF>getRoles()PUBLIC: Gets the association roles played by this topic.Collection<AssociationRoleIF>getRolesByType(TopicIF roletype)PUBLIC: Gets the association roles of the specifed type played by this topic.Collection<AssociationRoleIF>getRolesByType(TopicIF roletype, TopicIF assoc_type)PUBLIC: Gets the association roles of the specifed type played by this topic.Collection<LocatorIF>getSubjectIdentifiers()PUBLIC: Gets the subject identitifers of this topic.Collection<LocatorIF>getSubjectLocators()PUBLIC: Gets the subject locators of this topic.Collection<TopicNameIF>getTopicNames()PUBLIC: Gets the names of this topic.Collection<TopicNameIF>getTopicNamesByType(TopicIF type)PUBLIC: Gets the topic names of this topic with a specified type.Collection<TopicIF>getTypes()PUBLIC: Gets the types that this topic is an instance of.voidmerge(TopicIF topic)EXPERIMENTAL: Merges the characteristics of one topic into another topic.voidremove()PUBLIC: Removes the object from its parent.protected voidremoveOccurrence(OccurrenceIF occurrence)protected voidremoveRole(AssociationRoleIF assoc_role)INTERNAL: Removes the association role from the set of association roles in which the topic participates.voidremoveSubjectIdentifier(LocatorIF subject_indicator)PUBLIC: Removes the given subject identifier from the set of subject identifiers for this topic.voidremoveSubjectLocator(LocatorIF subject_locator)PUBLIC: Removes the given subject locator from the set of subject locators for this topic.protected voidremoveTopicName(TopicNameIF name)voidremoveType(TopicIF type)PUBLIC: Removes a type from this topic.protected voidsetReified(ReifiableIF reified)protected voidsetTopicMap(TopicMap topicmap)INTERNAL: Sets the topic map that the object belongs to.voidsyncAfterMerge(IdentityIF source, IdentityIF target)StringtoString()-
Methods inherited from class net.ontopia.topicmaps.impl.rdbms.TMObject
addItemIdentifier, fireEvent, getItemIdentifiers, getLongId, getTopicMap, isReadOnly, removeItemIdentifier, transactionChanged
-
Methods inherited from class net.ontopia.persistence.proxy.AbstractRWPersistent
_p_getIdentity, _p_getTransaction, _p_getType, _p_setIdentity, _p_setTransaction, _p_toString, clearAll, detachCollectionField, detachField, executeQuery, getValue, isDeleted, isDirty, isDirty, isDirtyFlushed, isDirtyFlushed, isInDatabase, isLoaded, isNewObject, isPersistent, isTransient, loadCollectionField, loadField, loadFieldNoCheck, loadValue, nextDirty, nextDirty, nextDirtyFlushed, nextDirtyFlushed, setDeleted, setDirty, setDirtyFlushed, setInDatabase, setNewObject, setPersistent, setValue, syncFieldsAfterMerge, unsetValue, valueAdded, valueChanged, valueRemoved
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface net.ontopia.topicmaps.core.TMObjectIF
addItemIdentifier, getItemIdentifiers, getTopicMap, isReadOnly, removeItemIdentifier
-
-
-
-
Field Detail
-
CLASS_INDICATOR
public static final String CLASS_INDICATOR
- See Also:
- Constant Field Values
-
LF_subjects
protected static final int LF_subjects
- See Also:
- Constant Field Values
-
LF_indicators
protected static final int LF_indicators
- See Also:
- Constant Field Values
-
LF_types
protected static final int LF_types
- See Also:
- Constant Field Values
-
LF_names
protected static final int LF_names
- See Also:
- Constant Field Values
-
LF_occurrences
protected static final int LF_occurrences
- See Also:
- Constant Field Values
-
LF_roles
protected static final int LF_roles
- See Also:
- Constant Field Values
-
LF_reified
protected static final int LF_reified
- See Also:
- Constant Field Values
-
fields
protected static final String[] fields
-
-
Constructor Detail
-
Topic
public Topic()
-
Topic
public Topic(TransactionIF txn)
-
-
Method Detail
-
detach
public void detach()
- Specified by:
detachin interfacePersistentIF- Specified by:
detachin classAbstractRWPersistent
-
_p_getFieldCount
public int _p_getFieldCount()
- Specified by:
_p_getFieldCountin interfacePersistentIF
-
getClassIndicator
public String getClassIndicator()
Description copied from class:TMObjectINTERNAL: Returns the token that can be used to indicate the class of this instance. This indicator is currently only used by source locators.- Specified by:
getClassIndicatorin classTMObject
-
getObjectId
public String getObjectId()
Description copied from interface:TMObjectIFPUBLIC: Gets the id of this object. The object id is part of the topic map id space, and must be unique. The object id is not significant (or unique) outside the current topic map. The object id is immutable. The object id is thus stable through this object's lifetime.- Specified by:
getObjectIdin interfaceTMObjectIF- Specified by:
getObjectIdin classTMObject- Returns:
- string which is this object's id.
-
setTopicMap
protected void setTopicMap(TopicMap topicmap)
INTERNAL: Sets the topic map that the object belongs to. [parent]
-
getSubjectLocators
public Collection<LocatorIF> getSubjectLocators()
Description copied from interface:TopicIFPUBLIC: Gets the subject locators of this topic. These are locators for resources that directly address the subject of this topic. Such a resource is also called an addressable subject. The subject locators are not guaranteed to have any specific order within the returned collection.- Specified by:
getSubjectLocatorsin interfaceTopicIF- Returns:
- A collection of LocatorIF objects serving as subject locators.
-
addSubjectLocator
public void addSubjectLocator(LocatorIF subject_locator) throws ConstraintViolationException
Description copied from interface:TopicIFPUBLIC: Adds the given subject locator to the set of subject locators for this topic.- Specified by:
addSubjectLocatorin interfaceTopicIF- Parameters:
subject_locator- A locator for the subject locator to be added; an object implementing LocatorIF.- Throws:
ConstraintViolationException- Thrown if the topic map already has a topic with this subject locator.
-
removeSubjectLocator
public void removeSubjectLocator(LocatorIF subject_locator)
Description copied from interface:TopicIFPUBLIC: Removes the given subject locator from the set of subject locators for this topic. If the topic does not have the given subject locator then this method has no effect.- Specified by:
removeSubjectLocatorin interfaceTopicIF- Parameters:
subject_locator- A locator for the subject locator to be removed; an object implementing LocatorIF.
-
getSubjectIdentifiers
public Collection<LocatorIF> getSubjectIdentifiers()
Description copied from interface:TopicIFPUBLIC: Gets the subject identitifers of this topic. These are locators for resources that indirectly address or otherwise indicate the subject of this topic. A subject identifier is intended as a surrogate for a subject which cannot be addressed directly. The subject identifiers are not guaranteed to have any specific order within the returned collection.- Specified by:
getSubjectIdentifiersin interfaceTopicIF- Returns:
- A collection of LocatorIF objects serving as subject identifiers.
-
addSubjectIdentifier
public void addSubjectIdentifier(LocatorIF subject_indicator) throws ConstraintViolationException
Description copied from interface:TopicIFPUBLIC: Adds the given subject identifier to the set of subject identifiers for this topic.- Specified by:
addSubjectIdentifierin interfaceTopicIF- Parameters:
subject_indicator- A locator for the subject identifier to be added; an object implementing LocatorIF.- Throws:
ConstraintViolationException- Thrown if the topic map already has a topic with this addressable subject.
-
removeSubjectIdentifier
public void removeSubjectIdentifier(LocatorIF subject_indicator)
Description copied from interface:TopicIFPUBLIC: Removes the given subject identifier from the set of subject identifiers for this topic. If the topic does not have the given subject identifier then this method has no effect.- Specified by:
removeSubjectIdentifierin interfaceTopicIF- Parameters:
subject_indicator- A locator for the subject identifier to be removed; an object implementing LocatorIF.
-
getTopicNames
public Collection<TopicNameIF> getTopicNames()
Description copied from interface:TopicIFPUBLIC: Gets the names of this topic.- Specified by:
getTopicNamesin interfaceTopicIF- Returns:
- A collection of TopicNameIF objects.
-
getTopicNamesByType
public Collection<TopicNameIF> getTopicNamesByType(TopicIF type)
Description copied from interface:TopicIFPUBLIC: Gets the topic names of this topic with a specified type.- Specified by:
getTopicNamesByTypein interfaceTopicIF- Returns:
- A collection of TopicNameIF objects typed by specified type.
-
addTopicName
protected void addTopicName(TopicNameIF name)
-
removeTopicName
protected void removeTopicName(TopicNameIF name)
-
getOccurrences
public Collection<OccurrenceIF> getOccurrences()
Description copied from interface:TopicIFPUBLIC: Gets the occurrences of this topic. The occurrences are not guaranteed to have any specific order.- Specified by:
getOccurrencesin interfaceTopicIF- Returns:
- A collection of OccurrenceIF objects.
-
getOccurrencesByType
public Collection<OccurrenceIF> getOccurrencesByType(TopicIF type)
Description copied from interface:TopicIFPUBLIC: Gets the occurrences of this topic with a specified type. The occurrences are not guaranteed to have any specific order.- Specified by:
getOccurrencesByTypein interfaceTopicIF- Returns:
- A collection of OccurrenceIF objects typed by specified type.
-
addOccurrence
protected void addOccurrence(OccurrenceIF occurrence)
-
removeOccurrence
protected void removeOccurrence(OccurrenceIF occurrence)
-
getRoles
public Collection<AssociationRoleIF> getRoles()
Description copied from interface:TopicIFPUBLIC: Gets the association roles played by this topic. There is no guarantee as to the order these are returned in.
-
getRolesByType
public Collection<AssociationRoleIF> getRolesByType(TopicIF roletype)
Description copied from interface:TopicIFPUBLIC: Gets the association roles of the specifed type played by this topic. There is no guarantee as to the order these are returned in.- Specified by:
getRolesByTypein interfaceTopicIF- Returns:
- A collection of AssociationRoleIF objects.
-
getRolesByType
public Collection<AssociationRoleIF> getRolesByType(TopicIF roletype, TopicIF assoc_type)
Description copied from interface:TopicIFPUBLIC: Gets the association roles of the specifed type played by this topic. The association roles must be part of an association of the specified type. There is no guarantee as to the order these are returned in.- Specified by:
getRolesByTypein interfaceTopicIF- Returns:
- A collection of AssociationRoleIF objects.
-
getAssociations
public Collection<AssociationIF> getAssociations()
Description copied from interface:TopicIFPUBLIC: Gets the associations that have roles played by this topic. There is no guarantee as to the order these are returned in.- Specified by:
getAssociationsin interfaceTopicIF- Returns:
- A collection of AssociationIF objects.
-
getAssociationsByType
public Collection<AssociationIF> getAssociationsByType(TopicIF type)
Description copied from interface:TopicIFPUBLIC: Gets the associations that have roles played by this topic, where the association is of specified type. There is no guarantee as to the order these are returned in.- Specified by:
getAssociationsByTypein interfaceTopicIF- Returns:
- A collection of AssociationIF objects.
-
merge
public void merge(TopicIF topic)
Description copied from interface:TopicIFEXPERIMENTAL: Merges the characteristics of one topic into another topic. The source topic stripped of characteristics, all of which are moved to the target topic. Duplicate characteristics are suppressed. The topics must be in the same topic map, and the source topic is removed from the topic map.
-
addRole
protected void addRole(AssociationRoleIF assoc_role)
INTERNAL: Adds the association role to the set of association roles in which the topic participates.
-
removeRole
protected void removeRole(AssociationRoleIF assoc_role)
INTERNAL: Removes the association role from the set of association roles in which the topic participates.
-
remove
public void remove()
Description copied from interface:TMObjectIFPUBLIC: Removes the object from its parent.- Specified by:
removein interfaceTMObjectIF
-
getTypes
public Collection<TopicIF> getTypes()
Description copied from interface:TopicIFPUBLIC: Gets the types that this topic is an instance of. There is no guarantee as to which order these will be returned in.
-
addType
public void addType(TopicIF type)
Description copied from interface:TopicIFPUBLIC: Adds a type to this topic.
-
removeType
public void removeType(TopicIF type)
Description copied from interface:TopicIFPUBLIC: Removes a type from this topic. If the given topic is not present amongst the types, then the method has no effect.- Specified by:
removeTypein interfaceTopicIF- Parameters:
type- The type to be removed; an object implementing TopicIF.
-
getReified
public ReifiableIF getReified()
Description copied from interface:TopicIFPUBLIC: Returns the topic map object that this topic reifies.- Specified by:
getReifiedin interfaceTopicIF
-
setReified
protected void setReified(ReifiableIF reified)
-
syncAfterMerge
public void syncAfterMerge(IdentityIF source, IdentityIF target)
- Specified by:
syncAfterMergein classAbstractRWPersistent
-
-