Package net.ontopia.topicmaps.core

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

See:
          Description

Interface Summary
AssociationIF PUBLIC: Implemented by objects representing associations in the topic map model.
AssociationRoleIF PUBLIC: Implemented by objects representing association roles in the topic map model.
OccurrenceIF PUBLIC: Implemented by objects representing occurrences in the topic map model.
ReifiableIF PUBLIC: Implemented by topic map objects that can be reified.
ScopedIF PUBLIC: Implemented by topic map objects that have scope.
TMObjectIF PUBLIC: The base topic map object interface that all topic map objects implement.
TopicIF PUBLIC: This interface is implemented by objects representing topics in the topic map model.
TopicMapBuilderIF PUBLIC: A helper for building topic map object structures.
TopicMapFragmentWriterIF PUBLIC: Implementations of this interface can export fragments of topic maps to some Topic Maps syntax given a collection of topics to include.
TopicMapIF PUBLIC: Represents an entire topic map.
TopicMapImporterIF PUBLIC: A topic map importer interface which enables the destination of the importation to be given, but allows the source from which the importer reads its input topic map to be implicit and implementation-dependent.
TopicMapReaderIF PUBLIC: A topic map reader is used to read topic maps from an implementation specific, implicit source.
TopicMapStoreFactoryIF PUBLIC: Factory interface for creating new topic map store objects.
TopicMapStoreIF PUBLIC: A topic map store is used to represent the connection between one topic map and a repository where the data instantiating that topic map is held (in an implementation-specific form).
TopicMapWriterIF PUBLIC: A topic map writer is used to write/export topic maps in an implementation dependent way to an implicit destination.
TopicNameIF PUBLIC: Implemented by an object which represents a topic name, which is a topic characteristic.
TypedIF PUBLIC: Implemented by topic map objects that are instances of a single type, such as occurrences, associations, association roles, and topic names.
VariantNameIF PUBLIC: Implemented by objects representing variant names for topics.
 

Class Summary
DataTypes PUBLIC: Enumeration of common data types.
 

Exception Summary
ConstraintViolationException PUBLIC: Thrown when an object model constraint is violated.
CrossTopicMapException PUBLIC: Thrown when a topic map object is attempted used in more than a single topic maps.
NotRemovableException PUBLIC: Thrown when an object is attempted removed, but cannot.
ObjectRemovedException PUBLIC: Thrown when a deleted topic map object is attempted reassigned to a property in a topic map.
ReadOnlyException PUBLIC: Thrown when changes are attempted made on read-only objects.
StoreDeletedException PUBLIC: An exception that is thrown when a store has been deleted.
StoreNotOpenException PUBLIC: An exception that is thrown when parts of a store is accessed without the store being open.
TransactionNotActiveException PUBLIC: An exception that is thrown when a transaction is accessed without the transaction being active.
UniquenessViolationException PUBLIC: Thrown when a uniqueness constraint is violated.
 

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).



Copyright © 2000-2012 Ontopia.