Skip navigation links

Package net.ontopia.topicmaps.core

Provides interfaces for topic map objects; the topic map API for all Ontopia topic map implementations.

See: Description

Package net.ontopia.topicmaps.core Description

Provides interfaces for topic map objects; the topic map API for all Ontopia topic map implementations. In particular, this package enables topic map applications to be written without any dependencies on the repository-specific backend(s) used for managing the topic map data.

In addition, this package provides interfaces for some objects used to manage topic maps.

This package contains no implementations of these interfaces; all implementations are found as separate packages with the net.ontopia.topicmaps.impl prefix. Classes are included for exceptions thrown by violations of the integrity of a topic map.

Package Specification

The interfaces in this package provide an API for interacting with a topic map, covering the core topic map concepts, including: topic map; topic; association; occurrence; scope and type. (These terms are normally used as topic map terms, rather than with any other meaning, throughout Ontopia product documentation.) These interfaces provide facilities for creating and maintaining the detailed structure of a topic map.

This package provides a topic map store interface which enables the repository-specific details of establishing and maintaining a topic map (eg in a database) to be hidden from applications using the topic map. Similarly, repository-independent and format-independent interfaces are provided for reading and writing topic maps in serialized interchange format (such as XML).

Related Documentation

The purpose and scope of this package is explained further in the Ontopia Engine Developers Guide.

Class and Interface Summary

Topic map object interfaces

TMObjectIF is the common interface for all topic map objects, that is, for objects representing a topic map, topic, topic name, variant name, association, association role, or occurrence.

The interfaces for topic map objects are: TopicMapIF, TopicIF, TopicNameIF, VariantNameIF, AssociationIF, AssociationRoleIF, or OccurrenceIF. All these extend TMObjectIF.

Topic map object properties

TypedIF is implemented by topic map objects that have a single type. TypedIF is extended by AssociationIF, AssociationRoleIF, and OccurrenceIF.

ScopedIF is implemented by topic map objects that have scope. ScopedIF is extended by AssociationIF, TopicNameIF, VariantNameIF, and OccurrenceIF.

Topic map store interfaces

These are interfaces to make utility functions on a topic map store independent of the repository in which it is actually held. TopicMapStoreIF represents the connexion between a topic map and a repository.

TopicMapBuilderIF and TopicMapFactoryIF provide support for creating topic map object structures. TopicMapFactoryIF allows you to create topic map objects in a way that is independent of the specific implementation you use. TopicMapBuilderIF is implemented by a helper object that wraps a factory in order to provide a more convenient way of building topic map structures.(This simplifies the factory interface, which has to be implemented for each repository backend, at the expense of adding an extra interface, but one that needs only be implemented once.)

TopicMapImporterIF, TopicMapReaderIF, and TopicMapWriterIF provide support for obtaining and sending topic maps outside the store.

Exception Classes

Classes are provided in this package which support a uniform naming convention for exceptions thrown as a result of the violation of generic topic map properties. These are TopicMapViolationException, UniquenessViolationException and ConstraintViolationException (which both extend TopicMapViolationException), and PolicyViolationException (which extends OntopiaRuntimeException in the net.ontopia.utils package).

Skip navigation links

Copyright © 2022 Ontopia.