org.apache.hivemind.schema
Interface Schema

All Superinterfaces:
AnnotationHolder, Locatable
All Known Implementing Classes:
ElementModelImpl, SchemaImpl

public interface Schema
extends AnnotationHolder, Locatable

An object which may contain a model, used to identify the form of XML content allowed within some other, containing element.

This is very much provisional; in the future will be more control for validation (i.e, controlling the number of occurances), and support for analogs of W3C SChema sequence and choice. The excess flexibility here forces some validation into element objects (the objects created from the Rules within the ElementModels).

Author:
Howard Lewis Ship

Method Summary
 boolean canInstancesBeKeyed()
          Returns true if Elements conforming to this Schema can be indexed using a key.
 Module getDefiningModule()
          Return the Module in which the Schema was defined.
 java.util.List getElementModel()
          Returns a List of ElementModel, identifing the elements which may be enclosed by the modeled element.
 java.lang.String getId()
          Returns the (unqualified) id of this schema.
 boolean visibleToModule(java.lang.String moduleId)
          Returns true if the schema is visible to the specified module, false otherwise.
 
Methods inherited from interface org.apache.hivemind.parse.AnnotationHolder
getAnnotation, setAnnotation
 
Methods inherited from interface org.apache.hivemind.Locatable
getLocation
 

Method Detail

getId

java.lang.String getId()
Returns the (unqualified) id of this schema.

Since:
1.1

getElementModel

java.util.List getElementModel()
Returns a List of ElementModel, identifing the elements which may be enclosed by the modeled element.

The returned list is unmodifiabled and may be empty, but won't be null.


canInstancesBeKeyed

boolean canInstancesBeKeyed()
Returns true if Elements conforming to this Schema can be indexed using a key. For this to be true every top-level ElementModel must define a non-null key attribute.

Since:
1.1

visibleToModule

boolean visibleToModule(java.lang.String moduleId)
Returns true if the schema is visible to the specified module, false otherwise.

Since:
1.1

getDefiningModule

Module getDefiningModule()
Return the Module in which the Schema was defined.

Since:
1.1