public abstract class TopicMap extends java.lang.Object implements TopicMapLogger
The abstract topic map class that all topic map implementations must extend. Simple primitive methods are left abstract and more complex methods have been implemented using the primitive methods. Some implementations may contain data structures that could be used to make complex methods more efficient. In this case it is advisable to override and reimplement them.
Usually any topic map implementation will also have its own topic and association implementations. The createTopic and createAssociation methods are used to create topics and associations instead of creating them with new operator.
Generally all methods that take topic or association parameters expect them to be topics or associations belonging in this topic map. This means that you can't get a topic from one topic map and then use it as a parameter of a method in some other topic map. There are a few methods where this is allowed. Most notably the copy methods that copy topics or associations from one topic map in to another and a few methods that test if two topics would merge with each other.
Modifier and Type | Class and Description |
---|---|
private class |
TopicMap.XTMParser |
Modifier and Type | Field and Description |
---|---|
protected boolean |
consistencyCheck |
protected boolean |
consistencyCheckWhenXTMImport |
static java.lang.String |
EDITTIME_SI |
protected boolean |
isReadOnly |
protected TopicMapLogger |
logger |
protected TopicMap |
parentTopicMap |
private int |
SICounter |
Constructor and Description |
---|
TopicMap() |
Modifier and Type | Method and Description |
---|---|
abstract void |
addTopicMapListener(TopicMapListener listener)
Adds a topic map listener.
|
void |
addTopicMapListeners(java.util.List<TopicMapListener> listeners) |
void |
checkAssociationConsistency() |
void |
checkAssociationConsistency(TopicMapLogger logger)
Checks association consistency and fixes any inconsistencies.
|
abstract void |
clearTopicMap()
Completely clears the topic map.
|
abstract void |
clearTopicMapIndexes()
If the topic map implementation keeps indexes or caches of topics, calling
this method will clear such data structures and cause further methods to
retrieve data directly from the original data source.
|
abstract void |
close()
Close the topic map.
|
abstract Association |
copyAssociationIn(Association a)
Copies an association of a different topic map in this topic map.
|
abstract void |
copyTopicAssociationsIn(Topic t)
Copies all associations of a topic of a different topic map in this topic
map using copyAssociationIn.
|
java.util.Collection<Topic> |
copyTopicCollectionIn(java.util.Collection topics,
boolean deep)
Like copyTopicIn but does it for a collection of topics.
|
abstract Topic |
copyTopicIn(Topic t,
boolean deep)
Copies a topic of different topic map in this topic map.
|
abstract Association |
createAssociation(Topic type)
Creates a new association of the given type without any members.
|
Locator |
createLocator(java.lang.String reference) |
Locator |
createLocator(java.lang.String notation,
java.lang.String reference) |
abstract Topic |
createTopic()
Creates a new topic without base name, subject identifier, data or any associations.
|
abstract Topic |
createTopic(java.lang.String id)
Creates a new topic without base name, subject identifier, data or any associations.
|
abstract void |
disableAllListeners() |
abstract void |
enableAllListeners() |
java.lang.String |
escapeXML(java.lang.String data) |
void |
exportJTM(java.io.OutputStream out) |
void |
exportJTM(java.io.OutputStream out,
TopicMapLogger logger) |
void |
exportJTM(java.lang.String file) |
void |
exportJTM(java.lang.String file,
TopicMapLogger logger) |
void |
exportLTM(java.io.OutputStream out) |
void |
exportLTM(java.io.OutputStream out,
TopicMapLogger logger) |
void |
exportLTM(java.lang.String file) |
void |
exportLTM(java.lang.String file,
TopicMapLogger logger) |
void |
exportTopicMap(java.lang.String file) |
void |
exportTopicMap(java.lang.String file,
TopicMapLogger logger) |
void |
exportXTM(java.io.OutputStream out) |
void |
exportXTM(java.io.OutputStream out,
TopicMapLogger logger) |
void |
exportXTM(java.lang.String file) |
void |
exportXTM(java.lang.String file,
TopicMapLogger logger) |
void |
exportXTM10(java.io.OutputStream out) |
void |
exportXTM10(java.io.OutputStream out,
TopicMapLogger logger) |
void |
exportXTM10(java.lang.String file,
TopicMapLogger logger) |
void |
exportXTM20(java.io.OutputStream out,
TopicMapLogger logger) |
void |
exportXTM20(java.lang.String file) |
boolean |
forceStop() |
abstract java.util.Iterator<Association> |
getAssociations()
Returns all associations in the topic map.
|
abstract java.util.Collection<Association> |
getAssociationsOfType(Topic type)
Returns all associations in the topic map that are of the given type.
|
boolean |
getConsistencyCheck() |
TopicMapLogger |
getLogger() |
java.util.Collection<Topic> |
getMergingTopics(Topic t)
Gets all topics that would merge with the given topic.
|
abstract int |
getNumAssociations()
Returns the number of associations in topic map.
|
abstract int |
getNumTopics()
Returns the number of topics in topic map.
|
TopicMap |
getParentTopicMap()
Gets the parent of this topic map.
|
TopicMap |
getRootTopicMap()
Gets the root topic map.
|
abstract TopicMapStatData |
getStatistics(TopicMapStatOptions options) |
abstract Topic |
getTopic(Locator si)
Gets a topic with subject identifier.
|
Topic |
getTopic(java.lang.String si)
Gets a topic with subject identifier.
|
abstract Topic |
getTopicBySubjectLocator(Locator sl)
Gets a topic with subject locator.
|
Topic |
getTopicBySubjectLocator(java.lang.String sl)
Gets a topic with subject locator.
|
abstract java.util.List<TopicMapListener> |
getTopicMapListeners()
Gets all topic map listeners.
|
abstract java.util.Iterator<Topic> |
getTopics()
Gets all topics in the topic map.
|
java.util.Collection<Topic> |
getTopics(java.util.Collection sis)
Gets topics with the subject identifiers in the collection given as
parameter.
|
abstract Topic[] |
getTopics(java.lang.String[] sis)
Gets the topics whose subject identifiers are given in the array.
|
java.util.Collection<Topic> |
getTopicsOfType(java.lang.String si)
Gets all topics in the topic map that are of the given type.
|
abstract java.util.Collection<Topic> |
getTopicsOfType(Topic type)
Gets all topics in the topic map that are of the given type.
|
abstract Topic |
getTopicWithBaseName(java.lang.String name)
Gets a topic with topic base name.
|
void |
hlog(java.lang.String message) |
void |
importJTM(java.io.File inFile) |
void |
importJTM(java.io.File inFile,
TopicMapLogger logger) |
void |
importJTM(java.io.InputStream in) |
void |
importJTM(java.io.InputStream in,
TopicMapLogger logger) |
void |
importJTM(java.lang.String file) |
void |
importJTM(java.lang.String fileName,
TopicMapLogger logger) |
void |
importLTM(java.io.File inFile) |
void |
importLTM(java.io.File inFile,
TopicMapLogger logger) |
void |
importLTM(java.io.InputStream in) |
void |
importLTM(java.io.InputStream in,
TopicMapLogger logger) |
void |
importLTM(java.lang.String file) |
void |
importLTM(java.lang.String fileName,
TopicMapLogger logger) |
void |
importTopicMap(java.lang.String file) |
void |
importTopicMap(java.lang.String file,
TopicMapLogger logger) |
void |
importTopicMap(java.lang.String file,
TopicMapLogger logger,
boolean checkConsistency) |
void |
importXTM(java.io.InputStream in) |
void |
importXTM(java.io.InputStream in,
TopicMapLogger logger) |
void |
importXTM(java.io.InputStream in,
TopicMapLogger logger,
boolean checkConsistency) |
void |
importXTM(java.lang.String file) |
void |
importXTM(java.lang.String file,
TopicMapLogger logger) |
boolean |
isConnected()
Checks if this topic map is connected to the service providing the topic map.
|
boolean |
isReadOnly()
Checks if the topic map is in a read only state.
|
abstract boolean |
isTopicMapChanged()
Checks if the topic map has been changed since the last call to resetTopicMapChanged.
|
void |
log(java.lang.Exception e) |
void |
log(java.lang.String message) |
void |
log(java.lang.String message,
java.lang.Exception e) |
java.lang.String |
makeJTMString(java.lang.String str) |
java.lang.String |
makeJTMTopicId(Topic t) |
java.lang.String |
makeLTMString(java.lang.String str) |
java.lang.String |
makeLTMTopicId(Topic t) |
java.lang.String |
makeSubjectIndicator()
Makes a URI that can be used as subject identifier or locator.
|
Locator |
makeSubjectIndicatorAsLocator()
Makes a Locator that can be used as subject identifier or locator.
|
void |
mergeIn(TopicMap tm)
Merges the contents of the given topic map in this topic map.
|
void |
mergeIn(TopicMap tm,
TopicMapLogger tmLogger)
Merges the contents of the given topic map in this topic map.
|
abstract void |
removeTopicMapListener(TopicMapListener listener)
Removes a topic map listener.
|
abstract boolean |
resetTopicMapChanged() |
abstract java.util.Collection<Topic> |
search(java.lang.String query,
TopicMapSearchOptions options)
Searches the topic map for the given string.
|
void |
setConsistencyCheck(boolean value)
Set consistency check of associations on or off.
|
void |
setLogger(TopicMapLogger logger) |
void |
setLogTitle(java.lang.String title) |
void |
setParentTopicMap(TopicMap parent)
Sets the parent of this topic map.
|
void |
setProgress(int n) |
void |
setProgressMax(int maxn) |
void |
setReadOnly(boolean readOnly)
Sets the topic map in a read-only or read-write state depending on the
argument.
|
abstract void |
setTrackDependent(boolean v)
NOTE: The two trackDependent methods are mostly deprecated.
|
abstract boolean |
trackingDependent() |
protected TopicMapLogger logger
protected boolean consistencyCheck
protected boolean consistencyCheckWhenXTMImport
protected boolean isReadOnly
public static final java.lang.String EDITTIME_SI
protected TopicMap parentTopicMap
private int SICounter
public Locator createLocator(java.lang.String reference) throws TopicMapException
TopicMapException
public Locator createLocator(java.lang.String notation, java.lang.String reference) throws TopicMapException
TopicMapException
public abstract Topic getTopic(Locator si) throws TopicMapException
TopicMapException
public Topic getTopic(java.lang.String si) throws TopicMapException
TopicMapException
public abstract Topic getTopicBySubjectLocator(Locator sl) throws TopicMapException
TopicMapException
public Topic getTopicBySubjectLocator(java.lang.String sl) throws TopicMapException
TopicMapException
public abstract Topic createTopic(java.lang.String id) throws TopicMapException
TopicMapException
public abstract Topic createTopic() throws TopicMapException
TopicMapException
public abstract Association createAssociation(Topic type) throws TopicMapException
TopicMapException
public abstract java.util.Collection<Topic> getTopicsOfType(Topic type) throws TopicMapException
TopicMapException
public abstract Topic getTopicWithBaseName(java.lang.String name) throws TopicMapException
TopicMapException
public abstract java.util.Iterator<Topic> getTopics() throws TopicMapException
TopicMapException
public abstract Topic[] getTopics(java.lang.String[] sis) throws TopicMapException
TopicMapException
public abstract java.util.Iterator<Association> getAssociations() throws TopicMapException
TopicMapException
public abstract java.util.Collection<Association> getAssociationsOfType(Topic type) throws TopicMapException
TopicMapException
public abstract int getNumTopics() throws TopicMapException
TopicMapException
public abstract int getNumAssociations() throws TopicMapException
TopicMapException
public abstract Topic copyTopicIn(Topic t, boolean deep) throws TopicMapException
TopicMapException
public abstract Association copyAssociationIn(Association a) throws TopicMapException
TopicMapException
public abstract void copyTopicAssociationsIn(Topic t) throws TopicMapException
TopicMapException
public void mergeIn(TopicMap tm) throws TopicMapException
TopicMapException
public void mergeIn(TopicMap tm, TopicMapLogger tmLogger) throws TopicMapException
TopicMapException
public abstract void setTrackDependent(boolean v) throws TopicMapException
TopicMapException
public abstract boolean trackingDependent() throws TopicMapException
TopicMapException
public abstract void addTopicMapListener(TopicMapListener listener)
public abstract void removeTopicMapListener(TopicMapListener listener)
public abstract java.util.List<TopicMapListener> getTopicMapListeners()
public void addTopicMapListeners(java.util.List<TopicMapListener> listeners)
public abstract void disableAllListeners()
public abstract void enableAllListeners()
public abstract boolean isTopicMapChanged() throws TopicMapException
TopicMapException
public abstract boolean resetTopicMapChanged() throws TopicMapException
TopicMapException
isTopicMapChanged()
public abstract java.util.Collection<Topic> search(java.lang.String query, TopicMapSearchOptions options) throws TopicMapException
TopicMapException
public abstract TopicMapStatData getStatistics(TopicMapStatOptions options) throws TopicMapException
TopicMapException
public abstract void clearTopicMap() throws TopicMapException
TopicMapException
public abstract void clearTopicMapIndexes() throws TopicMapException
TopicMapException
public boolean isReadOnly()
public void setReadOnly(boolean readOnly)
public void setConsistencyCheck(boolean value) throws TopicMapException
Set consistency check of associations on or off. This should normally be turned on but you may turn it off before some big batch operations to speed them up. After this operation you need to turn the consistency check back on and manually call checkAssociationConsistency unless you are sure that the operation did not cause any incensistencies with associations.
Note that some implementations may not allow turning consistency check off so getConsistencyCheck may return a different value that the last parameter used for setConsistencyCheck. If turning consistency check off is not supported, then it is also not needed to manually call the checkAssociationConsistency.
TopicMapException
checkAssociationConsistency(TopicMapLogger)
public boolean getConsistencyCheck() throws TopicMapException
TopicMapException
public void checkAssociationConsistency() throws TopicMapException
TopicMapException
public void checkAssociationConsistency(TopicMapLogger logger) throws TopicMapException
TopicMapException
public void setParentTopicMap(TopicMap parent)
public TopicMap getParentTopicMap()
public TopicMap getRootTopicMap()
public boolean isConnected() throws TopicMapException
TopicMapException
public abstract void close()
public java.util.Collection<Topic> getTopics(java.util.Collection sis) throws TopicMapException
TopicMapException
public java.util.Collection<Topic> getTopicsOfType(java.lang.String si) throws TopicMapException
TopicMapException
public java.util.Collection<Topic> copyTopicCollectionIn(java.util.Collection topics, boolean deep) throws TopicMapException
TopicMapException
public java.util.Collection<Topic> getMergingTopics(Topic t) throws TopicMapException
TopicMapException
public void setLogger(TopicMapLogger logger)
public TopicMapLogger getLogger()
public void hlog(java.lang.String message)
hlog
in interface TopicMapLogger
public void log(java.lang.String message)
log
in interface TopicMapLogger
public void log(java.lang.String message, java.lang.Exception e)
log
in interface TopicMapLogger
public void log(java.lang.Exception e)
log
in interface TopicMapLogger
public void setProgress(int n)
setProgress
in interface TopicMapLogger
public void setProgressMax(int maxn)
setProgressMax
in interface TopicMapLogger
public void setLogTitle(java.lang.String title)
setLogTitle
in interface TopicMapLogger
public boolean forceStop()
forceStop
in interface TopicMapLogger
public void importTopicMap(java.lang.String file) throws java.io.IOException, TopicMapException
java.io.IOException
TopicMapException
public void importTopicMap(java.lang.String file, TopicMapLogger logger) throws java.io.IOException, TopicMapException
java.io.IOException
TopicMapException
public void importTopicMap(java.lang.String file, TopicMapLogger logger, boolean checkConsistency) throws java.io.IOException, TopicMapException
java.io.IOException
TopicMapException
public void exportTopicMap(java.lang.String file) throws java.io.IOException, TopicMapException
java.io.IOException
TopicMapException
public void exportTopicMap(java.lang.String file, TopicMapLogger logger) throws java.io.IOException, TopicMapException
java.io.IOException
TopicMapException
public void exportLTM(java.lang.String file) throws java.io.IOException, TopicMapException
java.io.IOException
TopicMapException
public void exportLTM(java.lang.String file, TopicMapLogger logger) throws java.io.IOException, TopicMapException
java.io.IOException
TopicMapException
public void exportLTM(java.io.OutputStream out) throws java.io.IOException, TopicMapException
java.io.IOException
TopicMapException
public void exportLTM(java.io.OutputStream out, TopicMapLogger logger) throws java.io.IOException, TopicMapException
java.io.IOException
TopicMapException
public java.lang.String makeLTMString(java.lang.String str)
public java.lang.String makeLTMTopicId(Topic t)
public void importLTM(java.io.InputStream in) throws java.io.IOException, TopicMapException
java.io.IOException
TopicMapException
public void importLTM(java.io.File inFile) throws java.io.IOException, TopicMapException
java.io.IOException
TopicMapException
public void importLTM(java.lang.String file) throws java.io.IOException, TopicMapException
java.io.IOException
TopicMapException
public void importLTM(java.io.InputStream in, TopicMapLogger logger) throws java.io.IOException, TopicMapException
java.io.IOException
TopicMapException
public void importLTM(java.io.File inFile, TopicMapLogger logger) throws java.io.IOException, TopicMapException
java.io.IOException
TopicMapException
public void importLTM(java.lang.String fileName, TopicMapLogger logger) throws java.io.IOException, TopicMapException
java.io.IOException
TopicMapException
public void exportJTM(java.lang.String file) throws java.io.IOException, TopicMapException
java.io.IOException
TopicMapException
public void exportJTM(java.lang.String file, TopicMapLogger logger) throws java.io.IOException, TopicMapException
java.io.IOException
TopicMapException
public void exportJTM(java.io.OutputStream out) throws java.io.IOException, TopicMapException
java.io.IOException
TopicMapException
public void exportJTM(java.io.OutputStream out, TopicMapLogger logger) throws java.io.IOException, TopicMapException
java.io.IOException
TopicMapException
public java.lang.String makeJTMString(java.lang.String str)
public java.lang.String makeJTMTopicId(Topic t)
public void importJTM(java.io.InputStream in) throws java.io.IOException, TopicMapException
java.io.IOException
TopicMapException
public void importJTM(java.io.File inFile) throws java.io.IOException, TopicMapException
java.io.IOException
TopicMapException
public void importJTM(java.lang.String file) throws java.io.IOException, TopicMapException
java.io.IOException
TopicMapException
public void importJTM(java.io.InputStream in, TopicMapLogger logger) throws java.io.IOException, TopicMapException
java.io.IOException
TopicMapException
public void importJTM(java.io.File inFile, TopicMapLogger logger) throws java.io.IOException, TopicMapException
java.io.IOException
TopicMapException
public void importJTM(java.lang.String fileName, TopicMapLogger logger) throws java.io.IOException, TopicMapException
java.io.IOException
TopicMapException
public void exportXTM(java.io.OutputStream out) throws java.io.IOException, TopicMapException
java.io.IOException
TopicMapException
public void exportXTM(java.io.OutputStream out, TopicMapLogger logger) throws java.io.IOException, TopicMapException
java.io.IOException
TopicMapException
public void exportXTM10(java.io.OutputStream out) throws java.io.IOException, TopicMapException
java.io.IOException
TopicMapException
public void exportXTM10(java.io.OutputStream out, TopicMapLogger logger) throws java.io.IOException, TopicMapException
java.io.IOException
TopicMapException
public void exportXTM20(java.io.OutputStream out, TopicMapLogger logger) throws java.io.IOException, TopicMapException
java.io.IOException
TopicMapException
public void importXTM(java.io.InputStream in) throws java.io.IOException, TopicMapException
java.io.IOException
TopicMapException
public void importXTM(java.io.InputStream in, TopicMapLogger logger) throws java.io.IOException, TopicMapException
java.io.IOException
TopicMapException
public void importXTM(java.io.InputStream in, TopicMapLogger logger, boolean checkConsistency) throws java.io.IOException, TopicMapException
java.io.IOException
TopicMapException
public void importXTM(java.lang.String file, TopicMapLogger logger) throws java.io.IOException, TopicMapException
java.io.IOException
TopicMapException
public void importXTM(java.lang.String file) throws java.io.IOException, TopicMapException
java.io.IOException
TopicMapException
public void exportXTM(java.lang.String file) throws java.io.IOException, TopicMapException
java.io.IOException
TopicMapException
public void exportXTM20(java.lang.String file) throws java.io.IOException, TopicMapException
java.io.IOException
TopicMapException
public void exportXTM(java.lang.String file, TopicMapLogger logger) throws java.io.IOException, TopicMapException
java.io.IOException
TopicMapException
public void exportXTM10(java.lang.String file, TopicMapLogger logger) throws java.io.IOException, TopicMapException
java.io.IOException
TopicMapException
public Locator makeSubjectIndicatorAsLocator() throws TopicMapException
TopicMapException
public java.lang.String makeSubjectIndicator()
public java.lang.String escapeXML(java.lang.String data)
Copyright 2004-2015 Wandora Team