/**
*
*/
package eu.quanticol.carma.simulator2;
import java.util.Arrays;
/**
* @author loreti
*
*/
public class Store {
private Object[] data;
public Store( Object ... data ) {
this.data = data;
}
public <T> T get( int idx , Class<T> clazz ) {
return clazz.cast(data[idx]);
}
public void set( int idx , Object value ) {
this.data[idx] = value;
}
public Store copy() {
return new Store( Arrays.copyOf(data, data.length) );
}
/* (non-Javadoc)
* @see java.lang.Object#hashCode()
*/
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + Arrays.hashCode(data);
return result;
}
/* (non-Javadoc)
* @see java.lang.Object#equals(java.lang.Object)
*/
@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (obj == null) {
return false;
}
if (!(obj instanceof Store)) {
return false;
}
Store other = (Store) obj;
if (!Arrays.equals(data, other.data)) {
return false;
}
return true;
}
}