package org.seqcode.genome.location; import org.seqcode.genome.Genome; public class NamedPoint extends Point implements Named { private String name; public NamedPoint(NamedPoint np) { super(np); name = np.name; } public NamedPoint(Point r) { super(r); name = r.getLocationString(); if(r instanceof NamedPoint) { name = ((NamedPoint)r).name; } } public NamedPoint(Point r, String n) { super(r); name = n; } public NamedPoint(Genome g, String c, int loc, String name) { super(g,c,loc); this.name = name; } public void setName(String n) { name = n; } public String getName() {return name;} public String toString() {return getName();} public boolean equals(Object o) { if(!(o instanceof NamedPoint)) { return false; } NamedPoint np = (NamedPoint)o; if(!name.equals(np.name)) { return false; } return super.equals(o); } public int hashCode() { int code = super.hashCode(); code += name.hashCode(); code *= 37; return code; } }