01: /* Copyright 2004, 2005, 2006 Acegi Technology Pty Limited
02: *
03: * Licensed under the Apache License, Version 2.0 (the "License");
04: * you may not use this file except in compliance with the License.
05: * You may obtain a copy of the License at
06: *
07: * http://www.apache.org/licenses/LICENSE-2.0
08: *
09: * Unless required by applicable law or agreed to in writing, software
10: * distributed under the License is distributed on an "AS IS" BASIS,
11: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12: * See the License for the specific language governing permissions and
13: * limitations under the License.
14: */
15:
16: package org.acegisecurity.acl.basic;
17:
18: /**
19: * Indicates a domain object instance is able to provide {@link
20: * AclObjectIdentity} information.
21: *
22: * <P>
23: * Domain objects must implement this interface if they wish to provide an
24: * <code>AclObjectIdentity</code> rather than it being determined by relying
25: * classes. Specifically, the {@link BasicAclProvider} detects and uses this
26: * interface.
27: * </p>
28: *
29: * @author Ben Alex
30: * @version $Id: AclObjectIdentityAware.java 1784 2007-02-24 21:00:24Z luke_t $
31: */
32: public interface AclObjectIdentityAware {
33: //~ Methods ========================================================================================================
34:
35: /**
36: * Retrieves the <code>AclObjectIdentity</code> for this instance.
37: *
38: * @return the ACL object identity for this instance (can never be <code>null</code>)
39: */
40: AclObjectIdentity getAclObjectIdentity();
41: }
|