jade.content.onto
Class ReflectiveIntrospector

java.lang.Object
  extended by jade.content.onto.ReflectiveIntrospector
All Implemented Interfaces:
Introspector, java.io.Serializable
Direct Known Subclasses:
BCReflectiveIntrospector, CFReflectiveIntrospector

public class ReflectiveIntrospector
extends java.lang.Object
implements Introspector

The default introspector for user defined ontologies that uses Java Reflection to translate java objects to/from abstract descriptors.
NOT available in MIDP

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

Constructor Summary
ReflectiveIntrospector()
           
 
Method Summary
 void checkClass(ObjectSchema schema, java.lang.Class javaClass, Ontology onto)
          Check the structure of a java class associated to an ontological element to ensure that translations to/from abstract descriptors and java objects (instances of that class) can be accomplished by this introspector.
 AbsAggregate externalizeAggregate(java.lang.String slotName, java.lang.Object obj, ObjectSchema schema, Ontology referenceOnto)
           
 AbsObject externalizeSpecialType(java.lang.Object obj, ObjectSchema schema, java.lang.Class javaClass, Ontology referenceOnto)
           
 java.lang.Object getSlotValue(java.lang.String slotName, java.lang.Object obj, ObjectSchema schema)
           
 java.lang.Object internalizeAggregate(java.lang.String slotName, AbsAggregate abs, ObjectSchema schema, Ontology referenceOnto)
           
 java.lang.Object internalizeSpecialType(AbsObject abs, ObjectSchema schema, java.lang.Class javaClass, Ontology referenceOnto)
           
 void setSlotValue(java.lang.String slotName, java.lang.Object slotValue, java.lang.Object obj, ObjectSchema schema)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ReflectiveIntrospector

public ReflectiveIntrospector()
Method Detail

getSlotValue

public java.lang.Object getSlotValue(java.lang.String slotName,
                                     java.lang.Object obj,
                                     ObjectSchema schema)
                              throws OntologyException
Specified by:
getSlotValue in interface Introspector
Throws:
OntologyException

setSlotValue

public void setSlotValue(java.lang.String slotName,
                         java.lang.Object slotValue,
                         java.lang.Object obj,
                         ObjectSchema schema)
                  throws OntologyException
Specified by:
setSlotValue in interface Introspector
Throws:
OntologyException

checkClass

public void checkClass(ObjectSchema schema,
                       java.lang.Class javaClass,
                       Ontology onto)
                throws OntologyException
Check the structure of a java class associated to an ontological element to ensure that translations to/from abstract descriptors and java objects (instances of that class) can be accomplished by this introspector.

Specified by:
checkClass in interface Introspector
Parameters:
schema - The schema of the ontological element
javaClass - The java class associated to the ontologcal element
onto - The Ontology that uses this Introspector
Throws:
OntologyException - if the java class does not have the correct structure

externalizeAggregate

public AbsAggregate externalizeAggregate(java.lang.String slotName,
                                         java.lang.Object obj,
                                         ObjectSchema schema,
                                         Ontology referenceOnto)
                                  throws OntologyException
Specified by:
externalizeAggregate in interface Introspector
Throws:
OntologyException

internalizeAggregate

public java.lang.Object internalizeAggregate(java.lang.String slotName,
                                             AbsAggregate abs,
                                             ObjectSchema schema,
                                             Ontology referenceOnto)
                                      throws OntologyException
Specified by:
internalizeAggregate in interface Introspector
Throws:
OntologyException

externalizeSpecialType

public AbsObject externalizeSpecialType(java.lang.Object obj,
                                        ObjectSchema schema,
                                        java.lang.Class javaClass,
                                        Ontology referenceOnto)
                                 throws OntologyException
Specified by:
externalizeSpecialType in interface Introspector
Throws:
OntologyException

internalizeSpecialType

public java.lang.Object internalizeSpecialType(AbsObject abs,
                                               ObjectSchema schema,
                                               java.lang.Class javaClass,
                                               Ontology referenceOnto)
                                        throws OntologyException
Specified by:
internalizeSpecialType in interface Introspector
Throws:
OntologyException


These are the official JADE API. For these API backward compatibility is guaranteed accross JADE versions