ローカルACLは,文書空間オブジェクトのプロパティ(dbrProp_ACLプロパティ)として設定します。このプロパティは,VARRAY型のプロパティです。VARRAY型のプロパティの値である可変長配列は,パラメタクラスのDbjVArrayインターフェースで操作します。VARRAY型のプロパティの操作については,「6.8.7 文書空間オブジェクトのプロパティの操作」を参照してください。
可変長配列の要素であるACEは,パラメタクラスのDbjACEインターフェースで操作できます。
ローカルACLを文書空間オブジェクトのプロパティとして設定する流れは,次のようになります。
文書空間オブジェクトにローカルACLを設定する例を示します。
// 文書空間オブジェクトにローカルACLを設定する例
// factory:DbjFactoryインターフェース
// 可変長配列を作成する
DbjVArray acl = factory.createVArray( null );
// 一つ目のACEを作成する
// (システムサブジェクトですべてのユーザに
// 参照更新権を設定する)
DbjACE elm = factory.createACE(factory.createPropSet());
elm.setSystemSubject( DbjDef.SYSSUBJECT_EVERYONE );
elm.setPermission( DbjDef.PERM_READ_WRITE );
// ACEをACLに追加する
acl.addPropSet( elm.propSet() );
// 二つ目のACEを作成する
// (ユーザhitachiにフルコントロールを設定する)
elm.setUserSubject( "hitachi" );
elm.setPermission( DbjDef.PERM_FULL_CONTROL );
// ACEをACLに追加する
acl.addPropSet( elm.propSet() );
// 可変長配列をプロパティ値集合に設定する
DbjPropSet props = factory.createPropSet();
props.setPropVal( "dbrProp_ACL",acl );
// プロパティ値集合を文書空間オブジェクトにフラッシュする
obj.writeProperties( props );