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: * An int {@link Value}.
25: *
26: * @author Marc Prud'hommeaux
27: */
28: public class IntValue extends Value {
29:
30: private int value;
31:
32: public IntValue(String prop) {
33: super (prop);
34: }
35:
36: public Class getValueType() {
37: return int.class;
38: }
39:
40: /**
41: * The internal value.
42: */
43: public void set(int value) {
44: assertChangeable();
45: int oldValue = this .value;
46: this .value = value;
47: if (value != oldValue)
48: valueChanged();
49: }
50:
51: /**
52: * The internal value.
53: */
54: public int get() {
55: return this .value;
56: }
57:
58: protected String getInternalString() {
59: return String.valueOf(this .value);
60: }
61:
62: protected void setInternalString(String val) {
63: if (StringUtils.isEmpty(val))
64: set(0);
65: else
66: set(Integer.parseInt(val));
67: }
68:
69: protected void setInternalObject(Object obj) {
70: if (obj == null)
71: set(0);
72: else
73: set(((Number) obj).intValue());
74: }
75: }
|