Class RDBMSTopicMapSource

java.lang.Object
net.ontopia.topicmaps.impl.rdbms.RDBMSTopicMapSource
All Implemented Interfaces:
AutoCloseable, TopicMapSourceIF

public class RDBMSTopicMapSource extends Object implements TopicMapSourceIF
PUBLIC: A topic map source that holds the list of all topic map references accessible by a rdbms session.
  • Field Details

    • supportsCreate

      protected boolean supportsCreate
    • supportsDelete

      protected boolean supportsDelete
    • base_address

      protected LocatorIF base_address
    • hidden

      protected boolean hidden
    • id

      protected String id
    • title

      protected String title
    • properties

      protected Map<String,String> properties
    • propfile

      protected String propfile
    • queryfile

      protected String queryfile
    • topicListeners

      protected String topicListeners
    • refmap

      protected Map<String,TopicMapReferenceIF> refmap
    • storage

      protected RDBMSStorage storage
  • Constructor Details

    • RDBMSTopicMapSource

      public RDBMSTopicMapSource()
      PUBLIC: Creates an rdbms topic map source. Use the setter methods to provide the instance with the properties it needs.

      If the property file has not been given the 'net.ontopia.topicmaps.impl.rdbms.PropertyFile' system properties will be used.

    • RDBMSTopicMapSource

      public RDBMSTopicMapSource(String propfile)
      INTERNAL: Creates an rdbms topic map source with the database property file set.
    • RDBMSTopicMapSource

      public RDBMSTopicMapSource(Map<String,String> properties)
      INTERNAL: Creates an rdbms topic map source with the specified database properties.
      Since:
      1.2.4
  • Method Details

    • getId

      public String getId()
      Description copied from interface: TopicMapSourceIF
      PUBLIC: Gets the id of the source.
      Specified by:
      getId in interface TopicMapSourceIF
    • setId

      public void setId(String id)
      Description copied from interface: TopicMapSourceIF
      PUBLIC: Sets the id of the source. Note that this method is intended for use when the source is used in a TopicMapRepositoryIF. The source should throw an UnsupportedOperationException if it does not support setting the id.

      Specified by:
      setId in interface TopicMapSourceIF
    • getTitle

      public String getTitle()
      Description copied from interface: TopicMapSourceIF
      PUBLIC: Gets the title of the source.
      Specified by:
      getTitle in interface TopicMapSourceIF
    • setTitle

      public void setTitle(String title)
      Description copied from interface: TopicMapSourceIF
      PUBLIC: Sets the title of the source.

      Specified by:
      setTitle in interface TopicMapSourceIF
    • getBaseAddress

      public String getBaseAddress()
      PUBLIC: Gets the base address of the topic maps retrieved from the source. The notation is assumed to be 'URI'.
    • setBaseAddress

      public void setBaseAddress(String base_address)
      PUBLIC: Sets the base address of the topic maps retrieved from the source. The notation is assumed to be 'URI'.
    • getPropertyFile

      public String getPropertyFile()
      PUBLIC: Gets the database property file containing configuration parameters for accessing the rdbms database.
    • setPropertyFile

      public void setPropertyFile(String propfile)
      PUBLIC: Sets the database property file containing configuration parameters for accessing the rdbms database. The propfile given with first be attempted loaded from the file system. If it does not exist on the file system it will be loaded from the classpath. If the access must be explicit then the property file name can be prefixed by 'file:' or 'classpath:'.
    • setQueryfile

      public void setQueryfile(String queryfile)
      PUBLIC: Sets an additional SQL queries file to be loaded. Can be used to override or extend the SQL query set used by Ontopia. Warning: overriding queries should only be done by experts.
      Parameters:
      queryfile - The file to load. Will be passed to StreamUtils.getInputStream(java.lang.String)
      Since:
      5.4.0
    • getQueryfile

      public String getQueryfile()
      PUBLIC: returns the additional SQL query file set by setQueryfile(java.lang.String).
      Returns:
      The query file set.
      Since:
      5.4.0
    • getReferences

      public Collection<TopicMapReferenceIF> getReferences()
      Description copied from interface: TopicMapSourceIF
      PUBLIC: Returns an unmodifiable collection of TopicMapReferenceIFs found by the topic map source.
      Specified by:
      getReferences in interface TopicMapSourceIF
    • createStorage

      protected RDBMSStorage createStorage() throws IOException
      Throws:
      IOException
    • refresh

      public void refresh()
      Description copied from interface: TopicMapSourceIF
      PUBLIC: Refreshes the collection of references. This lets the source look at its underlying data source to reflect any changes made since the last refresh.
      Specified by:
      refresh in interface TopicMapSourceIF
    • close

      public void close()
      Description copied from interface: TopicMapSourceIF
      PUBLIC: Closes the source by releasing references it holds to e.g. database or file system objects.
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface TopicMapSourceIF
    • getMetrics

      public RDBMSMetricsIF getMetrics()
      PUBLIC: provides access to the RDBMSStorage.getMetrics(). Returns null if no storage was created yet.
      Returns:
      an RDBMSMetricsIF instance that provides storage metrics.
    • getReferenceId

      protected String getReferenceId(String baseAdress, String title, long topicmap_id)
    • createTopicMapReference

      protected RDBMSTopicMapReference createTopicMapReference(String referenceId, String title, RDBMSStorage storage, long topicmapId, LocatorIF baseAddress)
    • supportsCreate

      public boolean supportsCreate()
      Description copied from interface: TopicMapSourceIF
      PUBLIC: Returns true if the source supports creating new topic maps with the createTopicMap.
      Specified by:
      supportsCreate in interface TopicMapSourceIF
    • getSupportsCreate

      public boolean getSupportsCreate()
    • setSupportsCreate

      public void setSupportsCreate(boolean supportsCreate)
    • supportsDelete

      public boolean supportsDelete()
      Description copied from interface: TopicMapSourceIF
      PUBLIC: Returns true if the source supports deleting topic map with the TopicMapReferenceIF.delete() method.
      Specified by:
      supportsDelete in interface TopicMapSourceIF
    • getSupportsDelete

      public boolean getSupportsDelete()
    • setSupportsDelete

      public void setSupportsDelete(boolean supportsDelete)
    • createTopicMap

      public TopicMapReferenceIF createTopicMap(String name, String baseAddress)
      Description copied from interface: TopicMapSourceIF
      PUBLIC: Creates a new topic map in the underlying source and returns a reference to the created topic map. The method takes a name and the base address for the topic map to create.
      Specified by:
      createTopicMap in interface TopicMapSourceIF
    • getHidden

      public boolean getHidden()
    • setHidden

      public void setHidden(boolean hidden)
    • getTopicListeners

      public String getTopicListeners()
    • setTopicListeners

      public void setTopicListeners(String topicListeners)