/*
 * Copyright (c) 2009, 2012, Oracle and/or its affiliates. All rights reserved.
 * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
 */
package com.sun.ts.tests.jpa.core.entitytest.bigdecimal;


import com.sun.ts.lib.util.TestUtil;

import javax.persistence.*;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.sql.Time;
import java.sql.Timestamp;
import java.util.Calendar;
import java.util.Date;

@Entity
@Table(name = "A_BIGDECIMAL")
public class A implements java.io.Serializable {

    // ===========================================================
    // instance variables 

    @Basic
    protected String id;
    
    @Basic
    protected String name;
    
    @Basic
    protected int value;
    
    @Basic
    protected Integer basicInteger;  
    
    @Basic
    protected short basicShort;
    
    @Basic
    protected Short basicBigShort; 
    
    @Basic 
    protected float basicFloat;
    
    @Basic
    protected Float basicBigFloat;
    
    @Basic
    protected long basicLong;
    
    @Basic
    protected Long basicBigLong;
    
    @Basic
    protected double basicDouble;
    
    @Basic
    protected Double basicBigDouble;
    
    @Basic
    protected char basicChar;
    
    @Basic
    protected char[] basicCharArray;
    
    @Basic
    protected Character[] basicBigCharArray;
    
    @Basic
    protected byte[] basicByteArray;
    
    @Basic
    protected Byte[] basicBigByteArray;
    
    @Basic
    protected BigInteger basicBigInteger;
    
    @Id
    protected BigDecimal basicBigDecimal;
    
    @Basic
    @Temporal(TemporalType.DATE)
    protected Date basicDate;
    
    @Basic
    protected Time basicTime;
    
    @Basic
    @Temporal(TemporalType.DATE)
    protected Calendar basicCalendar;
    
    @Basic
    protected Timestamp basicTimestamp;


    // ===========================================================
    // constructors
    public A() {
        TestUtil.logTrace("Entity A no arg constructor");
    }

    public A(String id, String name, int value, Integer basicInteger,
            short basicShort, Short basicBigShort, float basicFloat,
            Float basicBigFloat, long basicLong, Long basicBigLong,
            double basicDouble, Double basicBigDouble, char basicChar,
            char[] basicCharArray, Character[] basicBigCharArray,
            byte[] basicByteArray, Byte[] basicBigByteArray,
            BigInteger basicBigInteger, BigDecimal basicBigDecimal,
            Date basicDate, Time basicTime, Timestamp basicTimestamp, 
            Calendar basicCalendar) {
        
        this.id = id;
        this.name = name;
        this.value = value;
        this.basicInteger=basicInteger;
        this.basicShort=basicShort;
        this.basicBigShort = basicBigShort;
        this.basicFloat=basicFloat;
        this.basicBigFloat=basicBigFloat;
        this.basicLong=basicLong;
        this.basicBigLong=basicBigLong;
        this.basicDouble=basicDouble;
        this.basicBigDouble=basicBigDouble;
        this.basicChar = basicChar;
        this.basicCharArray = basicCharArray;
        this.basicBigCharArray = basicBigCharArray;
        this.basicByteArray = basicByteArray;
        this.basicBigByteArray = basicBigByteArray;
        this.basicBigInteger = basicBigInteger;
        this.basicBigDecimal = basicBigDecimal;
        this.basicDate = basicDate;
        this.basicTime = basicTime;
        this.basicCalendar = basicCalendar;
        this.basicTimestamp = basicTimestamp;
        
    }


    public String getId() {
        return id;
    }
    
    public void setId(String id){
        this.id=id;       
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getValue() {
        return value;
    }

    public void setValue(int value) {
        this.value = value;
    }
    
     public Double getBasicBigDouble() {
        return basicBigDouble;
    }

    public void setBasicBigDouble(Double basicBigDouble) {
        this.basicBigDouble = basicBigDouble;
    }

    public Long getBasicBigLong() {
        return basicBigLong;
    }

    public void setBasicBigLong(Long basicBigLong) {
        this.basicBigLong = basicBigLong;
    }

    public Short getBasicBigShort() {
        return basicBigShort;
    }

    public void setBasicBigShort(Short basicBigShort) {
        this.basicBigShort = basicBigShort;
    }

    public double getBasicDouble() {
        return basicDouble;
    }

    public void setBasicDouble(double basicDouble) {
        this.basicDouble = basicDouble;
    }

    public float getBasicFloat() {
        return basicFloat;
    }

    public void setBasicFloat(float basicFloat) {
        this.basicFloat = basicFloat;
    }

    public Integer getBasicInteger() {
        return basicInteger;
    }

    public void setBasicInteger(Integer basicInteger) {
        this.basicInteger = basicInteger;
    }

    public long getBasicLong() {
        return basicLong;
    }

    public void setBasicLong(long basicLong) {
        this.basicLong = basicLong;
    }

    public short getBasicShort() {
        return basicShort;
    }

    public void setBasicShort(short basicShort) {
        this.basicShort = basicShort;
    }
    

    public Byte[] getBasicBigByteArray() {
        return basicBigByteArray;
    }

    public void setBasicBigByteArray(Byte[] basicBigByteArray) {
        this.basicBigByteArray = basicBigByteArray;
    }

    public Character[] getBasicBigCharArray() {
        return basicBigCharArray;
    }

    public void setBasicBigCharArray(Character[] basicBigCharArray) {
        this.basicBigCharArray = basicBigCharArray;
    }

    public BigDecimal getBasicBigDecimal() {
        return basicBigDecimal;
    }

    public void setBasicBigDecimal(BigDecimal basicBigDecimal) {
        this.basicBigDecimal = basicBigDecimal;
    }

    public BigInteger getBasicBigInteger() {
        return basicBigInteger;
    }

    public void setBasicBigInteger(BigInteger basicBigInteger) {
        this.basicBigInteger = basicBigInteger;
    }

    public byte[] getBasicByteArray() {
        return basicByteArray;
    }

    public void setBasicByteArray(byte[] basicByteArray) {
        this.basicByteArray = basicByteArray;
    }

    public Calendar getBasicCalendar() {
        return basicCalendar;
    }

    public void setBasicCalendar(Calendar basicCalendar) {
        this.basicCalendar = basicCalendar;
    }

    public char getBasicChar() {
        return basicChar;
    }

    public void setBasicChar(char basicChar) {
        this.basicChar = basicChar;
    }

    public char[] getBasicCharArray() {
        return basicCharArray;
    }

    public void setBasicCharArray(char[] basicCharArray) {
        this.basicCharArray = basicCharArray;
    }

    public Date getBasicDate() {
        return basicDate;
    }

    public void setBasicDate(Date basicDate) {
        this.basicDate = basicDate;
    }

    public Time getBasicTime() {
        return basicTime;
    }

    public void setBasicTime(Time basicTime) {
        this.basicTime = basicTime;
    }

    public Timestamp getBasicTimestamp() {
        return basicTimestamp;
    }

    public void setBasicTimestamp(Timestamp basicTimestamp) {
        this.basicTimestamp = basicTimestamp;
    }
}
