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      */
DhcpDatastore()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      */
DhcpDatastore(String r, int v, boolean e)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      */
DhcpDatastore(String r, String l, String a)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      */
DhcpDatastore(String r, String l, String a, int v)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      */
DhcpDatastore(String r, String l, String a, int v, boolean e)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      */
getResource()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      */
setResource(String s)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      */
getLocation()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      */
setLocation(String s)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      */
getConfig()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      */
setConfig(String s)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      */
getVersion()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      */
setVersion(int v)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      */
isEnabled()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      */
setEnabled(boolean e)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      */
equals(Object o)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      */
stringsEqual(String s1, String s2)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
212