/** * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. * * Copyright (c) 2005 Sun Microsystems Inc. All Rights Reserved * * The contents of this file are subject to the terms * of the Common Development and Distribution License * (the License). You may not use this file except in * compliance with the License. * * You can obtain a copy of the License at * https://opensso.dev.java.net/public/CDDLv1.0.html or * opensso/legal/CDDLv1.0.txt * See the License for the specific language governing * permission and limitations under the License. * * When distributing Covered Code, include this CDDL * Header Notice in each file and include the License file * at opensso/legal/CDDLv1.0.txt. * If applicable, add the following below the CDDL Header, * with the fields enclosed by brackets [] replaced by * your own identifying information: * "Portions Copyrighted [year] [name of copyright owner]" * * $Id: AuthPrincipal.java,v 1.3 2008/06/25 05:41:53 qcheng Exp $ * */ package com.sun.identity.authentication.internal; import com.sun.identity.authentication.internal.server.AuthSPrincipal; /** *

* This class extends the AuthSPrincipal class. * *

* Principals such as this AuthPrincipal may be associated with a * particular Subject to augment that Subject with * an additional identity. Refer to the Subject class for more * information on how to achieve this. Authorization decisions can then be based * upon the Principals associated with a Subject. * * @see java.security.Principal * @see javax.security.auth.Subject * * @supported.api */ public class AuthPrincipal extends AuthSPrincipal { /** * Create an AuthPrincipal with a user name. * * @param name * the name for this user. * @exception NullPointerException * if the name is null. * * @supported.api */ public AuthPrincipal(String name) { super(name); } /** * Return the user name for this AuthPrincipal. * * @return the user name for this AuthPrincipal * * @supported.api */ public String getName() { return name; } /** * Return the AuthMethod for this AuthPrincipal. * * @return the AuthMethod for this AuthPrincipal */ public String getAuthMethod() { return authMethod; } /** * Return the AuthLevel for this AuthPrincipal. * * @return the AuthLevel for this AuthPrincipal */ public String getAuthLevel() { return authLevel; } /** * Return a string representation of this * AuthPrincipal. * * @return a string representation of this AuthPrincipal. * * @supported.api */ public String toString() { return ("AuthPrincipal: " + name); } /** * Compares the specified object with this * AuthPrincipal for equality. Returns true if the given * object is also an AuthPrincipal and the two * AuthPrincipals have the same user name. * * @param o * Object to be compared for equality with this * AuthPrincipal. * @return true if the specified Object is equal to this * AuthPrincipal. * * @supported.api */ public boolean equals(Object o) { if (o == null) return false; if (this == o) return true; if (!(o instanceof AuthPrincipal)) return false; AuthPrincipal that = (AuthPrincipal) o; if (this.getName().equals(that.getName())) return true; return false; } /** * Return a hash code for this * AuthPrincipal. * * @return a hash code for this AuthPrincipal. * * @supported.api */ public int hashCode() { return name.hashCode(); } }