package com.caseystella.summarize;
import com.caseystella.type.TypeInference;
public class TypedColumnWithModifier extends TypedColumn {
TypeInference.Modifier modifier;
@Override
public String toString() {
return "TypedColumnWithModifier{" +
"modifier=" + modifier +
'}';
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
if (!super.equals(o)) return false;
TypedColumnWithModifier that = (TypedColumnWithModifier) o;
return modifier == that.modifier;
}
@Override
public int hashCode() {
int result = super.hashCode();
result = 31 * result + (modifier != null ? modifier.hashCode() : 0);
return result;
}
public TypedColumnWithModifier(String column, TypeInference.Type type, TypeInference.Modifier modifier) {
super(column, type);
this.modifier = modifier;
}
public TypedColumnWithModifierAndValue withValue(Object o) {
return withValue(o, true);
}
public TypedColumnWithModifierAndValue withValue(Object o, boolean canonicalize) {
return new TypedColumnWithModifierAndValue(this, o, canonicalize);
}
}