1 package com.aragost.javahg.commands; 2 3 import com.aragost.javahg.Changeset; 4 5 public class Tag implements Comparable<Tag> { 6 7 private final String name; 8 private final Changeset changeset; 9 private final boolean local; 10 11 public Tag(String name, Changeset changeset, boolean local) { 12 this.name = name; 13 this.changeset = changeset; 14 this.local = local; 15 } 16 17 public String getName() { 18 return name; 19 } 20 21 public Changeset getChangeset() { 22 return changeset; 23 } 24 25 public boolean isLocal() { 26 return local; 27 } 28 29 public int compareTo(Tag that) { 30 return this.getName().compareTo(that.getName()); 31 } 32 33 @Override 34 public String toString() { 35 return "tag[" + getName() + "]"; 36 } 37 38 @Override 39 public int hashCode() { 40 final int prime = 31; 41 int result = 1; 42 result = prime * result 43 + ((changeset == null) ? 0 : changeset.hashCode()); 44 result = prime * result + (local ? 1231 : 1237); 45 result = prime * result + ((name == null) ? 0 : name.hashCode()); 46 return result; 47 } 48 49 @Override 50 public boolean equals(Object obj) { 51 if (this == obj) 52 return true; 53 if (obj == null) 54 return false; 55 if (getClass() != obj.getClass()) 56 return false; 57 Tag other = (Tag) obj; 58 if (changeset == null) { 59 if (other.changeset != null) 60 return false; 61 } else if (!changeset.equals(other.changeset)) 62 return false; 63 if (local != other.local) 64 return false; 65 if (name == null) { 66 if (other.name != null) 67 return false; 68 } else if (!name.equals(other.name)) 69 return false; 70 return true; 71 } 72 73 }