net.ontopia.topicmaps.xml
Class AbstractTopicMapExporter

java.lang.Object
  extended by net.ontopia.topicmaps.xml.AbstractTopicMapExporter
Direct Known Subclasses:
TMXMLWriter, XTM2TopicMapExporter, XTMTopicMapExporter

public abstract class AbstractTopicMapExporter
extends java.lang.Object

INTERNAL: Abstract class providing common operations used by XML exporters.


Constructor Summary
AbstractTopicMapExporter()
           
 
Method Summary
 java.lang.String getElementId(TMObjectIF tmobject)
          INTERNAL: Method used to extract the XTM element id from a topic map object when a source locator relative to the topic map base address exists.
static boolean mayCollide(java.lang.String id)
          INTERNAL: Used to find out whether this ID may collide with IDs produced from object IDs.
 void setFilter(DeciderIF filter)
          PUBLIC: Sets the filter that decides which topic map constructs are accepted in the exported TM/XML.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AbstractTopicMapExporter

public AbstractTopicMapExporter()
Method Detail

setFilter

public void setFilter(DeciderIF filter)
PUBLIC: Sets the filter that decides which topic map constructs are accepted in the exported TM/XML. Uses 'filter' to identify individual topic constructs as allowed or disallowed. TM constructs that depend on the disallowed topics are also disallowed.

Parameters:
filter - Places constraints on individual topicmap constructs.
Since:
3.2

getElementId

public java.lang.String getElementId(TMObjectIF tmobject)
INTERNAL: Method used to extract the XTM element id from a topic map object when a source locator relative to the topic map base address exists.

This method is critical because we want to preserve the connection between subject indicators used to reify local objects, and at the same time we wish to keep the symbolic IDs often used in XTM and LTM files.

When setting the IDs of elements we set the ID to "fragment" if the object has a source locator of the form "base#fragment", where base is the base address of the topic map store. If no such source locator is found, the ID becomes "id" + object ID.

See the getSubjectIndicatorRef method in XTMTopicMapExporter to see how subject indicators are exported. Synchronization of these two methods is vital.


mayCollide

public static boolean mayCollide(java.lang.String id)
INTERNAL: Used to find out whether this ID may collide with IDs produced from object IDs. See bug #654. Works for both id234234 and idT234234.



Copyright © 2000-2009 Ontopia.