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-2001 by Sun Microsystems, Inc.
26 * All rights reserved.
27 */
28
29 package com.sun.dhcpmgr.data;
30
31 import java.io.Serializable;
32
33 public class DhcpDatastore implements Serializable {
34
35 private String resource;
36 private String location;
37 private String config;
38 private int version;
39 private boolean enabled;
40
41 /**
42 * Simplest constructor.
43 */
44 public DhcpDatastore() {
45 this(null, null, null, -1, true);
46 } // constructor
47
48 /**
49 * Constructor.
50 * @param r the data store 'resource' value
51 * @param v the data store 'version' value
52 * @param e the data store 'enabled' value
53 */
54 public DhcpDatastore(String r, int v, boolean e) {
55 this(r, null, null, v, e);
56 } // constructor
57
58 /**
59 * Constructor.
60 * @param r the data store 'resource' value
61 * @param l the data store 'location' value
62 * @param a the data store 'config' value
63 */
64 public DhcpDatastore(String r, String l, String a) {
65 this(r, l, a, -1, true);
66 } // constructor
67
68 /**
69 * Constructor.
70 * @param r the data store 'resource' value
71 * @param l the data store 'location' value
72 * @param a the data store 'config' value
73 * @param v the data store 'version' value
74 */
75 public DhcpDatastore(String r, String l, String a, int v) {
76 this(r, l, a, v, true);
77 } // constructor
78
79 /**
80 * Constructor.
81 * @param r the data store 'resource' value
82 * @param l the data store 'location' value
83 * @param a the data store 'config' value
84 * @param v the data store 'version' value
85 * @param e the data store 'enabled' value
86 */
87 public DhcpDatastore(String r, String l, String a, int v, boolean e) {
88 setResource(r);
89 setLocation(l);
90 setConfig(a);
91 setVersion(v);
92 setEnabled(e);
93 } // constructor
94
95 /**
96 * Returns the data store 'resource' value.
97 * @returns the data store 'resource' value.
98 */
99 public String getResource() {
100 return resource;
101 } // getResource
102
103 /**
104 * Sets the data store 'resource' value.
105 * @param s the data store 'resource' value.
106 */
107 public void setResource(String s) {
108 resource = s;
109 } // setResource
110
111 /**
112 * Returns the data store 'location' value.
113 * @returns the data store 'location' value.
114 */
115 public String getLocation() {
116 return location;
117 } // getLocation
118
119 /**
120 * Sets the data store 'location' value.
121 * @param s the data store 'location' value.
122 */
123 public void setLocation(String s) {
124 location = s;
125 } // setLocation
126
127 /**
128 * Returns the data store 'config' value.
129 * @returns the data store 'config' value.
130 */
131 public String getConfig() {
132 return config;
133 } // getConfig
134
135 /**
136 * Sets the data store 'config' value.
137 * @param s the data store 'config' value.
138 */
139 public void setConfig(String s) {
140 config = s;
141 } // setConfig
142
143 /**
144 * Returns the data store 'version' value.
145 * @returns the data store 'version' value.
146 */
147 public int getVersion() {
148 return version;
149 } // getVersion
150
151 /**
152 * Sets the data store 'version' value.
153 * @param v the data store 'version' value.
154 */
155 public void setVersion(int v) {
156 version = v;
157 } // setVersion
158
159 /**
160 * Returns the data store 'enabled' value.
161 * @returns the data store 'enabled' value.
162 */
163 public boolean isEnabled() {
164 return enabled;
165 } // isEnables
166
167 /**
168 * Sets the data store 'enabled' value.
169 * @param e the data store 'enabled' value.
170 */
171 public void setEnabled(boolean e) {
172 enabled = e;
173 } // setEnabled
174
175 /**
176 * Indicates whether some other object "is equal" to this one.
177 * @param o the object with which to compare.
178 * @returns true if the objects are equal, false otherwise.
179 */
180 public boolean equals(Object o) {
181 if (o instanceof DhcpDatastore) {
182 DhcpDatastore d = (DhcpDatastore)o;
183
184 return (version == d.getVersion() &&
185 stringsEqual(resource, d.getResource()) &&
186 stringsEqual(location, d.getLocation()) &&
187 stringsEqual(config, d.getConfig()));
188
189 } else {
190 return false;
191 }
192
193 } // equals
194
195 /**
196 * Compares two strings for equality.
197 * @param s1 one of the strings to compare.
198 * @param s2 the other string to compare against.
199 * @returns true if the strings are equal, false otherwise.
200 */
201 private boolean stringsEqual(String s1, String s2) {
202 if (s1 == s2) {
203 return true;
204 } else if (s1 == null || s2 == null) {
205 return false;
206 } else {
207 return s1.equals(s2);
208 }
209 } // stringsEqual
210
211 } // DhcpDatastore