blob: d8bbf734a6feb84e986d26542040b5f461ad7729 [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
*
* http://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
* limitations under the License.
*/
package org.apache.ignite.platform.javaobject;
/**
* Test object.
*/
public class TestJavaObject {
/** */
protected boolean fBoolean;
/** */
protected byte fByte;
/** */
protected short fShort;
/** */
protected char fChar;
/** */
protected int fInt;
/** */
protected long fLong;
/** */
protected float fFloat;
/** */
protected double fDouble;
/** */
protected Object fObj;
/** Integer field. */
protected Integer fIntBoxed;
/**
* Default constructor.
*/
public TestJavaObject() {
// No-op.
}
/**
* Constructor.
*
* @param fBoolean Boolean field.
* @param fByte Byte field.
* @param fShort Short field.
* @param fChar Char field.
* @param fInt Integer field.
* @param fLong Long field.
* @param fDouble Double field.
* @param fFloat Float field.
* @param fObj Object field.
* @param fIntBoxed Integer boxed field.
*/
public TestJavaObject(boolean fBoolean, byte fByte, short fShort, char fChar, int fInt, long fLong, float fFloat,
double fDouble, Object fObj, Integer fIntBoxed) {
this.fBoolean = fBoolean;
this.fByte = fByte;
this.fShort = fShort;
this.fChar = fChar;
this.fInt = fInt;
this.fLong = fLong;
this.fDouble = fDouble;
this.fFloat = fFloat;
this.fObj = fObj;
this.fIntBoxed = fIntBoxed;
}
/**
* Set boolean field.
*
* @param fBoolean Value.
* @return This instance for chaining.
*/
public TestJavaObject setBoolean(boolean fBoolean) {
this.fBoolean = fBoolean;
return this;
}
/**
* Set byte field.
*
* @param fByte Value.
* @return This instance for chaining.
*/
public TestJavaObject setByte(byte fByte) {
this.fByte = fByte;
return this;
}
/**
* Set short field.
*
* @param fShort Value.
* @return This instance for chaining.
*/
public TestJavaObject setShort(short fShort) {
this.fShort = fShort;
return this;
}
/**
* Set char field.
*
* @param fChar Value.
* @return This instance for chaining.
*/
public TestJavaObject setChar(char fChar) {
this.fChar = fChar;
return this;
}
/**
* Set int field.
*
* @param fInt Value.
* @return This instance for chaining.
*/
public TestJavaObject setInt(int fInt) {
this.fInt = fInt;
return this;
}
/**
* Set long field.
*
* @param fLong Value.
* @return This instance for chaining.
*/
public TestJavaObject setLong(long fLong) {
this.fLong = fLong;
return this;
}
/**
* Set float field.
*
* @param fFloat Value.
* @return This instance for chaining.
*/
public TestJavaObject setFloat(float fFloat) {
this.fFloat = fFloat;
return this;
}
/**
* Set double field.
*
* @param fDouble Value.
* @return This instance for chaining.
*/
public TestJavaObject setDouble(double fDouble) {
this.fDouble = fDouble;
return this;
}
/**
* Set object field.
*
* @param fObj Value.
* @return This instance for chaining.
*/
public TestJavaObject setObject(Object fObj) {
this.fObj = fObj;
return this;
}
/**
* Set wrapped integer field.
*
* @param fInteger Value.
* @return This instance for chaining.
*/
public TestJavaObject setIntBoxed(Integer fInteger) {
this.fIntBoxed = fInteger;
return this;
}
/** {@inheritDoc} */
@SuppressWarnings({"EqualsWhichDoesntCheckParameterClass", "SimplifiableIfStatement"})
@Override public boolean equals(Object o) {
if (this == o)
return true;
if (o == null)
return false;
TestJavaObject that = (TestJavaObject)o;
if (fBoolean != that.fBoolean)
return false;
if (fByte != that.fByte)
return false;
if (fShort != that.fShort)
return false;
if (fChar != that.fChar)
return false;
if (fInt != that.fInt)
return false;
if (fLong != that.fLong)
return false;
if (Double.compare(that.fDouble, fDouble) != 0)
return false;
if (Float.compare(that.fFloat, fFloat) != 0)
return false;
if (fObj != null ? !fObj.equals(that.fObj) : that.fObj != null)
return false;
return fIntBoxed != null ? fIntBoxed.equals(that.fIntBoxed) : that.fIntBoxed == null;
}
/** {@inheritDoc} */
@Override public int hashCode() {
int res;
long tmp;
res = (fBoolean ? 1 : 0);
res = 31 * res + (int)fByte;
res = 31 * res + (int)fShort;
res = 31 * res + (int)fChar;
res = 31 * res + fInt;
res = 31 * res + (int)(fLong ^ (fLong >>> 32));
tmp = Double.doubleToLongBits(fDouble);
res = 31 * res + (int)(tmp ^ (tmp >>> 32));
res = 31 * res + (fFloat != +0.0f ? Float.floatToIntBits(fFloat) : 0);
res = 31 * res + (fObj != null ? fObj.hashCode() : 0);
res = 31 * res + (fIntBoxed != null ? fIntBoxed.hashCode() : 0);
return res;
}
}