クラス DefaultNamingPolicy

java.lang.ObjectSE
org.springframework.cglib.core.DefaultNamingPolicy
実装されたすべてのインターフェース:
NamingPolicy

public class DefaultNamingPolicy extends ObjectSE implements NamingPolicy
AbstractClassGenerator で使用されるデフォルトのポリシー。などの名前を生成します

org.springframework.cglib.Foo$$EnhancerByCGLIB$$38272841

これは、スーパークラスの名前に基づくプレフィックス、生成を担当する CGLIB クラスを組み込んだ固定文字列、およびオブジェクトの作成に使用されるパラメーターから派生したハッシュコードで構成されます。同じ ClassLoader で同じ名前が以前に使用されている場合は、一意性を確保するためにサフィックスが追加されます。

  • フィールドサマリー

    フィールド
    修飾子と型
    フィールド
    説明
    static final DefaultNamingPolicy
  • コンストラクターのサマリー

    コンストラクター
    コンストラクター
    説明
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    boolean
    現在使用されている NamingPolicy は AbstractClassGenerator によって生成されたクラスのキャッシュに影響を与えることはありませんが、将来的には影響を受ける可能性があります。そのため、過剰なクラスの生成を避けるために equals と hashCode を正しく実装する必要があることを思い出してください。
    getClassName(StringSE prefix, StringSE source, ObjectSE key, Predicate names)
    生成されたクラスの名前を選択します。
    protected StringSE
    生成されたすべてのクラス名に組み込まれる文字列を返します。
    int

    クラス java.lang.ObjectSE から継承されたメソッド

    clone, finalize, getClass, notify, notifyAll, toString, wait, waitSE, waitSE
  • フィールドの詳細

  • コンストラクターの詳細

    • DefaultNamingPolicy

      public DefaultNamingPolicy()
  • メソッドの詳細

    • getClassName

      public StringSE getClassName(StringSE prefix, StringSE source, ObjectSE key, Predicate names)
      インターフェースからコピーされた説明: NamingPolicy
      生成されたクラスの名前を選択します。
      次で指定:
      インターフェース NamingPolicygetClassName 
      パラメーター:
      prefix - 生成クラスによって選択されたドット名 (生成されたクラスを特定のパッケージに入れる可能性があります)
      source - 生成クラスの完全修飾クラス名 (たとえば、"org.springframework.cglib.Enhancer" )
      key - パラメーターの状態を表すキーオブジェクト。キャッシングが適切に機能するためには、キーが等しい場合に生成されるクラス名が同じになる必要があります。デフォルトのポリシーでは、クラス名に key.hashCode() が組み込まれています。
      names - 指定されたクラス名が同じ ClassLoader ですでに使用されている場合に true を返す述語。
      戻り値:
      完全修飾クラス名
    • getTag

      protected StringSE getTag()
      生成されたすべてのクラス名に組み込まれる文字列を返します。デフォルトでは "ByCGLIB" を返します
    • hashCode

      public int hashCode()
      オーバーライド:
      クラス ObjectSEhashCode 
    • equals

      public boolean equals(ObjectSE o)
      インターフェースからコピーされた説明: NamingPolicy
      現在使用されている NamingPolicy は AbstractClassGenerator によって生成されたクラスのキャッシュに影響を与えることはありませんが、将来的には影響を受ける可能性があります。そのため、過剰なクラスの生成を避けるために equals と hashCode を正しく実装する必要があることを思い出してください。
      次で指定:
      インターフェース NamingPolicyequals 
      オーバーライド:
      クラス ObjectSEequalsSE