1 package org.apache.fulcrum.security.entity;
2
3 import java.io.Serializable;
4
5 /*
6 * Licensed to the Apache Software Foundation (ASF) under one
7 * or more contributor license agreements. See the NOTICE file
8 * distributed with this work for additional information
9 * regarding copyright ownership. The ASF licenses this file
10 * to you under the Apache License, Version 2.0 (the
11 * "License"); you may not use this file except in compliance
12 * with the License. You may obtain a copy of the License at
13 *
14 * http://www.apache.org/licenses/LICENSE-2.0
15 *
16 * Unless required by applicable law or agreed to in writing,
17 * software distributed under the License is distributed on an
18 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
19 * KIND, either express or implied. See the License for the
20 * specific language governing permissions and limitations
21 * under the License.
22 */
23
24 /**
25 * This classes is the base class for any security entity including groups,
26 * users, roles and permissions (and potentially others depending on the model
27 * chosen)
28 *
29 * @author <a href="mailto:epugh@upstate.com">Eric Pugh</a>
30 * @author <a href="mailto:Rafal.Krzewski@e-point.pl">Rafal Krzewski</a>
31 * @author <a href="mailto:hps@intermeta.de">Henning P. Schmiedehausen</a>
32 * @author <a href="mailto:marco@intermeta.de">Marco Knüttel</a>
33 * @version $Id$
34 */
35
36 public interface SecurityEntity extends Serializable
37 {
38 /**
39 * Get the Name of the SecurityEntity.
40 *
41 * @return The Name of the SecurityEntity.
42 */
43 String getName();
44
45 /**
46 * Sets the Name of the SecurityEntity.
47 *
48 * @param name
49 * Name of the SecurityEntity.
50 */
51 void setName(String name);
52
53 /**
54 * Get the Id of the SecurityEntity.
55 *
56 * @return The Id of the SecurityEntity.
57 */
58 Object getId();
59
60 /**
61 * Sets the Id of the SecurityEntity.
62 *
63 * @param id
64 * The new Id of the SecurityEntity
65 */
66 void setId(Object id);
67 }