package net.dossot.jbound.subject;
import java.util.List;
import org.apache.commons.lang3.builder.ToStringBuilder;
/**
* @author David Dossot (david@dossot.net)
*/
public class FragileBean
{
private String string;
private int primitiveInteger;
private Integer integer;
private List<Long> longs;
public FragileBean()
{
// NOOP
}
public FragileBean(final String string,
final int primitiveInteger,
final Integer integer,
final List<Long> longs)
{
fragileMethod(string);
this.string = string;
this.primitiveInteger = primitiveInteger;
this.integer = integer;
this.longs = longs;
}
private void fragileMethod(final String string)
{
string.length();
}
public String getString()
{
fragileMethod(string);
return string;
}
public void setString(final String string)
{
fragileMethod(string);
this.string = string;
}
public int getPrimitiveInteger()
{
return primitiveInteger;
}
public void setPrimitiveInteger(final int primitiveInteger)
{
this.primitiveInteger = primitiveInteger;
}
public Integer getInteger()
{
return integer;
}
public void setInteger(final Integer integer)
{
this.integer = integer;
}
public List<Long> getLongs()
{
return longs;
}
public void setLongs(final List<Long> longs)
{
this.longs = longs;
}
@Override
public String toString()
{
fragileMethod(string);
return ToStringBuilder.reflectionToString(this);
}
@Override
public int hashCode()
{
fragileMethod(string);
final int prime = 31;
int result = 1;
result = prime * result + ((integer == null) ? 0 : integer.hashCode());
result = prime * result + ((longs == null) ? 0 : longs.hashCode());
result = prime * result + primitiveInteger;
result = prime * result + ((string == null) ? 0 : string.hashCode());
return result;
}
@Override
public boolean equals(final Object obj)
{
fragileMethod(string);
if (this == obj) return true;
if (obj == null) return false;
if (getClass() != obj.getClass()) return false;
final FragileBean other = (FragileBean) obj;
if (integer == null)
{
if (other.integer != null) return false;
}
else if (!integer.equals(other.integer)) return false;
if (longs == null)
{
if (other.longs != null) return false;
}
else if (!longs.equals(other.longs)) return false;
if (primitiveInteger != other.primitiveInteger) return false;
if (string == null)
{
if (other.string != null) return false;
}
else if (!string.equals(other.string)) return false;
return true;
}
}