blob: e38b694d36d814c0bbffa78db1b90a7e4ea67390 [file] [log] [blame]
/*
* Copyright 2005 The Apache Software Foundation.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.jdo.pc;
import org.apache.jdo.test.util.Util;
/**
* A class that has an instance of each primitive, and of each of Java's
* basic/simple immutable types. For the latter, we also have a null
* equivalent, to be certain that we can store nulls.
*
* @author Dave Bristor
*/
public class PCPrimitive {
public boolean _boolean;
public char _char;
public byte _byte;
public short _short;
public int _int;
public long _long;
public float _float;
public double _double;
public String _String;
public String _nullString;
public Boolean _Boolean;
public Boolean _nullBoolean;
public Character _Char;
public Character _nullChar;
public Byte _Byte;
public Byte _nullByte;
public Short _Short;
public Short _nullShort;
public Integer _Int;
public Integer _nullInt;
public Long _Long;
public Long _nullLong;
public Float _Float;
public Float _nullFloat;
public Double _Double;
public Double _nullDouble;
public Number _Number;
public Number _nullNumber;
public PCPrimitive() { }
// Create a PCPrimitive with "interesting" values.
public void init() {
_boolean = true;
_char = 'z';
_byte = 0xf;
_short = 10;
_int = 42;
_long = Long.MAX_VALUE;
_float = 6.02e+23f;
_double = Double.MAX_VALUE;
_String = "hello, world";
_nullString = null;
_Boolean = new Boolean(_boolean);
_nullBoolean = null;
_Char = new Character(_char);
_nullChar = null;
_Byte = new Byte(_byte);
_nullByte = null;
_Short = new Short(_short);
_nullShort = null;
_Int = new Integer(_int);
_nullInt = null;
_Long = new Long(_long);
_nullLong = null;
_Float = new Float(_float);
_nullFloat = null;
_Double = new Double(_double);
_nullDouble = null;
_Number = new Double(_double);
_nullNumber = null;
}
public boolean equals(Object o) {
boolean rc = false;
if (null != o && o instanceof PCPrimitive) {
PCPrimitive other = (PCPrimitive)o;
rc =
(_boolean == other._boolean) &&
(_char == other._char) &&
(_short == other._short) &&
(_int == other._int) &&
(_long == other._long) &&
(_float == other._float) &&
(_double == other._double) &&
_String.equals(other._String) &&
(_nullString == other._nullString) &&
_Boolean.equals(other._Boolean) &&
(_nullBoolean == other._nullBoolean) &&
_Char.equals(other._Char) &&
(_nullChar == other._nullChar) &&
_Byte.equals(other._Byte) &&
(_nullByte == other._nullByte) &&
_Short.equals(other._Short) &&
(_nullShort == other._nullShort) &&
_Int.equals(other._Int) &&
(_nullInt == other._nullInt) &&
_Long.equals(other._Long) &&
(_nullLong == other._nullLong) &&
_Float.equals(other._Float) &&
(_nullFloat == other._nullFloat) &&
_Double.equals(other._Double) &&
(_nullDouble == other._nullDouble) &&
_Number.equals(other._Number) &&
(_nullNumber == other._nullNumber);
}
return rc;
}
public String toString() {
String rc = null;
try {
return Util.getClassName(this) +
"\n_boolean: " + _boolean +
"\n_char: " + _char +
"\n_byte: " + _byte +
"\n_short: " + _short +
"\n_int: " + _int +
"\n_long: " + _long +
"\n_float: " + _float +
"\n_double: " + _double +
"\n_String: " + _String +
"\n_nullString: " + _nullString +
"\n_Boolean: " + _Boolean +
"\n_nullBoolean: " + _nullBoolean +
"\n_Char: " + _Char +
"\n_nullChar: " + _nullChar +
"\n_Byte: " + _Byte +
"\n_nullByte: " + _nullByte +
"\n_Short: " + _Short +
"\n_nullShort: " + _nullShort +
"\n_Int: " + _Int +
"\n_nullInt: " + _nullInt +
"\n_Long: " + _Long +
"\n_nullLong: " + _nullLong +
"\n_Float: " + _Float +
"\n_nullFloat: " + _nullFloat +
"\n_Double: " + _Double +
"\n_nullDouble: " + _nullDouble +
"\n_Number: " + _Number +
"\n_nullNumber: " + _nullNumber;
} catch (NullPointerException ex) {
return "PCPrimitive has no values";
}
}
}