All Downloads are FREE. Search and download functionalities are using the official Maven repository.

de.tsl2.nano.serviceaccess.aas.principal.Tenancy Maven / Gradle / Ivy

Go to download

TSL2 JEE Service Access (Generic Services for Entity Access, JEE File-System-Connector, Generic Featuring, Job-Scheduling, BeanContainer, Batch, Comfortable Bean Query Definitions, JAAS, Authentification, Authorization, )

The newest version!
/*
 * @(#)SamplePrincipal.java	1.4 00/01/11
 *
 * Copyright 2000-2002 Sun Microsystems, Inc. All Rights Reserved.
 *
 * Redistribution and use in source and binary forms, with or 
 * without modification, are permitted provided that the following 
 * conditions are met:
 * 
 * -Redistributions of source code must retain the above copyright  
 * notice, this  list of conditions and the following disclaimer.
 * 
 * -Redistribution in binary form must reproduct the above copyright 
 * notice, this list of conditions and the following disclaimer in 
 * the documentation and/or other materials provided with the 
 * distribution.
 * 
 * Neither the name of Sun Microsystems, Inc. or the names of 
 * contributors may be used to endorse or promote products derived 
 * from this software without specific prior written permission.
 * 
 * This software is provided "AS IS," without a warranty of any 
 * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND 
 * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, 
 * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY 
 * EXCLUDED. SUN AND ITS LICENSORS SHALL NOT BE LIABLE FOR ANY 
 * DAMAGES OR LIABILITIES  SUFFERED BY LICENSEE AS A RESULT OF  OR 
 * RELATING TO USE, MODIFICATION OR DISTRIBUTION OF THE SOFTWARE OR 
 * ITS DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE 
 * FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, 
 * SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER 
 * CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF 
 * THE USE OF OR INABILITY TO USE SOFTWARE, EVEN IF SUN HAS BEEN 
 * ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
 * 
 * You acknowledge that Software is not designed, licensed or 
 * intended for use in the design, construction, operation or 
 * maintenance of any nuclear facility. 
 */

package de.tsl2.nano.serviceaccess.aas.principal;

import java.security.Principal;

import org.simpleframework.xml.Attribute;
import org.simpleframework.xml.Default;
import org.simpleframework.xml.DefaultType;
import org.simpleframework.xml.Element;
import org.simpleframework.xml.Namespace;

/**
 * 

* This class implements the Principal interface and represents a tenancy (german: Mandant). * * @see java.security.Principal * @see javax.security.auth.Subject */ @Namespace(reference = "permissions.xsd") @Default(value = DefaultType.FIELD, required = false) public class Tenancy implements Principal, java.io.Serializable { private static final long serialVersionUID = 1L; /** * @serial */ @Attribute private String name; @Element(required=false) private Object data; public Tenancy() { this("", null); } /** * Create a Principal with a tenancy. * * @param name the tenancy for this user. * * @exception NullPointerException if the name is null. */ public Tenancy(String name) { this(name, null); } /** * constructor * @param name * @param data */ public Tenancy(String name, Object data) { if (name == null) { throw new NullPointerException("tenancy-name must not be null!"); } this.name = name; this.data = data; } /** * Return the username for this Principal. * * @return the username for this Principal */ @Override public String getName() { return name; } public Object getData() { return data; } /** * Return a string representation of this Principal. * * @return a string representation of this Principal. */ @Override public String toString() { return ("Tenancy: " + name); } /** * Compares the specified Object with this Principal for equality. Returns true if the given object is * also a Principal and the two Principals have the same username. * * @param o Object to be compared for equality with this Principal. * * @return true if the specified Object is equal equal to this Principal. */ @Override public boolean equals(Object o) { if (o == null) { return false; } if (this == o) { return true; } if (!(o instanceof Tenancy)) { return false; } final Tenancy that = (Tenancy) o; if (this.getName().equals(that.getName())) { return true; } return false; } /** * Return a hash code for this Principal. * * @return a hash code for this Principal. */ @Override public int hashCode() { return name.hashCode(); } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy