/*
* JBoss, Home of Professional Open Source.
* Copyright 2010, Red Hat Middleware LLC, and individual contributors
* as indicated by the @author tags. See the copyright.txt file in the
* distribution for a full listing of individual contributors.
*
* This is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as
* published by the Free Software Foundation; either version 2.1 of
* the License, or (at your option) any later version.
*
* This software is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this software; if not, write to the Free
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
*/
package org.jboss.test.ws.jaxws.benchmark.test.datatypes.types;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import javax.xml.datatype.XMLGregorianCalendar;
import javax.xml.namespace.QName;
/**
* @author pmacik@redhat.com
* @since 09-Mar-2010
*/
public class ComplexType
{
private byte byteValue;
private byte[] byteArrayValue;
private short shortValue;
private int intValue;
private long longValue;
private float floatValue;
private double doubleValue;
private String stringValue;
private List<String> stringList;
private QName qNameValue;
private Date dateValue;
private XMLGregorianCalendar calendarValue;
public ComplexType()
{
super();
}
public ComplexType(byte byteValue, byte[] byteArrayValue, short shortValue, int intValue, long longValue,
float floatValue, double doubleValue, String stringValue, List<String> stringList, QName qNameValue,
Date dateValue, XMLGregorianCalendar calendarValue)
{
super();
this.byteValue = byteValue;
this.byteArrayValue = byteArrayValue;
this.shortValue = shortValue;
this.intValue = intValue;
this.longValue = longValue;
this.floatValue = floatValue;
this.doubleValue = doubleValue;
this.stringValue = stringValue;
this.stringList = stringList;
this.qNameValue = qNameValue;
this.dateValue = dateValue;
this.calendarValue = calendarValue;
}
public byte getByteValue()
{
return byteValue;
}
public void setByteValue(byte byteValue)
{
this.byteValue = byteValue;
}
public byte[] getByteArrayValue()
{
return byteArrayValue;
}
public void setByteArrayValue(byte[] byteArrayValue)
{
this.byteArrayValue = byteArrayValue;
}
public short getShortValue()
{
return shortValue;
}
public void setShortValue(short shortValue)
{
this.shortValue = shortValue;
}
public int getIntValue()
{
return intValue;
}
public void setIntValue(int intValue)
{
this.intValue = intValue;
}
public long getLongValue()
{
return longValue;
}
public void setLongValue(long longValue)
{
this.longValue = longValue;
}
public float getFloatValue()
{
return floatValue;
}
public void setFloatValue(float floatValue)
{
this.floatValue = floatValue;
}
public double getDoubleValue()
{
return doubleValue;
}
public void setDoubleValue(double doubleValue)
{
this.doubleValue = doubleValue;
}
public String getStringValue()
{
return stringValue;
}
public void setStringValue(String stringValue)
{
this.stringValue = stringValue;
}
public List<String> getStringList()
{
return stringList;
}
public void setStringList(List<String> stringList)
{
this.stringList = stringList;
}
public QName getqNameValue()
{
return qNameValue;
}
public void setqNameValue(QName qNameValue)
{
this.qNameValue = qNameValue;
}
public Date getDateValue()
{
return dateValue;
}
public void setDateValue(Date dateValue)
{
this.dateValue = dateValue;
}
public XMLGregorianCalendar getCalendarValue()
{
return calendarValue;
}
public void setCalendarValue(XMLGregorianCalendar calendarValue)
{
this.calendarValue = calendarValue;
}
@Override
public int hashCode()
{
final int prime = 31;
int result = 1;
result = prime * result + Arrays.hashCode(byteArrayValue);
result = prime * result + byteValue;
result = prime * result + ((calendarValue == null) ? 0 : calendarValue.hashCode());
result = prime * result + ((dateValue == null) ? 0 : dateValue.hashCode());
long temp;
temp = Double.doubleToLongBits(doubleValue);
result = prime * result + (int) (temp ^ (temp >>> 32));
result = prime * result + Float.floatToIntBits(floatValue);
result = prime * result + intValue;
result = prime * result + (int) (longValue ^ (longValue >>> 32));
result = prime * result + ((qNameValue == null) ? 0 : qNameValue.hashCode());
result = prime * result + shortValue;
result = prime * result + ((stringList == null) ? 0 : stringList.hashCode());
result = prime * result + ((stringValue == null) ? 0 : stringValue.hashCode());
return result;
}
@Override
public boolean equals(Object obj)
{
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
ComplexType other = (ComplexType) obj;
if (!Arrays.equals(byteArrayValue, other.byteArrayValue))
return false;
if (byteValue != other.byteValue)
return false;
if (calendarValue == null)
{
if (other.calendarValue != null)
return false;
}
else if (!calendarValue.equals(other.calendarValue))
return false;
if (dateValue == null)
{
if (other.dateValue != null)
return false;
}
else if (!dateValue.equals(other.dateValue))
return false;
if (Double.doubleToLongBits(doubleValue) != Double.doubleToLongBits(other.doubleValue))
return false;
if (Float.floatToIntBits(floatValue) != Float.floatToIntBits(other.floatValue))
return false;
if (intValue != other.intValue)
return false;
if (longValue != other.longValue)
return false;
if (qNameValue == null)
{
if (other.qNameValue != null)
return false;
}
else if (!qNameValue.equals(other.qNameValue))
return false;
if (shortValue != other.shortValue)
return false;
if (stringList == null)
{
if (other.stringList != null)
return false;
}
else if (!stringList.equals(other.stringList))
return false;
if (stringValue == null)
{
if (other.stringValue != null)
return false;
}
else if (!stringValue.equals(other.stringValue))
return false;
return true;
}
@Override
public String toString()
{
return "ComplexType [byteArrayValue=" + Arrays.toString(byteArrayValue) + ", byteValue=" + byteValue
+ ", calendarValue=" + calendarValue + ", dateValue=" + dateValue + ", doubleValue=" + doubleValue
+ ", floatValue=" + floatValue + ", intValue=" + intValue + ", longValue=" + longValue + ", qNameValue="
+ qNameValue + ", shortValue=" + shortValue + ", stringList=" + stringList + ", stringValue=" + stringValue
+ "]";
}
}