org.seasar.extension.jdbc.meta
クラス PropertyMetaFactoryImpl

java.lang.Object
  上位を拡張 org.seasar.extension.jdbc.meta.PropertyMetaFactoryImpl
すべての実装されたインタフェース:
PropertyMetaFactory

public class PropertyMetaFactoryImpl
extends java.lang.Object
implements PropertyMetaFactory

PropertyMetaFactoryの実装クラスです。

作成者:
higa

フィールドの概要
protected  ColumnMetaFactory columnMetaFactory
          カラムメタデータファクトリです。
protected static SequenceGenerator DEFAULT_SEQUENCE_GENERATOR
          デフォルトのSequenceGeneratorです。
protected static TableGenerator DEFAULT_TABLE_GENERATOR
          デフォルトのTableGeneratorです。
protected  PersistenceConvention persistenceConvention
          永続化層の命名規約です。
protected static java.util.Map<java.lang.Class<?>,ValueType> valueTypes
          フィールドの型に対応する値タイプのマップです。
 
コンストラクタの概要
PropertyMetaFactoryImpl()
           
 
メソッドの概要
 PropertyMeta createPropertyMeta(java.lang.reflect.Field field, EntityMeta entityMeta)
          プロパティメタデータを作成します。
protected  void doColumnMeta(PropertyMeta propertyMeta, java.lang.reflect.Field field, EntityMeta entityMeta)
          カラムメタデータを処理します。
protected  void doCustomize(PropertyMeta propertyMeta, java.lang.reflect.Field field, EntityMeta entityMeta)
          カスタマイズします。
protected  void doEnum(PropertyMeta propertyMeta, java.lang.reflect.Field field, EntityMeta entityMeta)
          enumの種別を処理します。
protected  void doFetchType(PropertyMeta propertyMeta, java.lang.reflect.Field field, EntityMeta entityMeta)
          フェッチタイプを処理します。
protected  void doField(PropertyMeta propertyMeta, java.lang.reflect.Field field, EntityMeta entityMeta)
          フィールドを処理します。
protected  void doId(PropertyMeta propertyMeta, java.lang.reflect.Field field, EntityMeta entityMeta)
          識別子メタデータを処理します。
protected  void doIdentityIdGenerator(PropertyMeta propertyMeta, EntityMeta entityMeta)
          GenerationType.IDENTITY方式で識別子の値を自動生成するIDジェネレータを処理します。
protected  void doJoinColumn(PropertyMeta propertyMeta, java.lang.reflect.Field field, EntityMeta entityMeta)
          JoinColumnを処理します。
protected  void doLob(PropertyMeta propertyMeta, java.lang.reflect.Field field, EntityMeta entityMeta)
          LOBかどうかを処理します。
protected  void doManyToOne(PropertyMeta propertyMeta, java.lang.reflect.Field field, EntityMeta entityMeta, ManyToOne manyToOne)
          多対一の関連を処理します。
protected  void doName(PropertyMeta propertyMeta, java.lang.reflect.Field field, EntityMeta entityMeta)
          名前を処理します。
protected  void doOneToMany(PropertyMeta propertyMeta, java.lang.reflect.Field field, EntityMeta entityMeta, OneToMany oneToMany)
          一対多の関連を処理します。
protected  void doOneToOne(PropertyMeta propertyMeta, java.lang.reflect.Field field, EntityMeta entityMeta, OneToOne oneToOne)
          一対一の関連を処理します。
protected  void doRelationship(PropertyMeta propertyMeta, java.lang.reflect.Field field, EntityMeta entityMeta, java.lang.Object annotation)
          関連を処理します。
protected  boolean doSequenceIdGenerator(PropertyMeta propertyMeta, GeneratedValue generatedValue, EntityMeta entityMeta)
          GenerationType.SEQUENCE方式で識別子の値を自動生成するIDジェネレータを処理します。
protected  boolean doTableIdGenerator(PropertyMeta propertyMeta, GeneratedValue generatedValue, EntityMeta entityMeta)
          GenerationType.TABLE方式で識別子の値を自動生成するIDジェネレータを処理します。
protected  void doTemporal(PropertyMeta propertyMeta, java.lang.reflect.Field field, EntityMeta entityMeta)
          時制の種別を処理します。
protected  void doTransient(PropertyMeta propertyMeta, java.lang.reflect.Field field, EntityMeta entityMeta)
          一時的かどうかを処理します。
protected  void doValueType(PropertyMeta propertyMeta, EntityMeta entityMeta)
          ValueTypeを処理します。
protected  void doVersion(PropertyMeta propertyMeta, java.lang.reflect.Field field, EntityMeta entityMeta)
          バージョンチェック用かどうかを処理します。
 ColumnMetaFactory getColumnMetaFactory()
          カラムメタデータファクトリを返します。
 PersistenceConvention getPersistenceConvention()
          永続化層の命名規約を返します。
protected  java.lang.Object getRelationshipAnnotation(java.lang.reflect.Field field)
          フィールドに関連のアノテーションが指定されていればそれを返します。
protected  java.lang.Class<?> getRelationshipClass(PropertyMeta propertyMeta, java.lang.reflect.Field field, EntityMeta entityMeta)
          関連用のクラスを返します。
 void setColumnMetaFactory(ColumnMetaFactory columnMetaFactory)
          カラムメタデータファクトリを設定します。
 void setPersistenceConvention(PersistenceConvention persistenceConvention)
          永続化層の命名規約を設定します。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

DEFAULT_SEQUENCE_GENERATOR

protected static final SequenceGenerator DEFAULT_SEQUENCE_GENERATOR
デフォルトのSequenceGeneratorです。


DEFAULT_TABLE_GENERATOR

protected static final TableGenerator DEFAULT_TABLE_GENERATOR
デフォルトのTableGeneratorです。


valueTypes

protected static final java.util.Map<java.lang.Class<?>,ValueType> valueTypes
フィールドの型に対応する値タイプのマップです。


columnMetaFactory

protected ColumnMetaFactory columnMetaFactory
カラムメタデータファクトリです。


persistenceConvention

protected PersistenceConvention persistenceConvention
永続化層の命名規約です。

コンストラクタの詳細

PropertyMetaFactoryImpl

public PropertyMetaFactoryImpl()
メソッドの詳細

createPropertyMeta

public PropertyMeta createPropertyMeta(java.lang.reflect.Field field,
                                       EntityMeta entityMeta)
インタフェース PropertyMetaFactory の記述:
プロパティメタデータを作成します。

定義:
インタフェース PropertyMetaFactory 内の createPropertyMeta
パラメータ:
field - フィールド
entityMeta - エンティティメタデータ
戻り値:
プロパティメタデータ

doField

protected void doField(PropertyMeta propertyMeta,
                       java.lang.reflect.Field field,
                       EntityMeta entityMeta)
フィールドを処理します。

パラメータ:
propertyMeta - プロパティメタデータ
field - フィールド
entityMeta - エンティティメタデータ

doName

protected void doName(PropertyMeta propertyMeta,
                      java.lang.reflect.Field field,
                      EntityMeta entityMeta)
名前を処理します。

パラメータ:
propertyMeta - プロパティメタデータ
field - フィールド
entityMeta - エンティティメタデータ

doColumnMeta

protected void doColumnMeta(PropertyMeta propertyMeta,
                            java.lang.reflect.Field field,
                            EntityMeta entityMeta)
カラムメタデータを処理します。

パラメータ:
propertyMeta - プロパティメタデータ
field - フィールド
entityMeta - エンティティメタデータ

doId

protected void doId(PropertyMeta propertyMeta,
                    java.lang.reflect.Field field,
                    EntityMeta entityMeta)
識別子メタデータを処理します。

パラメータ:
propertyMeta - プロパティメタデータ
field - フィールド
entityMeta - エンティティメタデータ

doIdentityIdGenerator

protected void doIdentityIdGenerator(PropertyMeta propertyMeta,
                                     EntityMeta entityMeta)
GenerationType.IDENTITY方式で識別子の値を自動生成するIDジェネレータを処理します。

パラメータ:
propertyMeta - プロパティメタデータ
entityMeta - エンティティのメタデータ

doSequenceIdGenerator

protected boolean doSequenceIdGenerator(PropertyMeta propertyMeta,
                                        GeneratedValue generatedValue,
                                        EntityMeta entityMeta)
GenerationType.SEQUENCE方式で識別子の値を自動生成するIDジェネレータを処理します。

パラメータ:
propertyMeta - プロパティメタデータ
generatedValue - 識別子に付けられたGeneratedValueアノテーション
entityMeta - エンティティのメタデータ
戻り値:
GenerationType.SEQUENCE方式で識別子の値を自動生成するIDジェネレータが存在した場合に true

doTableIdGenerator

protected boolean doTableIdGenerator(PropertyMeta propertyMeta,
                                     GeneratedValue generatedValue,
                                     EntityMeta entityMeta)
GenerationType.TABLE方式で識別子の値を自動生成するIDジェネレータを処理します。

パラメータ:
propertyMeta - プロパティメタデータ
generatedValue - 識別子に付けられたGeneratedValueアノテーション
entityMeta - エンティティのメタデータ
戻り値:
GenerationType.TABLE方式で識別子の値を自動生成するIDジェネレータが存在した場合に true

doFetchType

protected void doFetchType(PropertyMeta propertyMeta,
                           java.lang.reflect.Field field,
                           EntityMeta entityMeta)
フェッチタイプを処理します。

パラメータ:
propertyMeta - プロパティメタデータ
field - フィールド
entityMeta - エンティティメタデータ

doTemporal

protected void doTemporal(PropertyMeta propertyMeta,
                          java.lang.reflect.Field field,
                          EntityMeta entityMeta)
時制の種別を処理します。

パラメータ:
propertyMeta - プロパティメタデータ
field - フィールド
entityMeta - エンティティメタデータ

doEnum

protected void doEnum(PropertyMeta propertyMeta,
                      java.lang.reflect.Field field,
                      EntityMeta entityMeta)
enumの種別を処理します。

パラメータ:
propertyMeta - プロパティメタデータ
field - フィールド
entityMeta - エンティティメタデータ

doVersion

protected void doVersion(PropertyMeta propertyMeta,
                         java.lang.reflect.Field field,
                         EntityMeta entityMeta)
バージョンチェック用かどうかを処理します。

パラメータ:
propertyMeta - プロパティメタデータ
field - フィールド
entityMeta - エンティティメタデータ

doTransient

protected void doTransient(PropertyMeta propertyMeta,
                           java.lang.reflect.Field field,
                           EntityMeta entityMeta)
一時的かどうかを処理します。

パラメータ:
propertyMeta - プロパティメタデータ
field - フィールド
entityMeta - エンティティメタデータ

doLob

protected void doLob(PropertyMeta propertyMeta,
                     java.lang.reflect.Field field,
                     EntityMeta entityMeta)
LOBかどうかを処理します。

パラメータ:
propertyMeta - プロパティメタデータ
field - フィールド
entityMeta - エンティティメタデータ

doValueType

protected void doValueType(PropertyMeta propertyMeta,
                           EntityMeta entityMeta)
ValueTypeを処理します。

パラメータ:
propertyMeta - プロパティメタデータ
entityMeta - エンティティメタデータ

getRelationshipAnnotation

protected java.lang.Object getRelationshipAnnotation(java.lang.reflect.Field field)
フィールドに関連のアノテーションが指定されていればそれを返します。

パラメータ:
field - フィールド
戻り値:
関連のアノテーションまたはnull

doRelationship

protected void doRelationship(PropertyMeta propertyMeta,
                              java.lang.reflect.Field field,
                              EntityMeta entityMeta,
                              java.lang.Object annotation)
関連を処理します。

パラメータ:
propertyMeta - プロパティメタデータ
field - フィールド
entityMeta - エンティティメタデータ
annotation - 関連のアノテーション

doJoinColumn

protected void doJoinColumn(PropertyMeta propertyMeta,
                            java.lang.reflect.Field field,
                            EntityMeta entityMeta)
JoinColumnを処理します。

パラメータ:
propertyMeta - プロパティメタデータ
field - フィールド
entityMeta - エンティティメタデータ

doOneToOne

protected void doOneToOne(PropertyMeta propertyMeta,
                          java.lang.reflect.Field field,
                          EntityMeta entityMeta,
                          OneToOne oneToOne)
一対一の関連を処理します。

パラメータ:
propertyMeta - プロパティメタデータ
field - フィールド
entityMeta - エンティティメタデータ
oneToOne - 一対一関連

doOneToMany

protected void doOneToMany(PropertyMeta propertyMeta,
                           java.lang.reflect.Field field,
                           EntityMeta entityMeta,
                           OneToMany oneToMany)
一対多の関連を処理します。

パラメータ:
propertyMeta - プロパティメタデータ
field - フィールド
entityMeta - エンティティメタデータ
oneToMany - 一対多関連

doManyToOne

protected void doManyToOne(PropertyMeta propertyMeta,
                           java.lang.reflect.Field field,
                           EntityMeta entityMeta,
                           ManyToOne manyToOne)
多対一の関連を処理します。

パラメータ:
propertyMeta - プロパティメタデータ
field - フィールド
entityMeta - エンティティメタデータ
manyToOne - 多対一関連

getRelationshipClass

protected java.lang.Class<?> getRelationshipClass(PropertyMeta propertyMeta,
                                                  java.lang.reflect.Field field,
                                                  EntityMeta entityMeta)
                                           throws OneToManyNotGenericsRuntimeException
関連用のクラスを返します。

パラメータ:
propertyMeta - プロパティメタデータ
field - フィールド
entityMeta - エンティティメタデータ
戻り値:
関連用のクラス
例外:
OneToManyNotGenericsRuntimeException - 一対多の関連がジェネリクスのリストではない場合。

doCustomize

protected void doCustomize(PropertyMeta propertyMeta,
                           java.lang.reflect.Field field,
                           EntityMeta entityMeta)
カスタマイズします。

パラメータ:
propertyMeta - プロパティメタデータ
field - フィールド
entityMeta - エンティティメタデータ

getColumnMetaFactory

public ColumnMetaFactory getColumnMetaFactory()
カラムメタデータファクトリを返します。

戻り値:
カラムメタデータファクトリ

setColumnMetaFactory

public void setColumnMetaFactory(ColumnMetaFactory columnMetaFactory)
カラムメタデータファクトリを設定します。

パラメータ:
columnMetaFactory - カラムメタデータファクトリ

getPersistenceConvention

public PersistenceConvention getPersistenceConvention()
永続化層の命名規約を返します。

戻り値:
永続化層の命名規約

setPersistenceConvention

public void setPersistenceConvention(PersistenceConvention persistenceConvention)
永続化層の命名規約を設定します。

パラメータ:
persistenceConvention - 永続化層の命名規約


Copyright © 2004-2014 The Seasar Foundation. All Rights Reserved.