001
014
015 package com.liferay.portal.kernel.lar;
016
017 import com.liferay.portal.kernel.util.HashCode;
018 import com.liferay.portal.kernel.util.HashCodeFactoryUtil;
019 import com.liferay.portal.kernel.util.StringPool;
020 import com.liferay.portal.kernel.util.Validator;
021 import com.liferay.portal.util.PortalUtil;
022
023
026 public class StagedModelType {
027
028 public static final int REFERRER_CLASS_NAME_ID_ALL = -1;
029
030 public StagedModelType(Class<?> clazz) {
031 setClassName(clazz.getName());
032 }
033
034 public StagedModelType(Class<?> clazz, Class<?> referrerClass) {
035 setClassName(clazz.getName());
036 setReferrerClassName(referrerClass.getName());
037 }
038
039 public StagedModelType(long classNameId) {
040 setClassNameId(classNameId);
041 }
042
043 public StagedModelType(long classNameId, long referrerClassNameId) {
044 setClassNameId(classNameId);
045 setReferrerClassNameId(referrerClassNameId);
046 }
047
048 public StagedModelType(String className) {
049 setClassName(className);
050 }
051
052 public StagedModelType(String className, String referrerClassName) {
053 setClassName(className);
054 setReferrerClassName(referrerClassName);
055 }
056
057 @Override
058 public boolean equals(Object obj) {
059 if (this == obj) {
060 return true;
061 }
062
063 if ((obj == null) || !(obj instanceof StagedModelType)) {
064 return false;
065 }
066
067 StagedModelType stagedModelType = (StagedModelType)obj;
068
069 if ((stagedModelType._classNameId != _classNameId) ||
070 (stagedModelType._referrerClassNameId != _referrerClassNameId)) {
071
072 return false;
073 }
074
075 return true;
076 }
077
078 public String getClassName() {
079 return _className;
080 }
081
082 public long getClassNameId() {
083 return _classNameId;
084 }
085
086 public String getClassSimpleName() {
087 return _classSimpleName;
088 }
089
090 public String getReferrerClassName() {
091 return _referrerClassName;
092 }
093
094 public long getReferrerClassNameId() {
095 return _referrerClassNameId;
096 }
097
098 @Override
099 public int hashCode() {
100 HashCode hashCode = HashCodeFactoryUtil.getHashCode();
101
102 hashCode.append(_classNameId);
103 hashCode.append(_referrerClassNameId);
104
105 return hashCode.toHashCode();
106 }
107
108 public void setClassName(String className) {
109 _className = className;
110 _classSimpleName = getSimpleName(_className);
111
112 if (Validator.isNotNull(className)) {
113 _classNameId = PortalUtil.getClassNameId(className);
114 }
115 else {
116 _classNameId = 0;
117 }
118 }
119
120 public void setClassNameId(long classNameId) {
121 if (classNameId > 0) {
122 _className = PortalUtil.getClassName(classNameId);
123 _classSimpleName = getSimpleName(_className);
124 }
125 else {
126 _className = null;
127 _classSimpleName = null;
128 }
129
130 _classNameId = classNameId;
131 }
132
133 public void setClassSimpleName(String classSimpleName) {
134 _classSimpleName = classSimpleName;
135 }
136
137 public void setReferrerClassName(String referrerClassName) {
138 _referrerClassName = referrerClassName;
139
140 if (Validator.isNotNull(referrerClassName)) {
141 _referrerClassNameId = PortalUtil.getClassNameId(referrerClassName);
142 }
143 else {
144 _referrerClassNameId = 0;
145 }
146 }
147
148 public void setReferrerClassNameId(long referrerClassNameId) {
149 if (referrerClassNameId > 0) {
150 _referrerClassName = PortalUtil.getClassName(referrerClassNameId);
151 }
152 else {
153 _referrerClassName = null;
154 }
155
156 _referrerClassNameId = referrerClassNameId;
157 }
158
159 @Override
160 public String toString() {
161 if (_referrerClassNameId <= 0) {
162 return _className;
163 }
164
165 return _className.concat(StringPool.POUND).concat(_referrerClassName);
166 }
167
168 private String getSimpleName(String className) {
169 int pos = className.lastIndexOf(StringPool.PERIOD) + 1;
170
171 return className.substring(pos);
172 }
173
174 private String _className;
175 private long _classNameId;
176 private String _classSimpleName;
177 private String _referrerClassName;
178 private long _referrerClassNameId;
179
180 }