Java tutorial
/** * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you 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.apache.hadoop.gateway.util; import java.io.Serializable; import java.security.Principal; import org.apache.http.annotation.Immutable; import org.apache.http.auth.BasicUserPrincipal; import org.apache.http.auth.Credentials; import org.apache.http.util.LangUtils; /** * Simple {@link Credentials} implementation based on a user name / password * pair. * * @since 4.0 */ @Immutable public class PrincipalCredentials implements Credentials, Serializable { private final Principal principal; /** * The constructor with the principal. */ public PrincipalCredentials(Principal principal) { super(); if (principal == null) throw new IllegalArgumentException("principal==null"); this.principal = principal; } @Override public Principal getUserPrincipal() { return principal; } @Override public String getPassword() { return null; } @Override public int hashCode() { return principal.hashCode(); } @Override public boolean equals(Object object) { if (this == object) return true; if (object instanceof PrincipalCredentials) { PrincipalCredentials that = (PrincipalCredentials) object; if (this.principal.equals(that.principal)) { return true; } } return false; } @Override public String toString() { return this.principal.toString(); } }