/* * $Id: MockPrincipal.java,v 1.1 2005/10/18 17:48:00 edburns Exp $ */ /* * 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://javaserverfaces.dev.java.net/CDDL.html or * 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 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]" * * [Name of File] [ver.__] [Date] * * Copyright 2005 Sun Microsystems Inc. All Rights Reserved */ package com.sun.faces.mock; import java.security.Principal; /** * <p>Mock <strong>Principal</strong> object for low-level unit tests.</p> */ public class MockPrincipal implements Principal { public MockPrincipal() { super(); this.name = ""; this.roles = new String[0]; } public MockPrincipal(String name) { super(); this.name = name; this.roles = new String[0]; } public MockPrincipal(String name, String roles[]) { super(); this.name = name; this.roles = roles; } protected String name = null; protected String roles[] = null; public String getName() { return (this.name); } public boolean isUserInRole(String role) { for (int i = 0; i < roles.length; i++) { if (role.equals(roles[i])) { return (true); } } return (false); } public boolean equals(Object o) { if (o == null) { return (false); } if (!(o instanceof Principal)) { return (false); } Principal p = (Principal) o; if (name == null) { return (p.getName() == null); } else { return (name.equals(p.getName())); } } public int hashCode() { if (name == null) { return ("".hashCode()); } else { return (name.hashCode()); } } }