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