View Javadoc

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  }