org.semanticweb.owl.model
Interface OWLObject

All Superinterfaces:
Cloneable, Serializable
All Known Subinterfaces:
OWLAnd, OWLAnnotationInstance, OWLAnnotationProperty, OWLBooleanDescription, OWLCardinalityRestriction, OWLClass, OWLClassAxiom, OWLDataAllRestriction, OWLDataCardinalityRestriction, OWLDataEnumeration, OWLDataProperty, OWLDataPropertyInstance, OWLDataQuantifiedRestriction, OWLDataRange, OWLDataRestriction, OWLDataSomeRestriction, OWLDataType, OWLDataValue, OWLDataValueRestriction, OWLDescription, OWLDifferentIndividualsAxiom, OWLDisjointClassesAxiom, OWLDLOntology, OWLEntity, OWLEnumeration, OWLEquivalentClassesAxiom, OWLEquivalentPropertiesAxiom, OWLFrame, OWLIndividual, OWLIndividualAxiom, OWLLiteOntology, OWLNamedObject, OWLNaryBooleanDescription, OWLNot, OWLObjectAllRestriction, OWLObjectCardinalityRestriction, OWLObjectProperty, OWLObjectPropertyInstance, OWLObjectQuantifiedRestriction, OWLObjectRestriction, OWLObjectSomeRestriction, OWLObjectValueRestriction, OWLOntology, OWLOr, OWLProperty, OWLPropertyAxiom, OWLPropertyInstance, OWLRestriction, OWLSameIndividualsAxiom, OWLSubClassAxiom, OWLSubPropertyAxiom
All Known Implementing Classes:
OWLAndImpl, OWLAnnotationInstanceImpl, OWLAnnotationPropertyImpl, OWLClassImpl, OWLConcreteDataImpl, OWLConcreteDataTypeImpl, OWLDataAllRestrictionImpl, OWLDataCardinalityRestrictionImpl, OWLDataEnumerationImpl, OWLDataPropertyImpl, OWLDataQuantifiedRestrictionImpl, OWLDataRestrictionImpl, OWLDataSomeRestrictionImpl, OWLDataValueRestrictionImpl, OWLDifferentIndividualsAxiomImpl, OWLDisjointClassesAxiomImpl, OWLEntityImpl, OWLEnumerationImpl, OWLEquivalentClassesAxiomImpl, OWLEquivalentPropertiesAxiomImpl, OWLFrameImpl, OWLIndividualAxiomImpl, OWLIndividualImpl, OWLNamedObjectImpl, OWLNaryBooleanDescriptionImpl, OWLNotImpl, OWLObjectAllRestrictionImpl, OWLObjectCardinalityRestrictionImpl, OWLObjectImpl, OWLObjectPropertyImpl, OWLObjectQuantifiedRestrictionImpl, OWLObjectRestrictionImpl, OWLObjectSomeRestrictionImpl, OWLObjectValueRestrictionImpl, OWLOntologyImpl, OWLOrImpl, OWLPropertyImpl, OWLSameIndividualsAxiomImpl, OWLSubClassAxiomImpl, OWLSubPropertyAxiomImpl

public interface OWLObject
extends Cloneable, Serializable

A top level interface for the kinds of things that are found in Ontologies. Each OWLObject knows about the OWLDataFactory that was used to create it. OWLObjects also accept visits from OWLObjectVisitor. The use of the Visitor pattern (see Design Patterns, Gamma et. al. p.331) allows us to extend the functionality of the data structures without having to alter the underlying implementation.
In addition, we can store metadata about any OWLObject using a Map. This allows us to store pretty much anything we want, although any clients of the objects will, of course, need to know something about the way in which that metadata is structured in order to make use of it.

Version:
$Id: OWLObject.java,v 1.1.1.1 2003/10/14 17:10:08 sean_bechhofer Exp $

Method Summary
 void accept(OWLObjectVisitor visitor)
          Accept a visit from a visitor
 Object clone()
           
 Set getAnnotations()
          Returns the annotations on the object.
 Set getAnnotations(OWLOntology o)
          Returns the annotations on the object in the given ontology.
 OWLObject[] getContainedObjects()
          Return any objects which are contained within this object.
 Map getMetadata()
          Get metadata -- this returns a Map which allows the support of arbitrary metadata.
 OWLConnection getOWLConnection()
          Returns the Connection of this object
 OWLDataFactory getOWLDataFactory()
          Returns an OWLDataFactory [REVIEW] the DataFactory should live with the connection object...
 

Method Detail

getContainedObjects

public OWLObject[] getContainedObjects()
                                throws OWLException
Return any objects which are contained within this object. By contained this means, any of the objects which can be reached from any of more specific methods in the interface. The ordering of the objects in the array is undefined. A null return represents an empty collection.

Returns:
an OWLObject[], or null.
OWLException

getOWLDataFactory

public OWLDataFactory getOWLDataFactory()
                                 throws OWLException
Returns an OWLDataFactory [REVIEW] the DataFactory should live with the connection object...

OWLException

getOWLConnection

public OWLConnection getOWLConnection()
                               throws OWLException
Returns the Connection of this object

OWLException

clone

public Object clone()

accept

public void accept(OWLObjectVisitor visitor)
            throws OWLException
Accept a visit from a visitor

OWLException

getMetadata

public Map getMetadata()
                throws OWLException
Get metadata -- this returns a Map which allows the support of arbitrary metadata.

OWLException

getAnnotations

public Set getAnnotations()
                   throws OWLException
Returns the annotations on the object.

OWLException

getAnnotations

public Set getAnnotations(OWLOntology o)
                   throws OWLException
Returns the annotations on the object in the given ontology.

OWLException


WonderWeb