jade.content.onto
Class BasicOntology

java.lang.Object
  extended by jade.content.onto.Ontology
      extended by jade.content.onto.BasicOntology
All Implemented Interfaces:
SL0Vocabulary, java.io.Serializable

public class BasicOntology
extends Ontology
implements SL0Vocabulary

This class implements an ontology containing schemas for Primitive types and SL0 operators i.e. basic ontological elements required for minimal agent interaction. Users should always extend this ontology when defining their ontologies.

Author:
Federico Bergenti - Universita` di Parma, Giovanni Caire - TILAB
See Also:
Serialized Form

Field Summary
static java.lang.String BOOLEAN
           
static java.lang.String BYTE_SEQUENCE
           
static java.lang.String CONTENT_ELEMENT_LIST
           
static java.lang.String DATE
           
static java.lang.String FLOAT
           
static java.lang.String INTEGER
           
static java.lang.String STRING
           
 
Fields inherited from interface jade.content.lang.sl.SL0Vocabulary
ACLMSG, ACLMSG_BYTE_SEQUENCE_CONTENT, ACLMSG_CONTENT, ACLMSG_CONVERSATION_ID, ACLMSG_ENCODING, ACLMSG_IN_REPLY_TO, ACLMSG_LANGUAGE, ACLMSG_ONTOLOGY, ACLMSG_PERFORMATIVE, ACLMSG_PROTOCOL, ACLMSG_RECEIVERS, ACLMSG_REPLY_BY, ACLMSG_REPLY_TO, ACLMSG_REPLY_WITH, ACLMSG_SENDER, ACTION, ACTION_ACTION, ACTION_ACTOR, AID, AID_ADDRESSES, AID_NAME, AID_RESOLVERS, DONE, DONE_ACTION, DONE_CONDITION, EQUALS, EQUALS_LEFT, EQUALS_RIGHT, FALSE_PROPOSITION, RESULT, RESULT_ACTION, RESULT_ITEMS, RESULT_VALUE, SEQUENCE, SET, TRUE_PROPOSITION
 
Method Summary
static java.lang.Object adjustPrimitiveValue(java.lang.Object srcValue, java.lang.Class destClass)
          Convert, if possible, the numeric value srcValue into an instance of destClass
protected  AbsObject fromObject(java.lang.Object obj, Ontology referenceOnto)
          This method is redefined as BasicOntology does not use an Introspector for performance reason
static Ontology getInstance()
          Returns the singleton instance of the BasicOntology.
 ObjectSchema getSchema(java.lang.Class clazz)
          Redefine the getSchema() method to take into account java primitives.
 ObjectSchema getSchema(java.lang.String name)
          Redefine the getSchema() method to take into account ACL performatives.
static java.lang.Object resolveNumericValue(java.lang.Object srcValue, java.lang.Class destClass)
          Deprecated. Use adjustPrimitiveValue() instead
protected  java.lang.Object toObject(AbsObject abs, java.lang.String lcType, Ontology referenceOnto)
          This method is redefined as BasicOntology does not use an Introspector for performance reason
 
Methods inherited from class jade.content.onto.Ontology
add, add, checkIsTerm, createConceptSlotFunction, dump, dump, externalize, externalizeSlotValue, fromObject, getActionNames, getClassForElement, getConceptNames, getIntrospector, getName, getOwnActionNames, getOwnConceptNames, getOwnPredicateNames, getPredicateNames, getSlotValue, internalize, internalizeSlotValue, setSlotValue, toObject, toString, useConceptSlotsAsFunctions
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

STRING

public static final java.lang.String STRING
See Also:
Constant Field Values

FLOAT

public static final java.lang.String FLOAT
See Also:
Constant Field Values

INTEGER

public static final java.lang.String INTEGER
See Also:
Constant Field Values

BOOLEAN

public static final java.lang.String BOOLEAN
See Also:
Constant Field Values

DATE

public static final java.lang.String DATE
See Also:
Constant Field Values

BYTE_SEQUENCE

public static final java.lang.String BYTE_SEQUENCE
See Also:
Constant Field Values

CONTENT_ELEMENT_LIST

public static final java.lang.String CONTENT_ELEMENT_LIST
See Also:
Constant Field Values
Method Detail

getInstance

public static Ontology getInstance()
Returns the singleton instance of the BasicOntology.

Returns:
the singleton instance of the BasicOntology

toObject

protected java.lang.Object toObject(AbsObject abs,
                                    java.lang.String lcType,
                                    Ontology referenceOnto)
                             throws UngroundedException,
                                    OntologyException
This method is redefined as BasicOntology does not use an Introspector for performance reason

Overrides:
toObject in class Ontology
Parameters:
abs - the abstract descriptor.
lcType - the type of the abstract descriptor to be translated aconverted into lower case. This is passed as parameters to avoid making the conversion to lower case for each base ontology.
referenceOnto - The ontology this ontology is part of (i.e. the ontology that extends this ontology).
Returns:
the object
Throws:
UngroundedException - if the abstract descriptor contains a variable
UnknownSchemaException - If no schema for the abs descriptor to be translated is defined in this ontology.
OntologyException - if some mismatch with the schema is found * ontology. In this case UnknownSchema
See Also:
Ontology.toObject(AbsObject)

fromObject

protected AbsObject fromObject(java.lang.Object obj,
                               Ontology referenceOnto)
                        throws OntologyException
This method is redefined as BasicOntology does not use an Introspector for performance reason

Overrides:
fromObject in class Ontology
Parameters:
obj - the object
referenceOnto - The ontology this ontology is part of (i.e. the ontology that extends this ontology).
Returns:
the abstract descriptor.
Throws:
UnknownSchemaException - If no schema for the object to be translated is defined in this ontology.
OntologyException - if some mismatch with the schema is found
See Also:
Ontology.toObject(AbsObject)

getSchema

public ObjectSchema getSchema(java.lang.String name)
                       throws OntologyException
Redefine the getSchema() method to take into account ACL performatives.

Overrides:
getSchema in class Ontology
Parameters:
name - the name of the schema in the vocabulary.
Returns:
the schema or null if the schema is not found.
Throws:
OntologyException

getSchema

public ObjectSchema getSchema(java.lang.Class clazz)
                       throws OntologyException
Redefine the getSchema() method to take into account java primitives.

Overrides:
getSchema in class Ontology
Parameters:
clazz - the class whose associated schema must be retrieved.
Returns:
the schema associated to the given class or null if the schema is not found.
Throws:
OntologyException

adjustPrimitiveValue

public static java.lang.Object adjustPrimitiveValue(java.lang.Object srcValue,
                                                    java.lang.Class destClass)
Convert, if possible, the numeric value srcValue into an instance of destClass


resolveNumericValue

public static java.lang.Object resolveNumericValue(java.lang.Object srcValue,
                                                   java.lang.Class destClass)
Deprecated. Use adjustPrimitiveValue() instead