/*
 * Generated by XDoclet - Do not edit!
 */
package test.interfaces;

/**
 * Data object for AllTypesEntity.
 * @xdoclet-generated at 16-04-05
 * @copyright The XDoclet Team
 * @author XDoclet
 * @version 1.2.3
 */
public class AllTypesEntityData
   extends java.lang.Object
   implements java.io.Serializable
{
   private int[] IVOwnerHdl;
   private java.lang.String id;
   private boolean ABoolean;
   private byte AByte;
   private short AShort;
   private char AChar;
   private int anInt;
   private long ALong;
   private float AFloat;
   private double ADouble;
   private java.lang.Object anObject;
   private java.lang.Object[] anObjectArray;
   private boolean[] ABooleanArray;
   private byte[] AByteArray;
   private char[] ACharArray;
   private short[] AShortArray;
   private int[] anIntArray;
   private long[] ALongArray;
   private float[] AFloatArray;
   private double[] ADoubleArray;
   private java.util.Date creationDate;

  /* begin value object */

  /* end value object */

   public AllTypesEntityData()
   {
   }

   public AllTypesEntityData( int[] IVOwnerHdl,java.lang.String id,boolean ABoolean,byte AByte,short AShort,char AChar,int anInt,long ALong,float AFloat,double ADouble,java.lang.Object anObject,java.lang.Object[] anObjectArray,boolean[] ABooleanArray,byte[] AByteArray,char[] ACharArray,short[] AShortArray,int[] anIntArray,long[] ALongArray,float[] AFloatArray,double[] ADoubleArray,java.util.Date creationDate )
   {
      this.IVOwnerHdl = IVOwnerHdl;
      setId(id);
      setABoolean(ABoolean);
      setAByte(AByte);
      setAShort(AShort);
      setAChar(AChar);
      setAnInt(anInt);
      setALong(ALong);
      setAFloat(AFloat);
      setADouble(ADouble);
      setAnObject(anObject);
      setAnObjectArray(anObjectArray);
      setABooleanArray(ABooleanArray);
      setAByteArray(AByteArray);
      setACharArray(ACharArray);
      setAShortArray(AShortArray);
      setAnIntArray(anIntArray);
      setALongArray(ALongArray);
      setAFloatArray(AFloatArray);
      setADoubleArray(ADoubleArray);
      setCreationDate(creationDate);
   }

   public AllTypesEntityData( AllTypesEntityData otherData )
   {
      this.IVOwnerHdl = otherData.IVOwnerHdl;
      setId(otherData.getId());
      setABoolean(otherData.getABoolean());
      setAByte(otherData.getAByte());
      setAShort(otherData.getAShort());
      setAChar(otherData.getAChar());
      setAnInt(otherData.getAnInt());
      setALong(otherData.getALong());
      setAFloat(otherData.getAFloat());
      setADouble(otherData.getADouble());
      setAnObject(otherData.getAnObject());
      setAnObjectArray(otherData.getAnObjectArray());
      setABooleanArray(otherData.getABooleanArray());
      setAByteArray(otherData.getAByteArray());
      setACharArray(otherData.getACharArray());
      setAShortArray(otherData.getAShortArray());
      setAnIntArray(otherData.getAnIntArray());
      setALongArray(otherData.getALongArray());
      setAFloatArray(otherData.getAFloatArray());
      setADoubleArray(otherData.getADoubleArray());
      setCreationDate(otherData.getCreationDate());

   }

   public test.interfaces.AllTypesEntityPK getPrimaryKey() {
     test.interfaces.AllTypesEntityPK pk = new test.interfaces.AllTypesEntityPK(this.getIVOwnerHdl(),this.getId());
     return pk;
   }

   public int[] getIVOwnerHdl()
   {
      return this.IVOwnerHdl;
   }
   public void setIVOwnerHdl( int[] IVOwnerHdl )
   {
      this.IVOwnerHdl = IVOwnerHdl;
   }

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

   public boolean getABoolean()
   {
      return this.ABoolean;
   }
   public void setABoolean( boolean ABoolean )
   {
      this.ABoolean = ABoolean;
   }

   public byte getAByte()
   {
      return this.AByte;
   }
   public void setAByte( byte AByte )
   {
      this.AByte = AByte;
   }

   public short getAShort()
   {
      return this.AShort;
   }
   public void setAShort( short AShort )
   {
      this.AShort = AShort;
   }

   public char getAChar()
   {
      return this.AChar;
   }
   public void setAChar( char AChar )
   {
      this.AChar = AChar;
   }

   public int getAnInt()
   {
      return this.anInt;
   }
   public void setAnInt( int anInt )
   {
      this.anInt = anInt;
   }

   public long getALong()
   {
      return this.ALong;
   }
   public void setALong( long ALong )
   {
      this.ALong = ALong;
   }

   public float getAFloat()
   {
      return this.AFloat;
   }
   public void setAFloat( float AFloat )
   {
      this.AFloat = AFloat;
   }

   public double getADouble()
   {
      return this.ADouble;
   }
   public void setADouble( double ADouble )
   {
      this.ADouble = ADouble;
   }

   public java.lang.Object getAnObject()
   {
      return this.anObject;
   }
   public void setAnObject( java.lang.Object anObject )
   {
      this.anObject = anObject;
   }

   public java.lang.Object[] getAnObjectArray()
   {
      return this.anObjectArray;
   }
   public void setAnObjectArray( java.lang.Object[] anObjectArray )
   {
      this.anObjectArray = anObjectArray;
   }

   public boolean[] getABooleanArray()
   {
      return this.ABooleanArray;
   }
   public void setABooleanArray( boolean[] ABooleanArray )
   {
      this.ABooleanArray = ABooleanArray;
   }

   public byte[] getAByteArray()
   {
      return this.AByteArray;
   }
   public void setAByteArray( byte[] AByteArray )
   {
      this.AByteArray = AByteArray;
   }

   public char[] getACharArray()
   {
      return this.ACharArray;
   }
   public void setACharArray( char[] ACharArray )
   {
      this.ACharArray = ACharArray;
   }

   public short[] getAShortArray()
   {
      return this.AShortArray;
   }
   public void setAShortArray( short[] AShortArray )
   {
      this.AShortArray = AShortArray;
   }

   public int[] getAnIntArray()
   {
      return this.anIntArray;
   }
   public void setAnIntArray( int[] anIntArray )
   {
      this.anIntArray = anIntArray;
   }

   public long[] getALongArray()
   {
      return this.ALongArray;
   }
   public void setALongArray( long[] ALongArray )
   {
      this.ALongArray = ALongArray;
   }

   public float[] getAFloatArray()
   {
      return this.AFloatArray;
   }
   public void setAFloatArray( float[] AFloatArray )
   {
      this.AFloatArray = AFloatArray;
   }

   public double[] getADoubleArray()
   {
      return this.ADoubleArray;
   }
   public void setADoubleArray( double[] ADoubleArray )
   {
      this.ADoubleArray = ADoubleArray;
   }

   public java.util.Date getCreationDate()
   {
      return this.creationDate;
   }
   public void setCreationDate( java.util.Date creationDate )
   {
      this.creationDate = creationDate;
   }

   public String toString()
   {
      StringBuffer str = new StringBuffer("{");

      str.append("IVOwnerHdl=" + getIVOwnerHdl() + " " + "id=" + getId() + " " + "ABoolean=" + getABoolean() + " " + "AByte=" + getAByte() + " " + "AShort=" + getAShort() + " " + "AChar=" + getAChar() + " " + "anInt=" + getAnInt() + " " + "ALong=" + getALong() + " " + "AFloat=" + getAFloat() + " " + "ADouble=" + getADouble() + " " + "anObject=" + getAnObject() + " " + "anObjectArray=" + getAnObjectArray() + " " + "ABooleanArray=" + getABooleanArray() + " " + "AByteArray=" + getAByteArray() + " " + "ACharArray=" + getACharArray() + " " + "AShortArray=" + getAShortArray() + " " + "anIntArray=" + getAnIntArray() + " " + "ALongArray=" + getALongArray() + " " + "AFloatArray=" + getAFloatArray() + " " + "ADoubleArray=" + getADoubleArray() + " " + "creationDate=" + getCreationDate());
      str.append('}');

      return(str.toString());
   }

   public boolean equals( Object pOther )
   {
      if( pOther instanceof AllTypesEntityData )
      {
         AllTypesEntityData lTest = (AllTypesEntityData) pOther;
         boolean lEquals = true;

         lEquals = lEquals && this.IVOwnerHdl == lTest.IVOwnerHdl;
         if( this.id == null )
         {
            lEquals = lEquals && ( lTest.id == null );
         }
         else
         {
            lEquals = lEquals && this.id.equals( lTest.id );
         }
         lEquals = lEquals && this.ABoolean == lTest.ABoolean;
         lEquals = lEquals && this.AByte == lTest.AByte;
         lEquals = lEquals && this.AShort == lTest.AShort;
         lEquals = lEquals && this.AChar == lTest.AChar;
         lEquals = lEquals && this.anInt == lTest.anInt;
         lEquals = lEquals && this.ALong == lTest.ALong;
         lEquals = lEquals && this.AFloat == lTest.AFloat;
         lEquals = lEquals && this.ADouble == lTest.ADouble;
         if( this.anObject == null )
         {
            lEquals = lEquals && ( lTest.anObject == null );
         }
         else
         {
            lEquals = lEquals && this.anObject.equals( lTest.anObject );
         }
         if( this.anObjectArray == null )
         {
            lEquals = lEquals && ( lTest.anObjectArray == null );
         }
         else
         {
            lEquals = lEquals && this.anObjectArray.equals( lTest.anObjectArray );
         }
         lEquals = lEquals && this.ABooleanArray == lTest.ABooleanArray;
         lEquals = lEquals && this.AByteArray == lTest.AByteArray;
         lEquals = lEquals && this.ACharArray == lTest.ACharArray;
         lEquals = lEquals && this.AShortArray == lTest.AShortArray;
         lEquals = lEquals && this.anIntArray == lTest.anIntArray;
         lEquals = lEquals && this.ALongArray == lTest.ALongArray;
         lEquals = lEquals && this.AFloatArray == lTest.AFloatArray;
         lEquals = lEquals && this.ADoubleArray == lTest.ADoubleArray;
         if( this.creationDate == null )
         {
            lEquals = lEquals && ( lTest.creationDate == null );
         }
         else
         {
            lEquals = lEquals && this.creationDate.equals( lTest.creationDate );
         }

         return lEquals;
      }
      else
      {
         return false;
      }
   }

   public int hashCode()
   {
      int result = 17;

      if (IVOwnerHdl != null) {
        for (int i=0; i<IVOwnerHdl.length; i++)
        {
          result = 37*result + (int) IVOwnerHdl[i];
        }
      }

      result = 37*result + ((this.id != null) ? this.id.hashCode() : 0);

      result = 37*result + (ABoolean ? 0 : 1);

      {
         long l = AByte;
         result = 37*result + (int)(l^(l>>>32));
      }

      result = 37*result + (int) AShort;

      result = 37*result + (int) AChar;

      result = 37*result + (int) anInt;

      result = 37*result + (int)(ALong^(ALong>>>32));

      result = 37*result + Float.floatToIntBits(AFloat);

      {
         long l = Double.doubleToLongBits(ADouble);
         result = 37*result + (int)(l^(l>>>32));
      }

      result = 37*result + ((this.anObject != null) ? this.anObject.hashCode() : 0);

      result = 37*result + ((this.anObjectArray != null) ? this.anObjectArray.hashCode() : 0);

      if (ABooleanArray != null) {
        for (int i=0; i<ABooleanArray.length; i++)
        {
          result = 37*result + (ABooleanArray[i] ? 0 : 1);
        }
      }

      if (AByteArray != null) {
        for (int i=0; i<AByteArray.length; i++)
        {
          long l = AByteArray[i];
          result = 37*result + (int)(l^(l>>>32));
        }
      }

      if (ACharArray != null) {
        for (int i=0; i<ACharArray.length; i++)
        {
          result = 37*result + (int) ACharArray[i];
        }
      }

      if (AShortArray != null) {
        for (int i=0; i<AShortArray.length; i++)
        {
          result = 37*result + (int) AShortArray[i];
        }
      }

      if (anIntArray != null) {
        for (int i=0; i<anIntArray.length; i++)
        {
          result = 37*result + (int) anIntArray[i];
        }
      }

      if (ALongArray != null) {
        for (int i=0; i<ALongArray.length; i++)
        {
          result = 37*result + (int)(ALongArray[i]^(ALongArray[i]>>>32));
        }
      }

      if (AFloatArray != null) {
        for (int i=0; i<AFloatArray.length; i++)
        {
          result = 37*result + Float.floatToIntBits(AFloatArray[i]);
        }
      }

      if (ADoubleArray != null) {
        for (int i=0; i<ADoubleArray.length; i++)
        {
          long l = Double.doubleToLongBits(ADoubleArray[i]);
          result = 37*result + (int)(l^(l>>>32));
        }
      }

      result = 37*result + ((this.creationDate != null) ? this.creationDate.hashCode() : 0);

      return result;
   }

}
