package mediawiki.info.wikibase; abstract public class Snak { public Snak() { } abstract public SnakType getSnakType(); public boolean isValueSnak() { return getSnakType() == SnakType.VALUE && this instanceof ValueSnak; } public String getSnakTypeAsString() { return getSnakType().name().toLowerCase(); } @Override public boolean equals(Object obj) { if(obj == null) return false; if(!(obj instanceof Snak)) return false; Snak s = (Snak) obj; return this.getSnakType().equals(s.getSnakType()); } abstract public Object getValue(); }