1 /*
2 * JBoss, Home of Professional Open Source
3 * Copyright 2014, Red Hat, Inc. and/or its affiliates, and individual
4 * contributors by the @authors tag. See the copyright.txt in the
5 * distribution for a full listing of individual contributors.
6 *
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
10 * http://www.apache.org/licenses/LICENSE-2.0
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17 package org.jboss.as.quickstarts.ejb_security_interceptors;
18
19 import org.jboss.as.core.security.api.UserPrincipal;
20
21 /**
22 * A wrapper around the user for the Connection to act as a Credential.
23 *
24 * @author <a href="mailto:darran.lofthouse@jboss.com">Darran Lofthouse</a>
25 */
26 public final class OuterUserCredential {
27
28 private final UserPrincipal user;
29
30 OuterUserCredential(final UserPrincipal user) {
31 if (user == null) {
32 throw new IllegalArgumentException("UserPrincipal can not be null.");
33 }
34 this.user = user;
35 }
36
37 String getName() {
38 return user.getName();
39 }
40
41 String getRealm() {
42 return user.getRealm();
43 }
44
45 @Override
46 public int hashCode() {
47 return user.hashCode();
48 }
49
50 @Override
51 public boolean equals(Object other) {
52 return other instanceof OuterUserCredential && equals((OuterUserCredential) other);
53 }
54
55 public boolean equals(OuterUserCredential other) {
56 return this == other || other != null && user.equals(other.user);
57 }
58
59 }