001
014
015 package com.liferay.portal.tools.sourceformatter;
016
017 import com.liferay.portal.kernel.util.StringPool;
018
019
022 public class ImportPackage implements Comparable<ImportPackage> {
023
024 @Override
025 public int compareTo(ImportPackage importPackage) {
026 if (_isStatic != importPackage.isStatic()) {
027 if (_isStatic) {
028 return -1;
029 }
030 else {
031 return 1;
032 }
033 }
034
035 return _importString.compareTo(importPackage.getImportString());
036 }
037
038 @Override
039 public boolean equals(Object obj) {
040 if (this == obj) {
041 return true;
042 }
043
044 if (!(obj instanceof ImportPackage)) {
045 return false;
046 }
047
048 ImportPackage importPackage = (ImportPackage)obj;
049
050 if ((_isStatic == importPackage.isStatic()) &&
051 _importString.equals(importPackage.getImportString())) {
052
053 return true;
054 }
055
056 return false;
057 }
058
059 public String getImportString() {
060 return _importString;
061 }
062
063 public String getLine() {
064 return _line;
065 }
066
067 public String getPackageLevel() {
068 int pos = _importString.indexOf(StringPool.SLASH);
069
070 if (pos != -1) {
071 pos = _importString.indexOf(StringPool.SLASH, pos + 1);
072
073 if (pos == -1) {
074 return _importString;
075 }
076
077 return _importString.substring(0, pos);
078 }
079
080 pos = _importString.indexOf(StringPool.PERIOD);
081
082 pos = _importString.indexOf(StringPool.PERIOD, pos + 1);
083
084 if (pos == -1) {
085 pos = _importString.indexOf(StringPool.PERIOD);
086 }
087
088 return _importString.substring(0, pos);
089 }
090
091 @Override
092 public int hashCode() {
093 return _importString.hashCode();
094 }
095
096 public boolean isGroupedWith(ImportPackage importPackage) {
097 if (_isStatic != importPackage.isStatic()) {
098 return false;
099 }
100
101 String packageLevel = getPackageLevel();
102
103 if (packageLevel.equals(importPackage.getPackageLevel())) {
104 return true;
105 }
106
107 return false;
108 }
109
110 public boolean isStatic() {
111 return _isStatic;
112 }
113
114 protected ImportPackage(
115 String importString, boolean isStatic, String line) {
116
117 _importString = importString;
118 _isStatic = isStatic;
119 _line = line;
120 }
121
122 private final String _importString;
123 private boolean _isStatic;
124 private final String _line;
125
126 }