jade.content.onto
Class BCReflectiveIntrospector

java.lang.Object
  |
  +--jade.content.onto.ReflectiveIntrospector
        |
        +--jade.content.onto.BCReflectiveIntrospector
All Implemented Interfaces:
Introspector, java.io.Serializable, Serializable

public class BCReflectiveIntrospector
extends ReflectiveIntrospector

Backward Compatible reflective introspector. This Introspector uses Java Reflection to translate java objects to/from abstract descriptors as the ReflectiveIntrospector does, but it assumes the accessors methods for aggregate slots to be in the "old JADE style" i.e. For every aggregate slot named XXX, with elements of type T, the Java class must have two accessible methods, with the following signature:


NOT available in MIDP

Author:
Giovanni Caire - TILAB
See Also:
Serialized Form

Constructor Summary
BCReflectiveIntrospector()
           
 
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.
 AbsObject externalise(java.lang.Object obj, ObjectSchema schema, java.lang.Class javaClass, Ontology referenceOnto)
          Translate an object of a class representing an element in an ontology into a proper abstract descriptor.
 java.lang.Object internalise(AbsObject abs, ObjectSchema schema, java.lang.Class javaClass, Ontology referenceOnto)
          Translate an abstract descriptor into an object of a proper class representing an element in an ontology
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BCReflectiveIntrospector

public BCReflectiveIntrospector()
Method Detail

externalise

public AbsObject externalise(java.lang.Object obj,
                             ObjectSchema schema,
                             java.lang.Class javaClass,
                             Ontology referenceOnto)
                      throws OntologyException
Translate an object of a class representing an element in an ontology into a proper abstract descriptor.

Specified by:
externalise in interface Introspector
Overrides:
externalise in class ReflectiveIntrospector
Parameters:
obj - The Object to be translated
schema - The schema for the ontological element this object is an instance of.
javaClass - The class of the Object to be translated
referenceOnto - The reference ontology in the context of this translation.
Returns:
The Abstract descriptor produced by the translation
Throws:
OntologyException - If some error occurs during the translation

internalise

public java.lang.Object internalise(AbsObject abs,
                                    ObjectSchema schema,
                                    java.lang.Class javaClass,
                                    Ontology referenceOnto)
                             throws UngroundedException,
                                    OntologyException
Translate an abstract descriptor into an object of a proper class representing an element in an ontology

Specified by:
internalise in interface Introspector
Overrides:
internalise in class ReflectiveIntrospector
Parameters:
abs - The abstract descriptor to be translated
schema - The schema for the ontological element this abstract descriptor is an instance of.
javaClass - The class of the Object to be produced by the translation
referenceOnto - The reference ontology in the context of this translation.
Returns:
The Java object produced by the translation
Throws:
UngroundedException - If the abstract descriptor to be translated contains a variable
OntologyException - If some error occurs during the translation

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
Overrides:
checkClass in class ReflectiveIntrospector
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


JADE