package com.blazebit.ai.decisiontree.impl;
import com.blazebit.ai.decisiontree.Attribute;
import com.blazebit.ai.decisiontree.AttributeValue;
import com.blazebit.ai.decisiontree.Item;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
/**
*
* @author Christian Beikov
*/
public class SimpleItem implements Item {
private final Map<Attribute, AttributeValue> values;
public SimpleItem(final Map<Attribute, ? extends AttributeValue> values) {
this.values = Collections.unmodifiableMap(new HashMap<Attribute, AttributeValue>(values));
}
@Override
public Map<Attribute, AttributeValue> getValues() {
return values;
}
@Override
public int hashCode() {
int hash = 5;
final Map<Attribute, AttributeValue> v = values;
hash = 79 * hash + (v != null ? v.hashCode() : 0);
return hash;
}
@Override
public boolean equals(Object obj) {
if (obj == null) {
return false;
}
if (!(obj instanceof Item)) {
return false;
}
final Item other = (Item) obj;
final Map<Attribute, AttributeValue> v1 = values;
final Map<Attribute, AttributeValue> v2 = other.getValues();
if (v1 != v2 && (v1 == null || !v1.equals(v2))) {
return false;
}
return true;
}
}