org.seasar.framework.jpa.impl
クラス PersistenceClassTransformerImpl

java.lang.Object
  上位を拡張 org.seasar.framework.jpa.impl.PersistenceClassTransformerImpl
すべての実装されたインタフェース:
PersistenceClassTransformer

public class PersistenceClassTransformerImpl
extends java.lang.Object
implements PersistenceClassTransformer

永続クラスをトランスフォームします。

作成者:
taedium

フィールドの概要
protected  java.util.Set<java.lang.String> ignoreLoaderClassNames
          トランスフォームした永続クラスをロードする対象から除外するクラスローダのクラス名
 
コンストラクタの概要
PersistenceClassTransformerImpl()
          インスタンスを構築します。
 
メソッドの概要
 void addIgnoreLoaderClassName(java.lang.String ignoreLoaderClassName)
          トランスフォームした永続クラスをロードする対象から除外するクラスローダのクラス名を追加します。
protected  java.lang.ClassLoader getTargetClassLoader(java.lang.ClassLoader originLoader)
          トランスフォームした永続クラスをロードする対象のクラスローダを返します。
protected  void loadClass(java.lang.ClassLoader loader, java.io.File dir, java.lang.String path)
          ファイルシステムからクラスをロードします。
protected  void loadClass(java.lang.ClassLoader loader, java.lang.String className)
          クラスをロードします。
protected  void loadClass(java.lang.ClassLoader loader, java.net.URL jarFileUrl)
          Jarファイルからクラスをロードします。
protected  void loadPersistenceClasses(PersistenceUnitInfo unitInfo, java.lang.ClassLoader loader)
          永続ユニット情報で管理されるクラスを指定のクラスローダにロードします。
protected  java.lang.String removeExtension(java.lang.String name)
          ファイル名から拡張子を取り除いた名前を返します。
protected  byte[] transform(ClassTransformer transformer, java.lang.ClassLoader classLoader, java.lang.String className, byte[] bytes)
          永続クラスのバイト列をトランスフォームしたバイト列を返します。
 void transform(PersistenceUnitInfo unitInfo)
          永続ユニット情報で管理されるクラスにトランスフォーマを適用します。
 java.lang.Class<?> transform(PersistenceUnitInfo unitInfo, java.lang.String className, byte[] bytecode)
          指定されたクラスにトランスフォーマを適用します。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

ignoreLoaderClassNames

protected java.util.Set<java.lang.String> ignoreLoaderClassNames
トランスフォームした永続クラスをロードする対象から除外するクラスローダのクラス名

コンストラクタの詳細

PersistenceClassTransformerImpl

public PersistenceClassTransformerImpl()
インスタンスを構築します。

メソッドの詳細

addIgnoreLoaderClassName

public void addIgnoreLoaderClassName(java.lang.String ignoreLoaderClassName)
トランスフォームした永続クラスをロードする対象から除外するクラスローダのクラス名を追加します。

パラメータ:
ignoreLoaderClassName - トランスフォームした永続クラスをロードする対象から除外するクラスローダのクラス名

transform

public void transform(PersistenceUnitInfo unitInfo)
インタフェース PersistenceClassTransformer の記述:
永続ユニット情報で管理されるクラスにトランスフォーマを適用します。

定義:
インタフェース PersistenceClassTransformer 内の transform
パラメータ:
unitInfo - 永続ユニット情報

transform

public java.lang.Class<?> transform(PersistenceUnitInfo unitInfo,
                                    java.lang.String className,
                                    byte[] bytecode)
インタフェース PersistenceClassTransformer の記述:
指定されたクラスにトランスフォーマを適用します。

定義:
インタフェース PersistenceClassTransformer 内の transform
パラメータ:
unitInfo - 永続ユニット情報
className - クラス名
bytecode - クラスファイル形式のバイト列
戻り値:
変換されたクラス。変換されなかった場合は引数のバイト列が表すクラス

loadPersistenceClasses

protected void loadPersistenceClasses(PersistenceUnitInfo unitInfo,
                                      java.lang.ClassLoader loader)
永続ユニット情報で管理されるクラスを指定のクラスローダにロードします。

パラメータ:
unitInfo - 永続ユニット情報
loader - クラスローダ

loadClass

protected void loadClass(java.lang.ClassLoader loader,
                         java.lang.String className)
クラスをロードします。

クラスが見つからない場合はクラス名をパッケージ名として解釈し、package-infoクラスをロードします。

パラメータ:
loader - クラスローダ
className - クラス名

loadClass

protected void loadClass(java.lang.ClassLoader loader,
                         java.net.URL jarFileUrl)
Jarファイルからクラスをロードします。

パラメータ:
loader - クラスローダ
jarFileUrl - JarファイルのURL

loadClass

protected void loadClass(java.lang.ClassLoader loader,
                         java.io.File dir,
                         java.lang.String path)
ファイルシステムからクラスをロードします。

パラメータ:
loader - クラスローダ
dir - ディレクトリ
path - クラスパスの基点から現在のディレクトリまでのパス (ピリオド区切り)

transform

protected byte[] transform(ClassTransformer transformer,
                           java.lang.ClassLoader classLoader,
                           java.lang.String className,
                           byte[] bytes)
永続クラスのバイト列をトランスフォームしたバイト列を返します。

パラメータ:
transformer - トランスフォーマ
classLoader - 変換されるクラスを定義するローダ
className - クラス名
bytes - クラスファイル形式のバイト列
戻り値:
変換されたクラスファイル形式のバイト列。変換されなかった場合は引数のバイト列

getTargetClassLoader

protected java.lang.ClassLoader getTargetClassLoader(java.lang.ClassLoader originLoader)
トランスフォームした永続クラスをロードする対象のクラスローダを返します。

パラメータ:
originLoader - 原点となるクラスローダ
戻り値:
トランスフォームした永続クラスをロードする対象のクラスローダ

removeExtension

protected java.lang.String removeExtension(java.lang.String name)
ファイル名から拡張子を取り除いた名前を返します。

パラメータ:
name - ファイル名
戻り値:
ファイル名から拡張子を取り除いた名前


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