01: /*
02: * (C) Copyright 2000 - 2005 Nabh Information Systems, Inc.
03: *
04: * All copyright notices regarding Nabh's products MUST remain
05: * intact in the scripts and in the outputted HTML.
06: * This program is free software; you can redistribute it and/or
07: * modify it under the terms of the GNU Lesser General Public License
08: * as published by the Free Software Foundation; either version 2.1
09: * of the License, or (at your option) any later version.
10: *
11: * This program is distributed in the hope that it will be useful,
12: * but WITHOUT ANY WARRANTY; without even the implied warranty of
13: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14: * GNU Lesser General Public License for more details.
15: *
16: * You should have received a copy of the GNU Lesser General Public License
17: * along with this program; if not, write to the Free Software
18: * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
19: *
20: */
21: package com.nabhinc.spi;
22:
23: import java.rmi.RemoteException;
24: import java.util.List;
25:
26: /**
27: * Stores access control entries related to all portal resources
28: *
29: * @author Padmanabh Dabke
30: * (c) 2005 Nabh Information Systems, Inc. All Rights Reserved.
31: */
32: public interface AccessControlStore {
33:
34: // Resource type management
35: ResourceType getResourceType(long rtID)
36: throws NoSuchEntityException, RemoteException;
37:
38: ResourceType getResourceType(String rtName)
39: throws NoSuchEntityException, RemoteException;
40:
41: void createResourceType(ResourceType rt)
42: throws EntityExistsException, RemoteException;
43:
44: void updateResourceType(ResourceType rt)
45: throws NoSuchEntityException, EntityExistsException,
46: RemoteException;
47:
48: void deleteResourceTypes(long[] rtID) throws RemoteException;
49:
50: List getResourceTypes(int offset, int maxRoles, String orderby,
51: boolean isDescending) throws RemoteException;
52:
53: long getResourceTypeCount() throws RemoteException;
54:
55: // Condition management
56: NamedCondition getNamedCondition(long id)
57: throws NoSuchEntityException, RemoteException;
58:
59: NamedCondition getNamedCondition(String name)
60: throws NoSuchEntityException, RemoteException;
61:
62: void createNamedCondition(NamedCondition cond)
63: throws EntityExistsException, RemoteException;
64:
65: void updateNamedCondition(NamedCondition entry)
66: throws NoSuchEntityException, EntityExistsException,
67: RemoteException;
68:
69: void deleteNamedConditions(long[] id) throws RemoteException;
70:
71: List getNamedConditions(int offset, int max, String orderby,
72: boolean isDescending) throws RemoteException;
73:
74: long getNamedConditionCount() throws RemoteException;
75:
76: // AccessControlEntry management
77: AccessControlEntry getAccessControlEntry(long entryID)
78: throws NoSuchEntityException, RemoteException;
79:
80: void createAccessControlEntry(AccessControlEntry entry)
81: throws EntityExistsException, RemoteException;
82:
83: void updateAccessControlEntry(AccessControlEntry entry)
84: throws NoSuchEntityException, EntityExistsException,
85: RemoteException;
86:
87: void deleteAccessControlEntries(long[] id) throws RemoteException;
88:
89: List getAccessControlEntries(int offset, int maxRoles,
90: String orderby, boolean isDescending)
91: throws RemoteException;
92:
93: long getAccessControlEntryCount() throws RemoteException;
94:
95: List getAccessControlEntriesForResourceType(long resourceType)
96: throws RemoteException;
97:
98: }
|