
org.efaps.jaas.xml.XMLPersonPrincipal Maven / Gradle / Ivy
/*
* Copyright 2003 - 2013 The eFaps Team
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* Revision: $Rev: 8908 $
* Last Changed: $Date: 2013-02-20 16:18:41 -0500 (Wed, 20 Feb 2013) $
* Last Changed By: $Author: [email protected] $
*/
package org.efaps.jaas.xml;
import java.util.HashSet;
import java.util.Set;
import org.apache.commons.lang3.builder.ToStringBuilder;
/**
* The class implements the {@link java.security.Principal} interface for a
* person. The class is used from the {@link XMLUserLoginModule} class to implement
* a JAAS login module and set the person principals.
* A person principal instance stores also all found {@link #groups} and
* {@link #roles}.
*
* @author The eFaps Team
* @version $Id: XMLPersonPrincipal.java 8908 2013-02-20 21:18:41Z [email protected] $
*/
public class XMLPersonPrincipal
extends AbstractXMLPrincipal
{
/***
* The password of this person is stored in this instance variable.
*
* @see #getPassword()
* @see #setPassword(String)
*/
private String password = null;
/***
* The first name of this person is stored in this instance variable.
*
* @see #getFirstName
* @see #setFirstName
*/
private String firstName = null;
/***
* The last name of this person is stored in this instance variable.
*
* @see #getLastName
* @see #setLastName
*/
private String lastName = null;
/***
* The email adresse of this person is stored in this instance variable.
*
* @see #getEmail
* @see #setEmail
*/
private String email = null;
/***
* The organization name of this person is stored in this instance variable.
*
* @see #getOrganisation
* @see #setOrganisation
*/
private String organisation = null;
/***
* The URL of this person is stored in this instance variable.
*
* @see #getUrl
* @see #setUrl
*/
private String url = null;
/***
* The phone number of this person is stored in this instance variable.
*
* @see #getPhone
* @see #setPhone
*/
private String phone = null;
/***
* The mobile number of this person is stored in this instance variable.
*
* @see #getMobile
* @see #setMobile
*/
private String mobile = null;
/***
* The fax number of this person is stored in this instance variable.
*
* @see #getFax
* @see #setFax
*/
private String fax = null;
/**
* All groups assign to this person are stored in this instance variable.
*
* @see #getRoles
*/
private final Set roles = new HashSet();
/**
* All groups assign to this person are stored in this instance variable.
*
* @see #getGroups
*/
private final Set groups = new HashSet();
/**
* A new role with givevn name is added. The role is added as role
* principal (instance of {@link XMLRolePrincipal}).
*
* @param _role name of role to add
* @see #roles
*/
public void addRole(final String _role)
{
this.roles.add(new XMLRolePrincipal(_role));
}
/**
* A new group with givevn name is added. The group is added as role
* principal (instance of {@link XMLGroupPrincipal}).
*
* @param _group name of group to add
* @see #groups
*/
public void addGroup(final String _group)
{
this.groups.add(new XMLGroupPrincipal(_group));
}
/**
* Returns the password of this principal stored in instance variable
* {@link #password}.
*
* @return name of this person principal
* @see #password
* @see #setPassword
*/
public String getPassword()
{
return this.password;
}
/**
* Sets the password of this person principal stored in instance variable
* {@link #password}. The method must be public, because it is set from the
* XML to bean converter in {@link XMLUserLoginModule}.
*
* @param _password new name to set for this person principal
* @see #password
* @see #getPassword
*/
public void setPassword(final String _password)
{
this.password = _password;
}
/**
* Returns the first name of this person principal stored in instance
* variable {@link #firstName}.
*
* @return name of this person principal
* @see #firstName
* @see #setFirstName
*/
public String getFirstName()
{
return this.firstName;
}
/**
* Sets the first name of this person principal stored in instance variable
* {@link #firstName}. The method must be public, because it is set from
* the XML to bean converter in {@link XMLUserLoginModule}.
*
* @param _firstName new first name to set for this person principal
* @see #firstName
* @see #getFirstName
*/
public void setFirstName(final String _firstName)
{
this.firstName = _firstName;
}
/**
* Returns the last name of this person principal stored in instance
* variable {@link #lastName}.
*
* @return name of this person principal
* @see #lastName
* @see #setLastName
*/
public String getLastName()
{
return this.lastName;
}
/**
* Sets the last name of this person principal stored in instance variable
* {@link #lastNaem}. The method must be public, because it is set from the
* XML to bean converter in {@link XMLUserLoginModule}.
*
* @param _lastName new last name to set for this person principal
* @see #lastName
* @see #getLastName
*/
public void setLastName(final String _lastName)
{
this.lastName = _lastName;
}
/**
* Returns the email of this person principal stored in instance variable
* {@link #email}.
*
* @return email address of this person principal
* @see #email
* @see #setEmail
*/
public String getEmail()
{
return this.email;
}
/**
* Sets the email address of this person principal stored in instance
* variable {@link #email}. The method must be public, because it is set
* from the XML to bean converter in {@link XMLUserLoginModule}.
*
* @param _email new email address to set for this person principal
* @see #email
* @see #getEmail
*/
public void setEmail(final String _email)
{
this.email = _email;
}
/**
* Returns the organization name of this person principal stored in instance
* variable {@link #organisation}.
*
* @return organization name of this person principal
* @see #organisation
* @see #setOrganisation
*/
public String getOrganisation()
{
return this.organisation;
}
/**
* Sets the organisation name of this person principal stored in instance
* variable {@link #organisation}. The method must be public, because it is
* set from the XML to bean converter in {@link XMLUserLoginModule}.
*
* @param _organisation new organisation name to set for this person
* principal
* @see #organisation
* @see #getOrganisation
*/
public void setOrganisation(final String _organisation)
{
this.organisation = _organisation;
}
/**
* Returns the URL of this person principal stored in instance variable
* {@link #url}.
*
* @return URL address of this person principal
* @see #url
* @see #setUrl
*/
public String getUrl()
{
return this.url;
}
/**
* Sets the URL address of this person principal stored in instance
* variable {@link #url}. The method must be public, because it is set from
* the XML to bean converter in {@link XMLUserLoginModule}.
*
* @param _url new url address to set for this person principal
* @see #url
* @see #getUrl
*/
public void setUrl(final String _url)
{
this.url = _url;
}
/**
* Returns the phone number of this person principal stored in instance
* variable {@link #phone}.
*
* @return phone number of this person principal
* @see #phone
* @see #setPhone
*/
public String getPhone()
{
return this.phone;
}
/**
* Sets the phone number of this person principal stored in instance
* variable {@link #phone}. The method must be public, because it is set
* from the XML to bean converter in {@link XMLUserLoginModule}.
*
* @param _phone new phone number to set for this person principal
* @see #phone
* @see #getPhone
*/
public void setPhone(final String _phone)
{
this.phone = _phone;
}
/**
* Returns the mobile number of this person principal stored in instance
* variable {@link #mobile}.
*
* @return mobile number of this person principal
* @see #mobile
* @see #setMobile
*/
public String getMobile()
{
return this.mobile;
}
/**
* Sets the mobile number of this person principal stored in instance variable
* {@link #mobile}. The method must be public, because it is set from the
* XML to bean converter in {@link XMLUserLoginModule}.
*
* @param _mobile new phone number to set for this person principal
* @see #mobile
* @see #getMobile
*/
public void setMobile(final String _mobile)
{
this.mobile = _mobile;
}
/**
* Returns the fax number of this person principal stored in instance
* variable {@link #fax}.
*
* @return fax number of this person principal
* @see #fax
* @see #setFax
*/
public String getFax()
{
return this.fax;
}
/**
* Sets the fax number of this person principal stored in instance variable
* {@link #fax}. The method must be public, because it is set from the
* XML to bean converter in {@link XMLUserLoginModule}.
*
* @param _fax new fax number to set for this person principal
* @see #fax
* @see #getPhone
*/
public void setFax(final String _fax)
{
this.fax = _fax;
}
/**
* Returns the name of this principal stored in instance variable
* {@link #roles}.
*
* @return all assigned roles of this person principal
* @see #roles
*/
public Set getRoles()
{
return this.roles;
}
/**
* Returns the groups of this principal stored in instance variable
* {@link #groups}.
*
* @return all assigned groups of this person principal
* @see #groups
*/
public Set getGroups()
{
return this.groups;
}
/**
* Returns a string representation of this person principal.
*
* @return string representation of this person principal
*/
@Override
public String toString()
{
return new ToStringBuilder(this)
.appendSuper(super.toString())
.append("firstName", getFirstName())
.append("lastName", getLastName())
.append("email", getEmail())
.append("organisation", getOrganisation())
.append("url", getEmail())
.append("phone", getPhone())
.append("fax", getFax())
.append("password", getPassword())
.append("roles", getRoles())
.append("groups", getGroups())
.toString();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy