org.objectweb.jorm.type.lib
Class PTypeSpacePAAH
java.lang.Object
|
+--org.objectweb.jorm.type.lib.PTypeSpacePAAH
- All Implemented Interfaces:
- PTypeSpace, java.io.Serializable
- public class PTypeSpacePAAH
- extends java.lang.Object
- implements PTypeSpace
- See Also:
- Serialized Form
| Fields inherited from interface org.objectweb.jorm.type.api.PTypeSpace |
BIGDECIMAL, BOOLEAN, BYTE, BYTEARRAY, CHAR, CHARARRAY, DATE, DOUBLE, FLOAT, INT, LONG, NULLSUPERCLASSNAMES, NULLSUPERTYPES, OBJBOOLEAN, OBJBYTE, OBJCHAR, OBJDOUBLE, OBJFLOAT, OBJINT, OBJLONG, OBJSHORT, PREDEFINEDPTYPES, REFTOP, SCALARPTYPES, SERIALIZED, SHORT, STRING |
|
Method Summary |
PType |
createPType(java.lang.String classname)
It creates a new PType for a JORM class that has no inherited class. |
PType |
createPType(java.lang.String[] gcnames,
PType ptype)
It creates a new PType for a JORM generic class instance. |
PType |
createPType(java.lang.String[] gcnames,
java.lang.String typename,
java.lang.String[][] superclassnames)
It creates a new PType for a JORM generic class instance. |
PType |
createPType(java.lang.String classname,
java.lang.String[][] superclassnames)
It creates a new PType for a JORM class. |
PType |
getPType(java.lang.String classname)
It tries to retrieve a PType representing a JORM class with the given
class name. |
PType[] |
getSubTypes(PType pt)
Retrieves all subtypes of this PType defined within its PTypeSpace. |
boolean |
isa(PType pt1,
PType pt2)
It compares to PType representing JORM classes. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
PTypeSpacePAAH
public PTypeSpacePAAH()
createPType
public PType createPType(java.lang.String classname)
throws PExceptionTyping
- It creates a new PType for a JORM class that has no inherited class.
- Specified by:
createPType in interface PTypeSpace
- Parameters:
classname - The name of the JORM class.- Returns:
- The created PType or the existing one if it has the same
definition (same name and same super types).
- Throws:
PExceptionTyping - Raised when a PType with this class name
exists with a different array of super
types.
createPType
public PType createPType(java.lang.String classname,
java.lang.String[][] superclassnames)
throws PExceptionTyping
- It creates a new PType for a JORM class. It is defined by its name and
its inheritance hierarchy. For example, if "Engineer" inherits from
"Employee" that inherits from "Person", then the following stands:
- classname = "schm1.Engineer"
- superclassnames = {{"schm1.Engineer", "schm2.Employee"},
{"schm2.Employee", "schm3.Person"}}
- Specified by:
createPType in interface PTypeSpace
- Parameters:
classname - The name of the JORM class to be defined.superclassnames - The hierarchy of of classes inherited by the
previous class (defined by classname) if any.- Returns:
- The created PType or the existing one if it has the same
definition (same name and same super types).
- Throws:
PExceptionTyping - Raised when a PType with this class name
exists with a different array of super
types.
createPType
public PType createPType(java.lang.String[] gcnames,
PType ptype)
throws PExceptionTyping
- It creates a new PType for a JORM generic class instance. Such an
instance may have a nested structure like
"list>>", which means that:
- gcnames = {"list", "array", "set"}
- ptypename = INT
- Specified by:
createPType in interface PTypeSpace
- Parameters:
gcnames - The array of names of the nested generic classes.ptypename - The PType of the type of the elements contained
within this generic class, which is one of those
defined inside PREDEFINEDPTYPES.- Returns:
- The created PType or the existing one if it has the same
definition (same name and same element type).
- Throws:
PExceptionTyping - Raised when a PType with this class name
exists with a different inner PType
createPType
public PType createPType(java.lang.String[] gcnames,
java.lang.String typename,
java.lang.String[][] superclassnames)
throws PExceptionTyping
- It creates a new PType for a JORM generic class instance. Such an
instance may have a nested structure like
"list>>", which means that:
- gcnames = {"list", "array", "set"}
- typename = "schm1.Engineer"
- superclassnames = {{"schm1.Engineer", "schm2.Employee"},
{"schm2.Employee", "schm3.Person"}}
- Specified by:
createPType in interface PTypeSpace
- Parameters:
gcnames - The array of names of the nested generic
classes.typename - The name of the type of the elements contained
within this generic class.superclassnames - The hierarchy of of classes inherited by the
previous class (defined by typename) if any.- Returns:
- The created PType or the existing one if it has the same
definition (same name and same element type).
- Throws:
PExceptionTyping - Raised when a PType with this class name
exists with a different inner PType
getPType
public PType getPType(java.lang.String classname)
- It tries to retrieve a PType representing a JORM class with the given
class name.
- Specified by:
getPType in interface PTypeSpace
- Parameters:
classname - The name of a JORM class the PType is looking for.- Returns:
- The relevant PType if one has been found or null if none found.
getSubTypes
public PType[] getSubTypes(PType pt)
- Retrieves all subtypes of this PType defined within its PTypeSpace.
- Specified by:
getSubTypes in interface PTypeSpace
- Parameters:
pt - The concerned PType.- Returns:
- The array of PType containing all these subtypes.
isa
public boolean isa(PType pt1,
PType pt2)
- It compares to PType representing JORM classes. It verifies if the first
one conforms to the second one.
- Specified by:
isa in interface PTypeSpace
- Parameters:
pt1 - The first JORM class PType.pt2 - The second JORM class PType.- Returns:
- It returns true if pt1 conforms to pt2.