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 (c) 1998-1999 Sun Microsystems, Inc.
26 * All rights reserved.
27 */
28
29 package com.sun.dhcpmgr.data;
30
31 import java.io.Serializable;
32
33 /**
34 * DhcpResource represents a record in the /etc/defaults/dhcp file. Each
35 * record is either an option setting for the DHCP daemon or a comment.
36 */
37 public class DhcpResource implements Serializable {
38 private String key;
39 private String value;
40 private boolean comment;
41
42 public DhcpResource() {
43 this("", "", false);
44 }
45
46 public DhcpResource(String key, String value) {
47 this(key, value, false);
48 }
49
50 public DhcpResource(String key, String value, boolean comment) {
51 this.key = key;
52 this.value = value;
53 this.comment = comment;
54 }
55
56 public boolean isComment() {
57 return comment;
58 }
59
60 public void setComment(boolean comment) {
61 this.comment = comment;
62 }
63
64 public String getKey() {
65 return key;
66 }
67
68 public void setKey(String key) {
69 this.key = key;
70 }
71
72 public String getValue() {
73 return value;
74 }
75
76 public void setValue(String value) {
77 this.value = value;
78 }
79
80 /**
81 * Compare for equality against another object.
82 * @return true if the object is another DhcpResource instance and
83 * they are both comments or normal resources and the key value is
84 * identical. The value of 'value' is irrelevant. This is primarily
85 * used by the indexOf method of the ArrayList used to store the options
86 * in DhcpdOptions.
87 */
88 public boolean equals(Object o) {
89 if (o instanceof DhcpResource) {
90 DhcpResource r = (DhcpResource)o;
91 return (comment == r.isComment()) && key.equals(r.getKey());
92 } else {
93 return false;
94 }
95 }
96
97 public String toString() {
98 if (comment) {
99 return "#" + key;
100 } else {
101 return key + "=" + value;
102 }
103 }
104 }