
org.ow2.bonita.identity.impl.MembershipImpl Maven / Gradle / Ivy
/**
* Copyright (C) 2007 Bull S. A. S.
* Bull, Rue Jean Jaures, B.P.68, 78340, Les Clayes-sous-Bois
* This library is free software; you can redistribute it and/or modify it under the terms
* of the GNU Lesser General Public License as published by the Free Software Foundation
* version 2.1 of the License.
* This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU Lesser General Public License for more details.
* You should have received a copy of the GNU Lesser General Public License along with this
* program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
* Floor, Boston, MA 02110-1301, USA.
**/
package org.ow2.bonita.identity.impl;
import java.security.Permission;
import java.util.Properties;
import java.util.Set;
import java.util.prefs.Preferences;
import org.ow2.bonita.identity.GroupOp;
import org.ow2.bonita.identity.Membership;
import org.ow2.bonita.identity.UserOp;
import org.ow2.bonita.util.Misc;
/**
* @author "Pierre Vigneras"
* @date Nov 23, 2007
*/
public class MembershipImpl implements Membership {
/**
*
*/
private static final long serialVersionUID = 3068431109845397895L;
private UserOp userOp;
private String role;
private Properties properties;
private Preferences preferences;
private Set permissions;
private GroupOp groupOp;
public MembershipImpl(final UserOp userOp, GroupOp groupOp) {
if (userOp == null || groupOp == null) {
throw new IllegalArgumentException("Null UserOp or GroupOp!");
}
this.userOp = userOp;
this.groupOp = groupOp;
}
/*
* (non-Javadoc)
*
* @see org.ow2.bonita.identity.Membership#getGroup()
*/
public GroupOp getGroup() {
return groupOp;
}
/*
* (non-Javadoc)
*
* @see org.ow2.bonita.identity.Membership#getPermission()
*/
public Set getPermission() {
return permissions;
}
/*
* (non-Javadoc)
*
* @see org.ow2.bonita.identity.Membership#getPreferences()
*/
public Preferences getPreferences() {
return preferences;
}
/*
* (non-Javadoc)
*
* @see org.ow2.bonita.identity.Membership#getProperties()
*/
public Properties getProperties() {
return properties;
}
/*
* (non-Javadoc)
*
* @see org.ow2.bonita.identity.Membership#getRole()
*/
public String getRole() {
return role;
}
/*
* (non-Javadoc)
*
* @see org.ow2.bonita.identity.Membership#getUser()
*/
public UserOp getUser() {
return userOp;
}
public void setGroup(final GroupOp newGroup) {
Misc.checkArgsNotNull(newGroup);
this.groupOp = newGroup;
}
public void setPermissions(final Set newPermissions) {
Misc.checkArgsNotNull(newPermissions);
this.permissions = newPermissions;
}
public void setProperties(final Properties newProperties) {
Misc.checkArgsNotNull(newProperties);
this.properties = newProperties;
}
public void setRole(final String newRole) {
Misc.checkArgsNotNull(newRole);
this.role = newRole;
}
public void setUser(final UserOp newUser) {
Misc.checkArgsNotNull(newUser);
this.userOp = newUser;
}
@Override
public boolean equals(final Object o) {
if (!(o instanceof MembershipImpl)) {
return false;
}
final MembershipImpl m = (MembershipImpl) o;
final UserOp muser = m.getUser();
final GroupOp mgroup = m.getGroup();
final boolean u = (userOp == null) ? (muser == null) : userOp.equals(muser);
final boolean g = (groupOp == null) ? (mgroup == null) : groupOp
.equals(mgroup);
return u && g;
}
@Override
public int hashCode() {
final int u = (userOp == null) ? 0 : userOp.hashCode();
final int g = (groupOp == null) ? 0 : groupOp.hashCode();
return u & g;
}
public String toString() {
return this.getClass().getName() + "{" + userOp + ", " + groupOp + "}";
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy