net.java.ao.Commonのメソッド

先月からActiveObjectsのソースファイルを読んでいますが、頻繁にnet.java.ao.Commonsクラスのメソッドの呼び出しが現れます。
このクラスのメソッドは、ActiveObjects内でよく行われる処理のユーティリティメソッドのようです。
そこで、今後のソースの解析を楽にするために、これらのメソッドを整理してみました。

net.java.ao.Commonのメソッドの概要

※注:このクラスはactiveobjects公開APIではないので、ユーザプログラムから使うべきではないです。あくまで、ソース解析を目的として作成した表です。

メソッド名 概要 戻り値 引数
convertDowncaseName 名前の頭文字を小文字に変換する。 String String name
convertSimpleClassName クラスの完全修飾名をクラス名のみに変換する。 String String name
findCounterpart アクセッサ(ミューテータ)に対応するミューテータ(アクセッサ)を返す。 Method FieldNameConverter converter, Method method
fuzzyCompare オブジェクトを比較する。比較方法はオブジェクトのクラスから取得できるデータベース型により決まる。 boolean Object a, Object b
fuzzyTypeCompare JDBC型を比較する。java.sql.Typesの型コードを比較する。 boolean int typeA, int typeB
getAnnotationDelegate アクセッサ/ミューテータからアノテーションを取得するための移譲オブジェクトを取得する。 AnnotationDelegate FieldNameConverter converter, Method method
getAttributeTypeFromMethod メソッドから属性型を取得する。関連アノテーションがついていないアクセッサ/ミューテータから取得できる。 Class<?> Method method
getCallingClass メソッドの呼び出し元クラスを取得する。 Class<?> int depth
getMappingFields fromインタフェースからtoインタフェースへのマッピングフィールドの名前を取得する。 String[] FieldNameConverter converter, Class<? extends RawEntity<?>> from, Class<? extends RawEntity<?>> to
getPolymorphicFieldNames fromインタフェースからtoインタフェースへのマッピングフィールドのポリモフィック型の名前を取得する。ただし、ポリモフィックなフィールドのみを対象とする。 String[] FieldNameConverter converter, Class<? extends RawEntity<?>> from, Class<? extends RawEntity<?>> to
getPrimaryKeyAccessor 主キーのアクセッサを取得する。 Method Class<? extends RawEntity<?>> type
getPrimaryKeyClassType 主キーのクラス型を取得する。 Class Class<? extends RawEntity> type
getPrimaryKeyField 主キーの名前を取得する。 String Class<? extends RawEntity<?>> type, FieldNameConverter converter
getPrimaryKeyMethod 主キーのメソッドを取得する。 Method Class<? extends RawEntity<?>> type
getPrimaryKeyType 主キーのデータベース型を取得する。 DatabaseType Class<? extends RawEntity> type
getPrimaryKeyValue 主キーのアクセッサの呼び出し結果の戻り値を取得する。 K RawEntity entity
getSearchableFields 検索(フルテキストサーチ)可能なフィールドを取得する。 List EntityManager manager, Class<? extends RawEntity<?>> type
interfaceInheritsFrom インタフェースの継承を確認する。 boolean Class<?> type, Class<?> superType
isAccessor アクセッサであることを確認する。 boolean Method method
isMutator ミューテータであることを確認する。 boolean Method method
typeInstanceOf インスタンスの型を確認する。 boolean Class<?> type, Class<?> otherType

補足の必要な項目

マッピングフィールド

上記の表に現れる、マッピングフィールドとは、エンティティ間の関連を表しているようです。
ソースを読んだだけではよくわからなかったので、図解してみました。
下記で、赤字になっているメソッドの名前が、FromEntityからToEntityへのマッピングフィールドと呼ばれているようです。

getPrimaryKeyMethod

getPrimaryKeyMethodは主キーのアクセッサとミューテータの両方が存在しても、どちらか一方のみを返します。(実際は先に宣言されている方)
また、このメソッドは、主キーメソッドのもつアノテーションの確認のために使用されています。
そのため、主キーがアクセッサとミューテータの両方を持つ場合、両方に同一のアノテーションを設定しないと正しく動作しないかもしれません。

未調査ですが、そもそも主キーに対しては、アクセッサのみしか宣言すべきでないかもしれません。
java.net.ao.CommonsにgetPrimaryKeyMutatorは存在しませんし・・・・。