org.apache.myfaces.custom.dynaForm.metadata.impl.ejb
Class EjbExtractor

java.lang.Object
  extended by org.apache.myfaces.custom.dynaForm.metadata.impl.ejb.EjbExtractor
All Implemented Interfaces:
Extractor
Direct Known Subclasses:
HibernateExtractor

public class EjbExtractor
extends java.lang.Object
implements Extractor

Extract metadata from ejb3 beans


Nested Class Summary
protected static class EjbExtractor.Context
           
protected static class EjbExtractor.ContextInfo
           
 
Constructor Summary
EjbExtractor()
           
 
Method Summary
protected  boolean checkEmbeddEntity(EjbExtractor.Context context, MetaData metaData, java.lang.String name)
          check if we should embedd this entity
protected  java.lang.String convertMethodName(java.lang.String name)
          get rid of get/set/is in method names
protected  void create(EjbExtractor.Context context, MetaData metaData, java.lang.Class entityClass)
          create the metadata for the given class
protected  void createClassList(java.util.List<java.lang.Class> classes, java.lang.Class clazz)
          get all super classes needed to be parsed.
protected  java.lang.String createFullName(EjbExtractor.Context context, java.lang.String name)
           
protected  java.lang.Boolean determineAccessByField(java.lang.Class clazz)
           
protected  void embeddEntity(EjbExtractor.Context context, MetaData metaData, java.lang.String name, java.lang.Class entityType)
          embedd this entity
protected  java.lang.reflect.Field[] getFields(java.lang.Class entityClass)
           
 void getMetaData(MetaData metaData, java.lang.Object entity)
          the entity name as string
protected  java.lang.reflect.Method[] getMethods(java.lang.Class entityClass)
           
protected  boolean hasAnnotationTransient(java.lang.reflect.AccessibleObject accessibleObject)
          skip method/fields annotated with transient
protected  void initFromAnnotations(EjbExtractor.Context context, MetaData.FieldImpl mdField, java.lang.reflect.AccessibleObject accessibleObject)
          init metadata from annotations
protected  void initFromFields(EjbExtractor.Context context, MetaData metaData, java.lang.reflect.Field[] fields)
          ejb3 access through fields
protected  void initFromMethods(EjbExtractor.Context context, MetaData metaData, java.lang.reflect.Method[] methods)
          ejb3 access through methods (properties)
protected  void initFromType(EjbExtractor.Context context, MetaData.FieldImpl mdField, java.lang.Class type)
           
protected  boolean processEmbedded(EjbExtractor.Context context, MetaData metaData, java.lang.reflect.AccessibleObject accessibleObject, java.lang.String name, java.lang.Class<?> type)
           
protected  void processField(EjbExtractor.Context context, MetaData metaData, java.lang.reflect.AccessibleObject accessibleObject, java.lang.String name, java.lang.Class<?> type, java.lang.Boolean canRead, java.lang.Boolean canWrite)
          process the given field - or ist superclass if it is embedded
protected  void setSpecialFieldDisabled(MetaData.FieldImpl mdField)
          configure a special fields as disabled.
protected  boolean validModifier(int modifier, boolean isMethod)
          skip method/fields marked as static/transient
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

EjbExtractor

public EjbExtractor()
Method Detail

getMetaData

public void getMetaData(MetaData metaData,
                        java.lang.Object entity)
the entity name as string

Specified by:
getMetaData in interface Extractor

createClassList

protected void createClassList(java.util.List<java.lang.Class> classes,
                               java.lang.Class clazz)
get all super classes needed to be parsed.


create

protected void create(EjbExtractor.Context context,
                      MetaData metaData,
                      java.lang.Class entityClass)
create the metadata for the given class


determineAccessByField

protected java.lang.Boolean determineAccessByField(java.lang.Class clazz)

getMethods

protected java.lang.reflect.Method[] getMethods(java.lang.Class entityClass)

getFields

protected java.lang.reflect.Field[] getFields(java.lang.Class entityClass)

initFromFields

protected void initFromFields(EjbExtractor.Context context,
                              MetaData metaData,
                              java.lang.reflect.Field[] fields)
ejb3 access through fields


processField

protected void processField(EjbExtractor.Context context,
                            MetaData metaData,
                            java.lang.reflect.AccessibleObject accessibleObject,
                            java.lang.String name,
                            java.lang.Class<?> type,
                            java.lang.Boolean canRead,
                            java.lang.Boolean canWrite)
process the given field - or ist superclass if it is embedded


processEmbedded

protected boolean processEmbedded(EjbExtractor.Context context,
                                  MetaData metaData,
                                  java.lang.reflect.AccessibleObject accessibleObject,
                                  java.lang.String name,
                                  java.lang.Class<?> type)

checkEmbeddEntity

protected boolean checkEmbeddEntity(EjbExtractor.Context context,
                                    MetaData metaData,
                                    java.lang.String name)
check if we should embedd this entity


createFullName

protected java.lang.String createFullName(EjbExtractor.Context context,
                                          java.lang.String name)

embeddEntity

protected void embeddEntity(EjbExtractor.Context context,
                            MetaData metaData,
                            java.lang.String name,
                            java.lang.Class entityType)
embedd this entity


initFromAnnotations

protected void initFromAnnotations(EjbExtractor.Context context,
                                   MetaData.FieldImpl mdField,
                                   java.lang.reflect.AccessibleObject accessibleObject)
init metadata from annotations


setSpecialFieldDisabled

protected void setSpecialFieldDisabled(MetaData.FieldImpl mdField)
configure a special fields as disabled. e.g. used for Id, Version, ....


initFromMethods

protected void initFromMethods(EjbExtractor.Context context,
                               MetaData metaData,
                               java.lang.reflect.Method[] methods)
ejb3 access through methods (properties)


initFromType

protected void initFromType(EjbExtractor.Context context,
                            MetaData.FieldImpl mdField,
                            java.lang.Class type)

convertMethodName

protected java.lang.String convertMethodName(java.lang.String name)
get rid of get/set/is in method names


hasAnnotationTransient

protected boolean hasAnnotationTransient(java.lang.reflect.AccessibleObject accessibleObject)
skip method/fields annotated with transient


validModifier

protected boolean validModifier(int modifier,
                                boolean isMethod)
skip method/fields marked as static/transient



Copyright © 2011. All Rights Reserved.