001
014
015 package com.liferay.counter.model.impl;
016
017 import aQute.bnd.annotation.ProviderType;
018
019 import com.liferay.counter.kernel.model.Counter;
020
021 import com.liferay.portal.kernel.model.CacheModel;
022 import com.liferay.portal.kernel.util.HashUtil;
023 import com.liferay.portal.kernel.util.StringBundler;
024 import com.liferay.portal.kernel.util.StringPool;
025
026 import java.io.Externalizable;
027 import java.io.IOException;
028 import java.io.ObjectInput;
029 import java.io.ObjectOutput;
030
031
038 @ProviderType
039 public class CounterCacheModel implements CacheModel<Counter>, Externalizable {
040 @Override
041 public boolean equals(Object obj) {
042 if (this == obj) {
043 return true;
044 }
045
046 if (!(obj instanceof CounterCacheModel)) {
047 return false;
048 }
049
050 CounterCacheModel counterCacheModel = (CounterCacheModel)obj;
051
052 if (name.equals(counterCacheModel.name)) {
053 return true;
054 }
055
056 return false;
057 }
058
059 @Override
060 public int hashCode() {
061 return HashUtil.hash(0, name);
062 }
063
064 @Override
065 public String toString() {
066 StringBundler sb = new StringBundler(5);
067
068 sb.append("{name=");
069 sb.append(name);
070 sb.append(", currentId=");
071 sb.append(currentId);
072 sb.append("}");
073
074 return sb.toString();
075 }
076
077 @Override
078 public Counter toEntityModel() {
079 CounterImpl counterImpl = new CounterImpl();
080
081 if (name == null) {
082 counterImpl.setName(StringPool.BLANK);
083 }
084 else {
085 counterImpl.setName(name);
086 }
087
088 counterImpl.setCurrentId(currentId);
089
090 counterImpl.resetOriginalValues();
091
092 return counterImpl;
093 }
094
095 @Override
096 public void readExternal(ObjectInput objectInput) throws IOException {
097 name = objectInput.readUTF();
098
099 currentId = objectInput.readLong();
100 }
101
102 @Override
103 public void writeExternal(ObjectOutput objectOutput)
104 throws IOException {
105 if (name == null) {
106 objectOutput.writeUTF(StringPool.BLANK);
107 }
108 else {
109 objectOutput.writeUTF(name);
110 }
111
112 objectOutput.writeLong(currentId);
113 }
114
115 public String name;
116 public long currentId;
117 }