01: /*
02: * Licensed to the Apache Software Foundation (ASF) under one
03: * or more contributor license agreements. See the NOTICE file
04: * distributed with this work for additional information
05: * regarding copyright ownership. The ASF licenses this file
06: * to you under the Apache License, Version 2.0 (the
07: * "License"); you may not use this file except in compliance
08: * with the License. You may obtain a copy of the License at
09: *
10: * http://www.apache.org/licenses/LICENSE-2.0
11: *
12: * Unless required by applicable law or agreed to in writing,
13: * software distributed under the License is distributed on an
14: * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15: * KIND, either express or implied. See the License for the
16: * specific language governing permissions and limitations
17: * under the License.
18: */
19: package org.apache.openjpa.lib.conf;
20:
21: import org.apache.commons.lang.StringUtils;
22:
23: /**
24: * A string {@link Value}.
25: *
26: * @author Marc Prud'hommeaux
27: */
28: public class StringValue extends Value {
29:
30: private String value;
31:
32: public StringValue(String prop) {
33: super (prop);
34: }
35:
36: public Class getValueType() {
37: return String.class;
38: }
39:
40: /**
41: * The internal value.
42: */
43: public String get() {
44: return value;
45: }
46:
47: /**
48: * The internal value.
49: */
50: public void set(String value) {
51: assertChangeable();
52: String oldValue = this .value;
53: this .value = value;
54: if (!StringUtils.equals(value, oldValue))
55: valueChanged();
56: }
57:
58: protected String getInternalString() {
59: return get();
60: }
61:
62: protected void setInternalString(String val) {
63: set(val);
64: }
65:
66: protected void setInternalObject(Object obj) {
67: set((String) obj);
68: }
69: }
|