001: /*
002: * Copyright (c) 2001 - 2005 ivata limited.
003: * All rights reserved.
004: * -----------------------------------------------------------------------------
005: * ivata groupware may be redistributed under the GNU General Public
006: * License as published by the Free Software Foundation;
007: * version 2 of the License.
008: *
009: * These programs are free software; you can redistribute them and/or
010: * modify them under the terms of the GNU General Public License
011: * as published by the Free Software Foundation; version 2 of the License.
012: *
013: * These programs are distributed in the hope that they will be useful,
014: * but WITHOUT ANY WARRANTY; without even the implied warranty of
015: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
016: *
017: * See the GNU General Public License in the file LICENSE.txt for more
018: * details.
019: *
020: * If you would like a copy of the GNU General Public License write to
021: *
022: * Free Software Foundation, Inc.
023: * 59 Temple Place - Suite 330
024: * Boston, MA 02111-1307, USA.
025: *
026: *
027: * To arrange commercial support and licensing, contact ivata at
028: * http://www.ivata.com/contact.jsp
029: * -----------------------------------------------------------------------------
030: * $Log: SettingsRights.java,v $
031: * Revision 1.2 2005/04/09 17:19:05 colinmacleod
032: * Changed copyright text to GPL v2 explicitly.
033: *
034: * Revision 1.1.1.1 2005/03/10 17:50:38 colinmacleod
035: * Restructured ivata op around Hibernate/PicoContainer.
036: * Renamed ivata groupware.
037: *
038: * Revision 1.2 2004/11/12 15:56:46 colinmacleod
039: * Removed dependencies on SSLEXT.
040: * Moved Persistence classes to ivata masks.
041: *
042: * Revision 1.1 2004/07/13 19:41:12 colinmacleod
043: * Moved project to POJOs from EJBs.
044: * Applied PicoContainer to services layer (replacing session EJBs).
045: * Applied Hibernate to persistence layer (replacing entity EJBs).
046: * -----------------------------------------------------------------------------
047: */
048: package com.ivata.groupware.admin.setting.right;
049:
050: import com.ivata.groupware.admin.security.server.SecuritySession;
051: import com.ivata.mask.util.SystemException;
052:
053: /**
054: * @author Colin MacLeod
055: * <a href='mailto:colin.macleod@ivata.com'>colin.macleod@ivata.com</a>
056: * @since Apr 16, 2004
057: * @version $Revision: 1.2 $
058: */
059: public interface SettingsRights {
060: /**
061: * <p>this method sets a setting to be allowed for users to override the
062: * system value</p>, {see canAmendSetting(name)}
063: * @param name the name of the setting
064: *
065: * @ejb.interface-method
066: * view-type="both"
067: */
068: public void addAmendRightForSetting(
069: final SecuritySession securitySession,
070: final String settingName) throws SystemException;
071:
072: /**
073: * <p>the method finds out whether a setting can be changed (overriden) by
074: * a user</p>
075: * @param name the name of the setting
076: * @return <code>true</code> when this setting can be overridden by user,
077: * <code>false</code> otherwise
078: *
079: * @ejb.interface-method
080: * view-type="both"
081: */
082: public boolean canAmendSetting(
083: final SecuritySession securitySession,
084: final String settingName) throws SystemException;
085:
086: /**
087: * <p>the method tells whether a user can amend system settings</p>
088: * @param userName the name of the user
089: * @return <code>true</code> when this user can amend system settings or
090: * <code>false</code> when he can't
091: *
092: * @ejb.interface-method
093: * view-type="both"
094: */
095: public boolean canAmendSystemSettings(
096: final SecuritySession securitySession)
097: throws SystemException;
098:
099: /**
100: * <p>this method disables overriding the system value of one setting,
101: * {see canAmendSetting(name)}
102: * @param name the name of the setting
103: *
104: * @ejb.interface-method
105: * view-type="both"
106: */
107: public void removeAmendRightForSetting(
108: final SecuritySession securitySession,
109: final String settingName) throws SystemException;
110: }
|