package flyweight;

public class ItemQualifier {

	private String name;
	private String description;
	private double weight;

	public ItemQualifier(String name2, String desc, double weight2) {
		name = name2;
		description = desc;
		weight = weight2;
	}

	public double getWeight() {
		return weight;
	}

	public String getDescription() {
		return description;
	}

	public String getName() {
		return name;
	}

	@Override
	public boolean equals(Object o) {
		if (!(o instanceof ItemQualifier)) {
			return false;
		} else if (o == this) {
			return true;
		} else {
			ItemQualifier other = (ItemQualifier)o;
			return other.name.equals(name) &&
			other.description.equals(description) &&
			other.weight == weight;
		}
	}
	
	@Override
	public int hashCode() {
		return (int)weight + name.hashCode() + description.hashCode();
	}
	
	@Override
	public String toString() {
		return name + ", " + description + ", Weight = " + weight;
	}
}