blob: 3f3a430eb46a031750380aef40c59df45ba2779b [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You 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
<<<<<<< Updated upstream
*
* https://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
=======
*
* https://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
>>>>>>> Stashed changes
* limitations under the License.
*/
package org.apache.jdo.tck.pc.fieldtypes;
import java.io.Serializable;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.Locale;
import java.util.TimeZone;
import javax.jdo.PersistenceManager;
import javax.jdo.Transaction;
public class AllTypes {
private int id;
private boolean fld_boolean;
private byte fld_byte;
private char fld_char;
private double fld_double;
private float fld_float;
private int fld_int;
private long fld_long;
private short fld_short;
private Boolean fld_Boolean;
private Byte fld_Byte;
private Character fld_Character;
private Double fld_Double;
private Float fld_Float;
private Integer fld_Integer;
private Long fld_Long;
private Short fld_Short;
private String fld_String;
private Locale fld_Locale;
private Date fld_Date;
private BigDecimal fld_BigDecimal;
private BigInteger fld_BigInteger;
public static final int VERY_LARGE_POSITIVE_INT = Integer.MAX_VALUE - 511;
public static final int VERY_LARGE_NEGATIVE_INT = Integer.MIN_VALUE + 512;
public static final int NUM_VALUES =
10; // should equal number of elements in the following arrays
// DO NOT CHANGE THE FOLLOWING VALUES, OR MANY LINES OF CODE IN TESTS MUST CHANGE!!!
public static final boolean[] boolean_values = {
false, true, true, false, true, false, false, false, true, false
};
public static final byte[] byte_values = {
Byte.MIN_VALUE, Byte.MAX_VALUE, 0, -100, 100, -10, 10, 50, 50, 75
};
public static final char[] char_values = {
Character.MIN_VALUE, Character.MAX_VALUE, ' ', 'A', 'z', 'B', 'F', 'z', 'M', 'M'
};
public static final double DOUBLE_SMALLEST = -9999999999999.9;
public static final double DOUBLE_LARGEST = 9999999999999.9;
public static final double[] double_values = {
DOUBLE_SMALLEST,
DOUBLE_LARGEST,
0.0,
100.0,
100.0,
50000000.0,
-234234.234,
1000000000.0,
350.5,
-25.5
};
public static final float FLOAT_SMALLEST = -999999999999.9f;
public static final float FLOAT_LARGEST = 999999999999.9f;
public static final float[] float_values = {
FLOAT_SMALLEST,
FLOAT_LARGEST,
0.0f,
100.0f,
100.0f,
50000000.0f,
-234.23f,
1000000000.0f,
350.5f,
-25.5f
};
public static final int[] int_values = {
VERY_LARGE_NEGATIVE_INT,
VERY_LARGE_POSITIVE_INT,
0,
100,
100,
1000,
-1000,
1000000,
-1000000,
10000
};
public static final long[] long_values = {
Long.MIN_VALUE, Long.MAX_VALUE, 0, 100, 100, 1000, -1000, 1000000, -1000, -1000000
};
public static final short[] short_values = {
Short.MIN_VALUE, Short.MAX_VALUE, 0, 100, 100, 1000, -1000, 10000, -10000, -500
};
public static final Boolean[] Boolean_values = {
false, true, true, false, true,
false, false, false, true, false
};
public static final Byte[] Byte_values = {
Byte.MIN_VALUE,
Byte.MAX_VALUE,
(byte) 0,
(byte) -100,
(byte) 100,
(byte) -10,
(byte) 10,
(byte) 50,
(byte) 50,
(byte) 75
};
public static final Character[] Character_values = {
Character.MIN_VALUE, Character.MAX_VALUE, ' ', 'A', 'z', 'B', 'F', 'z', 'M', 'M'
};
public static final Double[] Double_values = {
DOUBLE_SMALLEST,
DOUBLE_LARGEST,
0.0,
100.0,
100.0,
50000000.0,
-234234.234,
1000000000.0,
350.5,
-25.5
};
public static final Float[] Float_values = {
FLOAT_SMALLEST,
FLOAT_LARGEST,
0.0f,
100.0f,
100.0f,
50000000.0f,
234234.234f,
1000000000.0f,
350.5f,
-25.5f
};
public static final Integer[] Integer_values = {
VERY_LARGE_NEGATIVE_INT,
VERY_LARGE_POSITIVE_INT,
0,
10000,
100,
100,
1000000,
-1000000,
-1000,
1000
};
public static final Long[] Long_values = {
Long.MIN_VALUE, Long.MAX_VALUE, 0L, 100L, -1000L, 1000L, -1000L, 1000000L, 100L, -1000000L
};
public static final Short[] Short_values = {
Short.MIN_VALUE,
Short.MAX_VALUE,
(short) 0,
(short) 100,
(short) 100,
(short) 1000,
(short) -1000,
(short) 10000,
(short) -10000,
(short) -500
};
public static final String[] String_values = {
"", "hello world",
"JDO has a very nice persistence API", "JDO",
"Java", "abcde",
"abcdef", "JDO is a breeze to use",
"Java", "Long-live JDO"
};
public static final Locale[] Locale_values = {
Locale.US, Locale.UK, Locale.FRANCE, Locale.GERMANY, Locale.CANADA,
Locale.JAPAN, Locale.ITALY, Locale.CHINA, Locale.KOREA, Locale.TAIWAN
};
public static final BigDecimal[] BigDecimal_values = {
new BigDecimal("24323423423.234234"), new BigDecimal("-1123123.22"),
new BigDecimal("100.0"), new BigDecimal("100.0"),
new BigDecimal("0"), new BigDecimal("123232.22"),
new BigDecimal("-234234.23333"), new BigDecimal("98345983475.23"),
new BigDecimal("-23.000034"), new BigDecimal("989899.98889")
};
public static final BigInteger[] BigInteger_values = {
new BigInteger("-999999999999999999"), new BigInteger("987034534985043985"),
new BigInteger("0"), new BigInteger("39582"),
new BigInteger("39582"), new BigInteger("1000000000"),
new BigInteger("-1000000000"), new BigInteger("153"),
new BigInteger("-27345"), new BigInteger("1333330")
};
public static final Date[] Date_values = new Date[10];
static {
GregorianCalendar gc = new GregorianCalendar(TimeZone.getTimeZone("GMT"), Locale.UK);
gc.clear();
gc.set(1999, Calendar.DECEMBER, 31, 9, 0, 0);
Date_values[0] = gc.getTime();
gc.set(1957, Calendar.FEBRUARY, 1, 9, 0, 0);
Date_values[1] = gc.getTime();
gc.set(2032, Calendar.MARCH, 15, 9, 0, 0);
Date_values[2] = gc.getTime();
gc.set(1957, Calendar.FEBRUARY, 1, 9, 0, 0);
Date_values[3] = gc.getTime();
gc.set(1995, Calendar.JUNE, 14, 9, 0, 0);
Date_values[4] = gc.getTime();
gc.set(1992, Calendar.NOVEMBER, 22, 9, 0, 0);
Date_values[5] = gc.getTime();
gc.set(1900, Calendar.JANUARY, 1, 9, 0, 0);
Date_values[6] = gc.getTime();
gc.set(2015, Calendar.SEPTEMBER, 15, 9, 0, 0);
Date_values[7] = gc.getTime();
gc.set(1979, Calendar.AUGUST, 12, 9, 0, 0);
Date_values[8] = gc.getTime();
gc.set(1979, Calendar.AUGUST, 13, 9, 0, 0);
Date_values[9] = gc.getTime();
}
public AllTypes() {
id = 0;
}
public AllTypes(int id) {
this.id = id;
}
public void setId(int id) {
this.id = id;
}
public boolean getboolean() {
return fld_boolean;
}
public void setboolean(boolean b) {
fld_boolean = b;
}
public byte getbyte() {
return fld_byte;
}
public void setbyte(byte b) {
fld_byte = b;
}
public char getchar() {
return fld_char;
}
public void setchar(char c) {
fld_char = c;
}
public double getdouble() {
return fld_double;
}
public void setdouble(double d) {
fld_double = d;
}
public float getfloat() {
return fld_float;
}
public void setfloat(float f) {
fld_float = f;
}
public int getint() {
return fld_int;
}
public void setint(int i) {
fld_int = i;
}
public long getlong() {
return fld_long;
}
public void setlong(long l) {
fld_long = l;
}
public short getshort() {
return fld_short;
}
public void setshort(short s) {
fld_short = s;
}
public Boolean getBoolean() {
return fld_Boolean;
}
public void setBoolean(Boolean b) {
fld_Boolean = b;
}
public Byte getByte() {
return fld_Byte;
}
public void setByte(Byte b) {
fld_Byte = b;
}
public Character getCharacter() {
return fld_Character;
}
public void setCharacter(Character c) {
fld_Character = c;
}
public Double getDouble() {
return fld_Double;
}
public void setDouble(Double d) {
fld_Double = d;
}
public Float getFloat() {
return fld_Float;
}
public void setFloat(Float f) {
fld_Float = f;
}
public Integer getInteger() {
return fld_Integer;
}
public void setInteger(Integer i) {
fld_Integer = i;
}
public Long getLong() {
return fld_Long;
}
public void setLong(Long l) {
fld_Long = l;
}
public Short getShort() {
return fld_Short;
}
public void setShort(Short s) {
fld_Short = s;
}
public String getString() {
return fld_String;
}
public void setString(String s) {
fld_String = s;
}
public Locale getLocale() {
return fld_Locale;
}
public void setLocale(Locale l) {
fld_Locale = l;
}
public Date getDate() {
return fld_Date;
}
public void setDate(Date d) {
fld_Date = d;
}
public BigDecimal getBigDecimal() {
return fld_BigDecimal;
}
public void setBigDecimal(BigDecimal bd) {
fld_BigDecimal = bd;
}
public BigInteger getBigInteger() {
return fld_BigInteger;
}
public void setBigInteger(BigInteger bi) {
fld_BigInteger = bi;
}
public static void load(PersistenceManager pm) {
Transaction t = pm.currentTransaction();
t.begin();
for (int i = 0; i < NUM_VALUES; ++i) {
AllTypes o = new AllTypes(i);
pm.makePersistent(o);
o.setboolean(boolean_values[i]);
o.setBoolean(Boolean_values[i]);
o.setbyte(byte_values[i]);
o.setByte(Byte_values[i]);
o.setchar(char_values[i]);
o.setCharacter(Character_values[i]);
o.setdouble(double_values[i]);
o.setDouble(Double_values[i]);
o.setfloat(float_values[i]);
o.setFloat(Float_values[i]);
o.setint(int_values[i]);
o.setInteger(Integer_values[i]);
o.setlong(long_values[i]);
o.setLong(Long_values[i]);
o.setshort(short_values[i]);
o.setShort(Short_values[i]);
o.setString(String_values[i]);
o.setLocale(Locale_values[i]);
o.setDate(Date_values[i]);
o.setBigDecimal(BigDecimal_values[i]);
o.setBigInteger(BigInteger_values[i]);
}
t.commit();
}
public static class Oid implements Serializable {
private static final long serialVersionUID = 1L;
public int id;
public Oid() {}
public Oid(String s) {
id = Integer.parseInt(justTheId(s));
}
public String toString() {
return this.getClass().getName() + ": " + id;
}
public int hashCode() {
return id;
}
public boolean equals(Object other) {
if (other != null && (other instanceof Oid)) {
Oid k = (Oid) other;
return k.id == this.id;
}
return false;
}
protected static String justTheId(String str) {
return str.substring(str.indexOf(':') + 1);
}
}
}