jade.content.schema
Class AggregateSchema

java.lang.Object
  |
  +--jade.content.schema.ObjectSchema
        |
        +--jade.content.schema.ObjectSchemaImpl
              |
              +--jade.content.schema.TermSchema
                    |
                    +--jade.content.schema.AggregateSchema

public class AggregateSchema
extends TermSchema

Author:
Federico Bergenti - Universita` di Parma
See Also:
Serialized Form

Field Summary
static java.lang.String BASE_NAME
           
 
Fields inherited from class jade.content.schema.TermSchema
BASE_NAME
 
Fields inherited from class jade.content.schema.ObjectSchema
BASE_NAME, baseSchema, MANDATORY, OPTIONAL, UNLIMITED
 
Constructor Summary
AggregateSchema(java.lang.String typeName)
          Creates an AggregateSchema with a given type-name.
 
Method Summary
protected  boolean descendsFrom(ObjectSchema s)
          Return true if - s is the base schema for the XXXSchema class this schema is an instance of (e.g. s is ConceptSchema.getBaseSchema() and this schema is an instance of ConceptSchema) - s is the base schema for a super-class of the XXXSchema class this schema is an instance of (e.g. s is TermSchema.getBaseSchema() and this schema is an instance of ConceptSchema)
 boolean equals(java.lang.Object o)
          The difference between types of aggregates (such as SET and SEQUENCE) is quite fuzy.
static ObjectSchema getBaseSchema()
          Retrieve the generic base schema for all aggregates.
 AbsObject newInstance()
          Creates an Abstract descriptor to hold an aggregate of the proper type.
 void validate(AbsObject abs, Ontology onto)
          Check whether a given abstract descriptor complies with this schema.
 
Methods inherited from class jade.content.schema.ObjectSchemaImpl
add, add, add, add, addFacet, addSuperSchema, containsSlot, getFacets, getNames, getSchema, getTypeName, isCompatibleWith, toString, validateSlots
 
Methods inherited from class jade.content.schema.ObjectSchema
getEncodingByOrder, setEncodingByOrder
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

BASE_NAME

public static final java.lang.String BASE_NAME
Constructor Detail

AggregateSchema

public AggregateSchema(java.lang.String typeName)
Creates an AggregateSchema with a given type-name.
Parameters:
typeName - The name of this AggregateSchema.
Method Detail

getBaseSchema

public static ObjectSchema getBaseSchema()
Retrieve the generic base schema for all aggregates.
Returns:
the generic base schema for all aggregates.

newInstance

public AbsObject newInstance()
                      throws OntologyException
Creates an Abstract descriptor to hold an aggregate of the proper type.
Overrides:
newInstance in class TermSchema

validate

public void validate(AbsObject abs,
                     Ontology onto)
              throws OntologyException
Check whether a given abstract descriptor complies with this schema.
Overrides:
validate in class jade.content.schema.ObjectSchemaImpl
Parameters:
abs - The abstract descriptor to be checked
Throws:
OntologyException - If the abstract descriptor does not complies with this schema

descendsFrom

protected boolean descendsFrom(ObjectSchema s)
Return true if - s is the base schema for the XXXSchema class this schema is an instance of (e.g. s is ConceptSchema.getBaseSchema() and this schema is an instance of ConceptSchema) - s is the base schema for a super-class of the XXXSchema class this schema is an instance of (e.g. s is TermSchema.getBaseSchema() and this schema is an instance of ConceptSchema)
Overrides:
descendsFrom in class TermSchema

equals

public boolean equals(java.lang.Object o)
The difference between types of aggregates (such as SET and SEQUENCE) is quite fuzy. Therefore we don't throw a validation exception if a SET is found where a SEQUENCE is expected and VV.
Overrides:
equals in class jade.content.schema.ObjectSchemaImpl