org.objectweb.medor.query.jorm.lib
Class PNameField

java.lang.Object
  extended byBasicCloneable
      extended byorg.objectweb.medor.lib.BasicField
          extended byorg.objectweb.medor.query.lib.BasicQueryTreeField
              extended byorg.objectweb.medor.query.jorm.lib.BasicJormField
                  extended byorg.objectweb.medor.query.jorm.lib.PNameField
All Implemented Interfaces:
Cloneable, java.lang.Cloneable, Field, JormField, NullStatus, QueryTreeField

public class PNameField
extends BasicJormField

This class represents Fields corresponding to the PName of a class or a Genclass(the NameDef of the class itself) or the the PName associated to a reference field or to a genclass element. The name of such a Field is a constant. Inherited field te: =================== In case where this PNameField represents the a reference field, this field is not null and references the Jorm Meta object Reference. In case where this PNameField represents GenClass identifier or the genclass element this field is not null and references the Jorm meta object GenClassRef.

Author:
Alexandre Lefebvre, Sebastien Chassande-Barrioz
See Also:
Serialized Form

Field Summary
protected  java.lang.Class clazz
          In case where this PNameField represents the PName of a Jorm class, this field is not null and references the Jorm Meta object Class.
protected  boolean isClassPName
          If the current PNameField represents a PName of a Jorm class or genclass, this field is equals to 'true'.
protected  boolean isInGenClass
          This fiedl returns 'true' if the current PNameField has been built to describe the PName identifier of a GenClass or the PName of the GenClass element.
 
Fields inherited from class org.objectweb.medor.query.jorm.lib.BasicJormField
te
 
Fields inherited from class org.objectweb.medor.query.lib.BasicQueryTreeField
qt
 
Fields inherited from class org.objectweb.medor.lib.BasicField
logger, name, type, valueState
 
Fields inherited from interface org.objectweb.medor.api.Field
PNAMENAME
 
Fields inherited from interface org.objectweb.medor.api.NullStatus
NONULLS, NULLABLE, NULLABLEUNKNOWN
 
Constructor Summary
PNameField()
           
PNameField(java.lang.String fieldName, ClassRef cr, QueryTree qt)
          This constructor must be used to built a PNameField associated to a classRef.
PNameField(java.lang.String fieldName, GenClassRef gcr, boolean isGenClassPName, QueryTree qt)
          This constructor must be used to built a PNameField associated to a GenClass identifier or the genclass element.
 
Method Summary
 java.lang.Object clone(java.lang.Object clone, java.util.Map obj2clone)
           
 GenClassRef getGenClassRef()
          It returns the jorm meta object GenClassRef in case of this PNameField represents a GenClass identifier or a GenClass element.
 java.lang.Class getMetaObjectClass()
          It returns the jorm meta object Class in case of this PNameField represents an identifier of a jorm class.
 NameDef getNameDef(JormExtent extent)
          Retrieves the NameDef corresponding to this PNameField
 java.lang.String getPNamingContextParameter()
          Retrieves the name of the ParameterOperand containing the PNamingContext.
 Reference getReference()
          It returns the jorm meta object Reference in case of this PNameField represents a reference field in a jorm class.
 MetaObject getTargetedMetaObject()
          Retrieves the Jorm meta object of the Class represented by this PNameField.
 boolean isClassPName()
          It returns 'true' when this PNameField represents the identifier of a jorm class or a jorm genclass.
 boolean isInGenClass()
          It returns 'true' if the current PNameField has been built to describe the PName identifier of a GenClass or the PName of the GenClass element.
 
Methods inherited from class org.objectweb.medor.query.jorm.lib.BasicJormField
getTypedElement
 
Methods inherited from class org.objectweb.medor.query.lib.BasicQueryTreeField
getQueryTree
 
Methods inherited from class org.objectweb.medor.lib.BasicField
getName, getNullStatus, getType, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.objectweb.medor.api.Field
getName, getNullStatus, getType
 
Methods inherited from interface org.objectweb.medor.api.Cloneable
clone
 

Field Detail

clazz

protected java.lang.Class clazz
In case where this PNameField represents the PName of a Jorm class, this field is not null and references the Jorm Meta object Class.


isClassPName

protected boolean isClassPName
If the current PNameField represents a PName of a Jorm class or genclass, this field is equals to 'true'. Otherwise the current PNameField represents a reference field or the genclass element then this field is equals to 'false'.


isInGenClass

protected boolean isInGenClass
This fiedl returns 'true' if the current PNameField has been built to describe the PName identifier of a GenClass or the PName of the GenClass element.

Constructor Detail

PNameField

public PNameField()

PNameField

public PNameField(java.lang.String fieldName,
                  GenClassRef gcr,
                  boolean isGenClassPName,
                  QueryTree qt)
           throws MedorException
This constructor must be used to built a PNameField associated to a GenClass identifier or the genclass element.

Parameters:
fieldName - is the name which must be given to the field.
gcr - is the jorm meta object which describes the genclass.
isGenClassPName - indicates if this PNameField will represent a genclass identifier(value='true'). Otherwise the this PNameField will represent a genclass element(value='false').
qt - is the QueryTree which is associated to this QueryTree field.

PNameField

public PNameField(java.lang.String fieldName,
                  ClassRef cr,
                  QueryTree qt)
           throws MedorException
This constructor must be used to built a PNameField associated to a classRef.

Parameters:
cr - is the jorm meta object ClassRef associated to this PNameField.
qt - is the QueryTree which is associated to this QueryTree field.
Method Detail

clone

public java.lang.Object clone(java.lang.Object clone,
                              java.util.Map obj2clone)
                       throws java.lang.CloneNotSupportedException
Overrides:
clone in class BasicJormField
Throws:
java.lang.CloneNotSupportedException

isClassPName

public boolean isClassPName()
It returns 'true' when this PNameField represents the identifier of a jorm class or a jorm genclass.


getReference

public Reference getReference()
It returns the jorm meta object Reference in case of this PNameField represents a reference field in a jorm class.


getMetaObjectClass

public java.lang.Class getMetaObjectClass()
It returns the jorm meta object Class in case of this PNameField represents an identifier of a jorm class.


getGenClassRef

public GenClassRef getGenClassRef()
It returns the jorm meta object GenClassRef in case of this PNameField represents a GenClass identifier or a GenClass element.


isInGenClass

public boolean isInGenClass()
It returns 'true' if the current PNameField has been built to describe the PName identifier of a GenClass or the PName of the GenClass element.


getNameDef

public NameDef getNameDef(JormExtent extent)
                   throws MedorException
Retrieves the NameDef corresponding to this PNameField

Parameters:
extent - attached to this PNameField
Throws:
MedorException - if it is not possible to fetch the Mapping for the project name and the mapper attached to the JormExtent.

getPNamingContextParameter

public java.lang.String getPNamingContextParameter()
Retrieves the name of the ParameterOperand containing the PNamingContext.


getTargetedMetaObject

public MetaObject getTargetedMetaObject()
Retrieves the Jorm meta object of the Class represented by this PNameField. If the parameter is a Class then the same value is returned. If the parameter is a ClassRef or a GenClassRef then referenced Class is returned. Otherwise a null value is returned.