1 /* 2 * CDDL HEADER START 3 * 4 * The contents of this file are subject to the terms of the 5 * Common Development and Distribution License, Version 1.0 only 6 * (the "License"). You may not use this file except in compliance 7 * with the License. 8 * 9 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10 * or http://www.opensolaris.org/os/licensing. 11 * See the License for the specific language governing permissions 12 * and limitations under the License. 13 * 14 * When distributing Covered Code, include this CDDL HEADER in each 15 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16 * If applicable, add the following below this CDDL HEADER, with the 17 * fields enclosed by brackets "[]" replaced with your own identifying 18 * information: Portions Copyright [yyyy] [name of copyright owner] 19 * 20 * CDDL HEADER END 21 */ 22 /* 23 * ident "%Z%%M% %I% %E% SMI" 24 * 25 * Copyright 2002 Sun Microsystems, Inc. All rights reserved. 26 * Use is subject to license terms. 27 */ 28 29 package com.sun.dhcpmgr.data.qualifier; 30 31 import java.util.Arrays; 32 33 /** 34 * An extension of the string qualifier type that restricts the string 35 * values to a given set. 36 */ 37 public class QualifierStringEnum extends QualifierString 38 implements QualifierEnum { 39 40 /** 41 * The set of legal string values. 42 */ 43 protected String[] values; 44 45 private QualifierStringEnum() {} 46 47 /** 48 * Construct an string enumerated qualifier type. 49 * 50 * @param values 51 * The set of legal string values. 52 */ 53 public QualifierStringEnum(String[] values) { 54 this.values = values; 55 } 56 57 /** 58 * Get the set of legal string values. 59 * 60 * @return 61 * The set of legal string values. 62 */ 63 public String[] getValues() { 64 return values; 65 } 66 67 public Object parseValue(String value) { 68 if (value != null && Arrays.asList(values).contains(value)) { 69 return value; 70 } else { 71 return null; 72 } 73 } 74 75 public String toString() { 76 return super.toString() + Arrays.asList(values); 77 } 78 79 }