ディレクトリ コンテキスト内のオブジェクト クラスでサポートされているすべての属性を検出する方法を見つけようとしています。ディレクトリ コンテキストのメソッドを使用しようとしましgetattributes()
たが、これは入力された属性のみを表示します。すべてのオブジェクト クラスのすべての属性ではなく、特定のオブジェクト クラスのみでサポートされているすべての属性を発見することに関心があります。以下は、私が既に試したコード スニペットです。
//アプローチ1
System.out.println("using bindings.......");
SearchControls searchControls = new SearchControls();
searchControls.setSearchScope( SearchControls.OBJECT_SCOPE );
searchControls.setReturningAttributes( new String[]
{ "objectClasses" } );
NamingEnumeration<SearchResult> results = conn.getInitialContext().search( "cn=schema", "(ObjectClass=*)", searchControls );
SearchResult result = results.next();
Attributes entry = result.getAttributes();
javax.naming.directory.Attribute objectClasses = entry.get( "objectClasses" );
System.out.println( objectClasses );
System.out.println("................................");
//アプローチ 2
DirContext tedClasses = (conn.getInitialContext().getSchemaClassDefinition(entryName));
// Enumerate the class definitions
NamingEnumeration namingEnum = tedClasses.search("", null);
System.out.println("attrs are:");
while (namingEnum.hasMore()) {
System.out.println(namingEnum.next());
}
conn.getInitialContext()
ディレクトリコンテキストを与える場所