1 /* 2 * ==================================================================== 3 * Licensed to the Apache Software Foundation (ASF) under one 4 * or more contributor license agreements. See the NOTICE file 5 * distributed with this work for additional information 6 * regarding copyright ownership. The ASF licenses this file 7 * to you under the Apache License, Version 2.0 (the 8 * "License"); you may not use this file except in compliance 9 * with the License. You may obtain a copy of the License at 10 * 11 * http://www.apache.org/licenses/LICENSE-2.0 12 * 13 * Unless required by applicable law or agreed to in writing, 14 * software distributed under the License is distributed on an 15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 * KIND, either express or implied. See the License for the 17 * specific language governing permissions and limitations 18 * under the License. 19 * ==================================================================== 20 * 21 * This software consists of voluntary contributions made by many 22 * individuals on behalf of the Apache Software Foundation. For more 23 * information on the Apache Software Foundation, please see 24 * <http://www.apache.org/>. 25 * 26 */ 27 package org.apache.http.conn.ssl; 28 29 import org.apache.http.util.Args; 30 31 final class SubjectName { 32 33 static final int DNS = 2; 34 static final int IP = 7; 35 36 private final String value; 37 private final int type; 38 39 static SubjectName IP(final String value) { 40 return new SubjectName(value, IP); 41 } 42 43 static SubjectName DNS(final String value) { 44 return new SubjectName(value, DNS); 45 } 46 47 SubjectName(final String value, final int type) { 48 this.value = Args.notNull(value, "Value"); 49 this.type = Args.positive(type, "Type"); 50 } 51 52 public int getType() { 53 return type; 54 } 55 56 public String getValue() { 57 return value; 58 } 59 60 @Override 61 public String toString() { 62 return value; 63 } 64 65 }