1 package org.apache.maven.tools.plugin.extractor;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import java.util.Objects;
23
24
25
26
27
28
29
30 public final class GroupKey
31 implements Comparable<GroupKey>
32 {
33
34
35
36 public static final String JAVA_GROUP = "java";
37
38 private final String group;
39
40 private final int order;
41
42 public GroupKey( String group, int order )
43 {
44 if ( group == null )
45 {
46 throw new NullPointerException( "GroupKey.group null" );
47 }
48 this.group = group;
49 this.order = order;
50 }
51
52
53
54
55 public String getGroup()
56 {
57 return group;
58 }
59
60
61
62
63 public int getOrder()
64 {
65 return order;
66 }
67
68 @Override
69 public boolean equals( Object o )
70 {
71 if ( this == o )
72 {
73 return true;
74 }
75 if ( o == null || getClass() != o.getClass() )
76 {
77 return false;
78 }
79 GroupKey groupKey = (GroupKey) o;
80 return order == groupKey.order && group.equals( groupKey.group );
81 }
82
83 @Override
84 public int hashCode()
85 {
86 return Objects.hash( group, order );
87 }
88
89
90
91
92
93
94
95
96
97 @Override
98 public int compareTo( final GroupKey o )
99 {
100 if ( JAVA_GROUP.equals( this.group ) && !JAVA_GROUP.equals( o.group ) )
101 {
102 return -1;
103 }
104 else if ( !JAVA_GROUP.equals( this.group ) && JAVA_GROUP.equals( o.group ) )
105 {
106 return 1;
107 }
108 int result = this.group.compareTo( o.group );
109 if ( result != 0 )
110 {
111 return result;
112 }
113 return Integer.compare( this.order, o.order );
114 }
115
116 @Override
117 public String toString()
118 {
119 return group + ":" + order;
120 }
121 }