/* * Copyright 2002-2016 the original author or authors. * * 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. */ package org.springframework.security.core.authority; import org.springframework.security.core.GrantedAuthority; import org.springframework.security.core.SpringSecurityCoreVersion; import org.springframework.util.Assert; /** * Basic concrete implementation of a {@link GrantedAuthority}. * * <p> * Stores a {@code String} representation of an authority granted to the * {@link org.springframework.security.core.Authentication Authentication} object. * * @author Luke Taylor */ public final class SimpleGrantedAuthority implements GrantedAuthority { private static final long serialVersionUID = SpringSecurityCoreVersion.SERIAL_VERSION_UID; private final String role; public SimpleGrantedAuthority(String role) { Assert.hasText(role, "A granted authority textual representation is required"); this.role = role; } public String getAuthority() { return role; } public boolean equals(Object obj) { if (this == obj) { return true; } if (obj instanceof SimpleGrantedAuthority) { return role.equals(((SimpleGrantedAuthority) obj).role); } return false; } public int hashCode() { return this.role.hashCode(); } public String toString() { return this.role; } }