1 package org.springframework.roo.model;
2
3 import org.springframework.roo.support.util.Assert;
4
5
6
7
8
9
10
11
12
13
14
15 public final class JavaPackage implements Comparable<JavaPackage> {
16 private String fullyQualifiedPackageName;
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 public JavaPackage(String fullyQualifiedPackageName) {
32 Assert.notNull(fullyQualifiedPackageName, "Fully qualified package name required");
33 JavaSymbolName.assertJavaNameLegal(fullyQualifiedPackageName);
34 Assert.isTrue(fullyQualifiedPackageName.toLowerCase().equals(fullyQualifiedPackageName), "The entire package name must be lowercase");
35 this.fullyQualifiedPackageName = fullyQualifiedPackageName;
36 }
37
38
39
40
41 public String getFullyQualifiedPackageName() {
42 return fullyQualifiedPackageName;
43 }
44
45 public final int hashCode() {
46 return this.fullyQualifiedPackageName.hashCode();
47 }
48
49 public final boolean equals(Object obj) {
50 return obj != null && obj instanceof JavaPackage && this.compareTo((JavaPackage)obj) == 0;
51 }
52
53 public final int compareTo(JavaPackage o) {
54 if (o == null) return -1;
55 return this.fullyQualifiedPackageName.compareTo(o.fullyQualifiedPackageName);
56 }
57
58 public final String toString() {
59 return fullyQualifiedPackageName;
60 }
61 }