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 /** 32 * Common interface that all concrete qualifiers can implement. A qualifier 33 * contains information about a given parameter. This information includes the 34 * parameter type and whether the parameter is read only. 35 */ 36 public interface Qualifier { 37 38 /** 39 * Attribute that indicates the name of the parameter the qualifier is 40 * associated with. 41 */ 42 public final static String KEYWORD = "keyword"; 43 44 /** 45 * Attribute that indicates the Java type that can store a legal value for 46 * the parameter. 47 */ 48 public final static String TYPE = "type"; 49 50 /** 51 * Attribute that indicates whether the parameter is designated as read 52 * only. 53 */ 54 public final static String READONLY = "readOnly"; 55 56 /** 57 * Attribute that indicates whether the parameter is hidden. 58 */ 59 public final static String HIDDEN = "hidden"; 60 61 /** 62 * Get the named qualifier attribute. 63 * 64 * @param attribute 65 * Attribute to get. 66 * @return 67 * The value of the attribute, or null if the attribute is not set. 68 */ 69 public Object getAttribute(String attribute); 70 71 /** 72 * Set the named qualifier attributes value. 73 * 74 * @param attribute 75 * Attribute to set. 76 * @param value 77 * The value to set the attribute to, or null if the attribute is to 78 * be removed. 79 */ 80 public void setAttribute(String attribute, Object value); 81 82 /** 83 * Get the name of the parameter this qualifier is connected to. 84 * Convenience method for obtaining the KEYWORD attribute. 85 * 86 * @return 87 * String containing the name of the parameter. 88 */ 89 public String getKeyword(); 90 91 /** 92 * Indicates whether the parameter is designated as read only. 93 * Convenience method for obtaining the READONLY attribute. 94 * 95 * @return 96 * True if the parameter is read only, otherwise false. 97 */ 98 public boolean isReadOnly(); 99 100 /** 101 * Indicates whether the parameter is hidden. 102 * Convenience method for obtaining the HIDDEN attribute. 103 * 104 * @return 105 * True if the parameter is hidden, otherwise false. 106 */ 107 public boolean isHidden(); 108 109 /** 110 * Get the Java type that can store a legal value for the parameter. 111 * Primitive Java types have their counterpart wrapper classes returned. 112 * For example for an int the Integer class is returned. 113 * Convenience method for obtaining the TYPE attribute. 114 * 115 * @return 116 * A class that can store legal parameter values. 117 */ 118 public QualifierType getType(); 119 120 }