View Javadoc

1   /*
2    * $Id: AuthorizatorService.java 124 2004-11-01 18:09:40Z josem $
3    *
4    * Tarsis
5    * Copyright (C) 2002 Talika Open Source Group
6    *
7    * This program is free software; you can redistribute it and/or modify
8    * it under the terms of the GNU General Public License as published by
9    * the Free Software Foundation; either version 2 of the License, or
10   * (at your option) any later version.
11   *
12   * This program is distributed in the hope that it will be useful,
13   * but WITHOUT ANY WARRANTY; without even the implied warranty of
14   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15   * GNU General Public License for more details.
16   *
17   * You should have received a copy of the GNU General Public License
18   * along with this program; if not, write to the Free Software
19   * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
20   *
21   */
22  
23  package org.talika.tarsis.security;
24  
25  import org.talika.tarsis.command.Command;
26  import org.talika.tarsis.service.AbstractService;
27  
28  /**
29   * Base implementation of <code>Authorizator</code> interface.<br>
30   * <br>
31   * Authorizator plugs in system like a service by extending <code>AbstractService</code>.
32   *
33   * @author  Jose M. Palomar
34   * @version $Revision: 124 $
35   */
36  public abstract class AuthorizatorService extends AbstractService implements Authorizator {
37  
38      // Constants
39  
40      // Fields
41  
42      // Constructors
43      /**
44       * Creates a new <code>AuthorizatorService</code>.
45       */
46      public AuthorizatorService() {
47      }
48  
49      // Methods
50      /**
51       * Checks if <code>User</code> has authorizations to access <code>Command</code>.
52       * If not throws a <code>ForbiddenAccessException</code>.
53       *
54       * @param user User user to be checked.
55       * @param command Command command to be checked.
56       * @throws ForbiddenAccessException if <code>User</code> has not authorization.
57       * @see org.talika.tarsis.security.Authorizator#authorize(User, Command)
58       */
59      public abstract void authorize(User user, Command command)
60      throws ForbiddenAccessException;
61  
62      /**
63       * Returns <code>true</code> if <code>Command</code> has access restrited.
64       *
65       * @param command Command command to be checked.
66       * @return boolean <code>true</code> if <code>Command</code> has access restrited.
67       * @see org.talika.tarsis.security.Authorizator#isRestricted(Command)
68       */
69      public abstract boolean isRestricted(Command command);
70  
71  }