blob: b7d9f2c339856f8d53990b36f5814ec40d7dbd93 [file] [log] [blame]
/*
* Copyright (c) 2005, 2021 Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2005, 2015 SAP. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0,
* or the Eclipse Distribution License v. 1.0 which is available at
* http://www.eclipse.org/org/documents/edl-v10.php.
*
* SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
*/
// Contributors:
// SAP - initial API and implementation
package org.eclipse.persistence.testing.models.wdf.jpa1.types;
import java.io.Serializable;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.sql.Time;
import java.sql.Timestamp;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import jakarta.persistence.Basic;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.EnumType;
import jakarta.persistence.Enumerated;
import jakarta.persistence.Id;
import jakarta.persistence.Lob;
import jakarta.persistence.PostUpdate;
import jakarta.persistence.Table;
import jakarta.persistence.Temporal;
import jakarta.persistence.TemporalType;
import jakarta.persistence.Transient;
import org.eclipse.persistence.annotations.Mutable;
/*
* This entity class contains all supported <i>basic </i> data types.
*
* The Basic annotation is the simplest type of mapping to a database column. It can optionally be applied to any persistent
* property or instance variable of the following type: Java primitive types, wrappers of the primitive types, java.lang.String,
* java.math.BigInteger, java.math.BigDecimal, java.util.Date, java.util.Calendar, java.sql.Date, java.sql.Time,
* java.sql.Timestamp, byte[], Byte[], char[], Character[], enums, and any other type that implements Serializable.
*/
@Entity
@Table(name = "TMP_BASIC_TYPES_PA")
public class BasicTypesPropertyAccess {
private boolean postUpdateCalled;
public BasicTypesPropertyAccess() {
}
public BasicTypesPropertyAccess(int anId) {
_id = anId;
_primitiveChar = 'a';
}
private int _id;
// Java primitive types
private boolean _primitiveBoolean; // TODO ?
private byte _primititveByte; // SMALLINT
private char _primitiveChar; // INTEGER
private short _primitiveShort; // SMALLINT
private int _primitiveInt; // INTEGER
private long _primitiveLong; // BIGINT
private float _primitiveFloat; // REAL
private double _primitiveDouble; // DOUBLE
// wrappers of primitive types
private Boolean _wrapperBoolean; // TODO ?
private Byte _wrapperByte; // SMALLINT
private Character _wrapperCharacter; // INTEGER
private Short _wrapperShort; // SMALLINT
private Integer _wrapperInteger; // INTEGER
private Long _wrapperLong; // BIGINT
private Float _wrapperFloat; // REAL
private Double _wrapperDouble; // DOUBLE
// immutable types
private String _string2Varchar; // VARCHAR
private String _string2Clob; // CLOB
private BigDecimal _bigDecimal; // DECIMAL
private BigInteger _bigInteger; // DECIMAL
// mutable types
private Date _utilDate; // DATE
private Calendar _utilCalendar; // TIMESTAMP
private java.sql.Date _sqlDate; // DATE
private Time sqlTime; // TIME
private Timestamp _sqlTimestamp; // TIMESTAMP
// arrays
private byte[] _primitiveByteArray2Binary; // BINARY
private byte[] _primitiveByteArray2Longvarbinary; // LONGVARBINARY
private byte[] _primitiveByteArray2Blob; // BLOB
private Byte[] _wrapperByteArray2Binary; // BINARY
private Byte[] _wrapperByteArray2Longvarbinary; // LONGVARBINARY
private Byte[] _wrapperByteArray2Blob; // BLOB
private char[] _primitiveCharArray2Varchar; // VARCHAR
private char[] _primitiveCharArray2Clob; // CLOB
private Character[] _wrapperCharacterArray2Varchar; // VARCHAR
private Character[] _wrapperCharacterArray2Clob; // CLOB
// user-defined serializable
private Serializable _serializable; // BLOB
// enums
private UserDefinedEnum _enumString;
private UserDefinedEnum _enumOrdinal;
public transient String notPersistentByModifier;
public int notPersistentByAnnotation;
public void fill() {
_primitiveBoolean = true;
_primititveByte = 1;
_primitiveChar = 'A';
_primitiveShort = 2;
_primitiveInt = 3;
_primitiveLong = 4;
_primitiveFloat = 1.5f;
_primitiveDouble = 2.5;
_wrapperBoolean = Boolean.TRUE;
_wrapperByte = (byte) 1;
_wrapperCharacter = 'A';
_wrapperShort = (short) 2;
_wrapperInteger = 3;
_wrapperLong = 4L;
_wrapperFloat = 1.5f;
_wrapperDouble = 2.5;
_string2Varchar = "VARCHAR";
_string2Clob = "CLOB";
_bigDecimal = new BigDecimal("42.42");
_bigInteger = new BigInteger("77");
_utilDate = new Date(17000);
_utilCalendar = new GregorianCalendar(2005, 9, 8, 10, 49);
_sqlDate = java.sql.Date.valueOf("2005-09-08");
sqlTime = Time.valueOf("10:49:00");
_sqlTimestamp = new Timestamp(17000);
_primitiveByteArray2Binary = new byte[] { 0, 1, 2, 3, 4, 5, 6, 7 };
_primitiveByteArray2Longvarbinary = new byte[1111];
for (int i = 0; i < _primitiveByteArray2Longvarbinary.length; i++) {
_primitiveByteArray2Longvarbinary[i] = (byte) i;
}
_primitiveByteArray2Blob = new byte[3333];
for (int i = 0; i < _primitiveByteArray2Blob.length; i++) {
_primitiveByteArray2Blob[i] = (byte) i;
}
_wrapperByteArray2Binary = new Byte[] {(byte) 0, (byte) 1, (byte) 2, (byte) 3,
(byte) 4, (byte) 5, (byte) 6, (byte) 7};
_wrapperByteArray2Longvarbinary = new Byte[1111];
for (int i = 0; i < _wrapperByteArray2Longvarbinary.length; i++) {
_wrapperByteArray2Longvarbinary[i] = (byte) i;
}
_wrapperByteArray2Blob = new Byte[3333];
for (int i = 0; i < _wrapperByteArray2Blob.length; i++) {
_wrapperByteArray2Blob[i] = (byte) i;
}
_primitiveCharArray2Varchar = new char[] { 'V', 'A', 'R', 'C', 'A', 'R' };
_primitiveCharArray2Clob = new char[] { 'C', 'L', 'O', 'B' };
_wrapperCharacterArray2Varchar = new Character[] {'V', 'A', 'R',
'C', 'H', 'A', 'R'};
_wrapperCharacterArray2Clob = new Character[] {'C', 'L', 'O',
'B'};
_serializable = new UserDefinedSerializable("REGEN"); // BLOB
_enumOrdinal = UserDefinedEnum.EMIL;
_enumString = UserDefinedEnum.HUGO;
}
/**
* @return Returns the bigDecimal.
*/
@Basic
@Column(name = "BIG_DECIMAL", precision = 12, scale = 2)
public BigDecimal getBigDecimal() {
return _bigDecimal;
}
/**
* @param bigDecimal
* The bigDecimal to set.
*/
public void setBigDecimal(BigDecimal bigDecimal) {
this._bigDecimal = bigDecimal;
}
/**
* @return Returns the bigInteger.
*/
@Basic
@Column(name = "BIG_INTEGER", precision = 12)
public BigInteger getBigInteger() {
return _bigInteger;
}
/**
* @param bigInteger
* The bigInteger to set.
*/
public void setBigInteger(BigInteger bigInteger) {
this._bigInteger = bigInteger;
}
/**
* @return Returns the id.
*/
@Id
public int getId() {
return _id;
}
/**
* @param id
* The id to set.
*/
public void setId(int id) {
this._id = id;
}
/**
* @return Returns the primititveByte.
*/
@Basic
@Column(name = "P_BYTE")
public byte getPrimititveByte() {
return _primititveByte;
}
/**
* @param primititveByte
* The primititveByte to set.
*/
public void setPrimititveByte(byte primititveByte) {
this._primititveByte = primititveByte;
}
/**
* @return Returns the primitiveBoolean.
*/
@Basic
@Column(name = "P_BOOLEAN")
public boolean getPrimitiveBoolean() {
return _primitiveBoolean;
}
/**
* @param primitiveBoolean
* The primitiveBoolean to set.
*/
public void setPrimitiveBoolean(boolean primitiveBoolean) {
this._primitiveBoolean = primitiveBoolean;
}
/**
* @return Returns the primitiveByteArray2Binary.
*/
@Basic
@Column(name = "PBA_BINARY", length = 8)
@Mutable
public byte[] getPrimitiveByteArray2Binary() {
return _primitiveByteArray2Binary;
}
/**
* @param primitiveByteArray2Binary
* The primitiveByteArray2Binary to set.
*/
public void setPrimitiveByteArray2Binary(byte[] primitiveByteArray2Binary) {
this._primitiveByteArray2Binary = primitiveByteArray2Binary;
}
/**
* @return Returns the primitiveByteArray2Blob.
*/
@Basic
@Column(name = "PBA_BLOB")
@Lob
@Mutable
public byte[] getPrimitiveByteArray2Blob() {
return _primitiveByteArray2Blob;
}
/**
* @param primitiveByteArray2Blob
* The primitiveByteArray2Blob to set.
*/
public void setPrimitiveByteArray2Blob(byte[] primitiveByteArray2Blob) {
this._primitiveByteArray2Blob = primitiveByteArray2Blob;
}
/**
* @return Returns the primitiveByteArray2Longvarbinary.
*/
@Basic
@Column(name = "PBA_LONGVARBINARY", length = 1500)
@Mutable
public byte[] getPrimitiveByteArray2Longvarbinary() {
return _primitiveByteArray2Longvarbinary;
}
/**
* @param primitiveByteArray2Longvarbinary
* The primitiveByteArray2Longvarbinary to set.
*/
public void setPrimitiveByteArray2Longvarbinary(byte[] primitiveByteArray2Longvarbinary) {
this._primitiveByteArray2Longvarbinary = primitiveByteArray2Longvarbinary;
}
/**
* @return Returns the primitiveChar.
*/
@Basic
@Column(name = "P_CHAR")
public char getPrimitiveChar() {
return _primitiveChar;
}
/**
* @param primitiveChar
* The primitiveChar to set.
*/
public void setPrimitiveChar(char primitiveChar) {
this._primitiveChar = primitiveChar;
}
/**
* @return Returns the primitiveCharArray2Clob.
*/
@Basic
@Column(name = "PCA_CLOB")
@Lob
@Mutable
public char[] getPrimitiveCharArray2Clob() {
return _primitiveCharArray2Clob;
}
/**
* @param primitiveCharArray2Clob
* The primitiveCharArray2Clob to set.
*/
public void setPrimitiveCharArray2Clob(char[] primitiveCharArray2Clob) {
this._primitiveCharArray2Clob = primitiveCharArray2Clob;
}
/**
* @return Returns the primitiveCharArray2Varchar.
*/
@Basic
@Column(name = "PCA_VARCHAR")
@Mutable
public char[] getPrimitiveCharArray2Varchar() {
return _primitiveCharArray2Varchar;
}
/**
* @param primitiveCharArray2Varchar
* The primitiveCharArray2Varchar to set.
*/
public void setPrimitiveCharArray2Varchar(char[] primitiveCharArray2Varchar) {
this._primitiveCharArray2Varchar = primitiveCharArray2Varchar;
}
/**
* @return Returns the primitiveFloat.
*/
@Basic
@Column(name = "P_FLOAT")
public float getPrimitiveFloat() {
return _primitiveFloat;
}
/**
* @param primitiveFloat
* The primitiveFloat to set.
*/
public void setPrimitiveFloat(float primitiveFloat) {
this._primitiveFloat = primitiveFloat;
}
/**
* @return Returns the primitiveInt.
*/
@Basic
@Column(name = "P_INT")
public int getPrimitiveInt() {
return _primitiveInt;
}
/**
* @param primitiveInt
* The primitiveInt to set.
*/
public void setPrimitiveInt(int primitiveInt) {
this._primitiveInt = primitiveInt;
}
/**
* @return Returns the primitiveLong.
*/
@Basic
@Column(name = "P_LONG")
public long getPrimitiveLong() {
return _primitiveLong;
}
/**
* @param primitiveLong
* The primitiveLong to set.
*/
public void setPrimitiveLong(long primitiveLong) {
this._primitiveLong = primitiveLong;
}
/**
* @return Returns the primitiveShort.
*/
@Basic
@Column(name = "P_SHORT")
public short getPrimitiveShort() {
return _primitiveShort;
}
/**
* @param primitiveShort
* The primitiveShort to set.
*/
public void setPrimitiveShort(short primitiveShort) {
this._primitiveShort = primitiveShort;
}
/**
* @return Returns the prmitiveDouble.
*/
@Basic
@Column(name = "P_DOUBLE")
public double getPrimitiveDouble() {
return _primitiveDouble;
}
/**
* @param prmitiveDouble
* The prmitiveDouble to set.
*/
public void setPrimitiveDouble(double prmitiveDouble) {
this._primitiveDouble = prmitiveDouble;
}
/**
* @return Returns the serializable.
*/
@Basic
@Column(name = "SERIALIZABLE")
@Lob
public Serializable getSerializable() {
return _serializable;
}
/**
* @param serializable
* The serializable to set.
*/
public void setSerializable(Serializable serializable) {
this._serializable = serializable;
}
/**
* @return Returns the sqlDate.
*/
@Basic
@Column(name = "SQL_DATE")
public java.sql.Date getSqlDate() {
return _sqlDate;
}
/**
* @param sqlDate
* The sqlDate to set.
*/
public void setSqlDate(java.sql.Date sqlDate) {
this._sqlDate = sqlDate;
}
/**
* @return Returns the sqlTime.
*/
@Basic
@Column(name = "SQL_TIME")
public Time getSqlTime() {
return sqlTime;
}
/**
* @param sqlTime
* The sqlTime to set.
*/
public void setSqlTime(Time sqlTime) {
this.sqlTime = sqlTime;
}
/**
* @return Returns the sqlTimestamp.
*/
@Basic
@Column(name = "SQL_TIMESTAMP")
public Timestamp getSqlTimestamp() {
return _sqlTimestamp;
}
/**
* @param sqlTimestamp
* The sqlTimestamp to set.
*/
public void setSqlTimestamp(Timestamp sqlTimestamp) {
this._sqlTimestamp = sqlTimestamp;
}
/**
* @return Returns the string2Clob.
*/
@Basic
@Column(name = "STRING_CLOB")
@Lob
public String getString2Clob() {
return _string2Clob;
}
/**
* @param string2Clob
* The string2Clob to set.
*/
public void setString2Clob(String string2Clob) {
this._string2Clob = string2Clob;
}
/**
* @return Returns the string2Varchar.
*/
@Basic
@Column(name = "STRING_VC", length = 128)
public String getString2Varchar() {
return _string2Varchar;
}
/**
* @param string2Varchar
* The string2Varchar to set.
*/
public void setString2Varchar(String string2Varchar) {
this._string2Varchar = string2Varchar;
}
/**
* @return Returns the utilCalendar.
*/
@Temporal(TemporalType.TIMESTAMP)
@Column(name = "UTIL_CALENDAR")
public Calendar getUtilCalendar() {
return _utilCalendar;
}
/**
* @param utilCalendar
* The utilCalendar to set.
*/
public void setUtilCalendar(Calendar utilCalendar) {
this._utilCalendar = utilCalendar;
}
/**
* @return Returns the utilDate.
*/
@Temporal(TemporalType.TIMESTAMP)
@Column(name = "UTIL_DATE")
public Date getUtilDate() {
return _utilDate;
}
/**
* @param utilDate
* The utilDate to set.
*/
public void setUtilDate(Date utilDate) {
this._utilDate = utilDate;
}
/**
* @return Returns the wrapperBoolean.
*/
@Basic
@Column(name = "W_BOOLEAN")
public Boolean isWrapperBoolean() {
return _wrapperBoolean;
}
/**
* @param wrapperBoolean
* The wrapperBoolean to set.
*/
public void setWrapperBoolean(Boolean wrapperBoolean) {
this._wrapperBoolean = wrapperBoolean;
}
/**
* @return Returns the wrapperByte.
*/
@Basic
@Column(name = "W_BYTE")
public Byte getWrapperByte() {
return _wrapperByte;
}
/**
* @param wrapperByte
* The wrapperByte to set.
*/
public void setWrapperByte(Byte wrapperByte) {
this._wrapperByte = wrapperByte;
}
/**
* @return Returns the wrapperByteArray2Binary.
*/
@Basic
@Column(name = "WBA_BINARY", length = 8)
@Mutable
public Byte[] getWrapperByteArray2Binary() {
return _wrapperByteArray2Binary;
}
/**
* @param wrapperByteArray2Binary
* The wrapperByteArray2Binary to set.
*/
public void setWrapperByteArray2Binary(Byte[] wrapperByteArray2Binary) {
this._wrapperByteArray2Binary = wrapperByteArray2Binary;
}
/**
* @return Returns the wrapperByteArray2Blob.
*/
@Basic
@Column(name = "WBA_BLOB")
@Lob
@Mutable
public Byte[] getWrapperByteArray2Blob() {
return _wrapperByteArray2Blob;
}
/**
* @param wrapperByteArray2Blob
* The wrapperByteArray2Blob to set.
*/
public void setWrapperByteArray2Blob(Byte[] wrapperByteArray2Blob) {
this._wrapperByteArray2Blob = wrapperByteArray2Blob;
}
/**
* @return Returns the wrapperByteArray2Longvarbinary.
*/
@Basic
@Column(name = "WBA_LONGVARBINARY", length = 1500)
@Mutable
public Byte[] getWrapperByteArray2Longvarbinary() {
return _wrapperByteArray2Longvarbinary;
}
/**
* @param wrapperByteArray2Longvarbinary
* The wrapperByteArray2Longvarbinary to set.
*/
public void setWrapperByteArray2Longvarbinary(Byte[] wrapperByteArray2Longvarbinary) {
this._wrapperByteArray2Longvarbinary = wrapperByteArray2Longvarbinary;
}
/**
* @return Returns the wrapperCharacter.
*/
@Basic
@Column(name = "W_CHARACTER")
public Character getWrapperCharacter() {
return _wrapperCharacter;
}
/**
* @param wrapperCharacter
* The wrapperCharacter to set.
*/
public void setWrapperCharacter(Character wrapperCharacter) {
this._wrapperCharacter = wrapperCharacter;
}
/**
* @return Returns the wrapperCharacterArray2Clob.
*/
@Basic
@Column(name = "WCA_CLOB")
@Lob
@Mutable
public Character[] getWrapperCharacterArray2Clob() {
return _wrapperCharacterArray2Clob;
}
/**
* @param wrapperCharacterArray2Clob
* The wrapperCharacterArray2Clob to set.
*/
public void setWrapperCharacterArray2Clob(Character[] wrapperCharacterArray2Clob) {
this._wrapperCharacterArray2Clob = wrapperCharacterArray2Clob;
}
/**
* @return Returns the wrapperCharacterArray2Varchar.
*/
@Basic
@Column(name = "WCA_VARCHAR")
@Mutable
public Character[] getWrapperCharacterArray2Varchar() {
return _wrapperCharacterArray2Varchar;
}
/**
* @param wrapperCharacterArray2Varchar
* The wrapperCharacterArray2Varchar to set.
*/
public void setWrapperCharacterArray2Varchar(Character[] wrapperCharacterArray2Varchar) {
this._wrapperCharacterArray2Varchar = wrapperCharacterArray2Varchar;
}
/**
* @return Returns the wrapperDouble.
*/
@Basic
@Column(name = "W_DOUBLE")
public Double getWrapperDouble() {
return _wrapperDouble;
}
/**
* @param wrapperDouble
* The wrapperDouble to set.
*/
public void setWrapperDouble(Double wrapperDouble) {
this._wrapperDouble = wrapperDouble;
}
/**
* @return Returns the wrapperFloat.
*/
@Basic
@Column(name = "W_FLOAT")
public Float getWrapperFloat() {
return _wrapperFloat;
}
/**
* @param wrapperFloat
* The wrapperFloat to set.
*/
public void setWrapperFloat(Float wrapperFloat) {
this._wrapperFloat = wrapperFloat;
}
/**
* @return Returns the wrapperInteger.
*/
@Basic
@Column(name = "W_INTEGER")
public Integer getWrapperInteger() {
return _wrapperInteger;
}
/**
* @param wrapperInteger
* The wrapperInteger to set.
*/
public void setWrapperInteger(Integer wrapperInteger) {
this._wrapperInteger = wrapperInteger;
}
/**
* @return Returns the wrapperLong.
*/
@Basic
@Column(name = "W_LONG")
public Long getWrapperLong() {
return _wrapperLong;
}
/**
* @param wrapperLong
* The wrapperLong to set.
*/
public void setWrapperLong(Long wrapperLong) {
this._wrapperLong = wrapperLong;
}
/**
* @return Returns the wrapperShort.
*/
@Basic
@Column(name = "W_SMALLINT")
public Short getWrapperShort() {
return _wrapperShort;
}
/**
* @param wrapperShort
* The wrapperShort to set.
*/
public void setWrapperShort(Short wrapperShort) {
this._wrapperShort = wrapperShort;
}
public void clearPostUpdate() {
postUpdateCalled = false;
}
@PostUpdate
public void postUpdate() {
postUpdateCalled = true;
}
public boolean postUpdateWasCalled() {
return postUpdateCalled;
}
@Transient
public int getNotPersistentByAnnotation() {
return notPersistentByAnnotation;
}
public void setNotPersistentByAnnotation(int notPersistentByAnnotation) {
this.notPersistentByAnnotation = notPersistentByAnnotation;
}
@Enumerated(EnumType.STRING)
@Column(name = "ENUM_STRING")
public UserDefinedEnum getEnumString() {
return _enumString;
}
public void setEnumString(UserDefinedEnum string) {
_enumString = string;
}
@Enumerated(EnumType.ORDINAL)
@Column(name = "ENUM_ORDINAL")
public UserDefinedEnum getEnumOrdinal() {
return _enumOrdinal;
}
public void setEnumOrdinal(UserDefinedEnum ordinal) {
_enumOrdinal = ordinal;
}
}