/**
* galaxy inc.
* meetup client for android
*/
package com.galaxy.meetup.client.android.content;
import java.io.ByteArrayOutputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.nio.ByteBuffer;
import com.galaxy.meetup.server.client.domain.DataPlusOne;
/**
*
* @author sihai
*
*/
public class DbPlusOneData extends DbSerializer {
private int mCount;
private String mId;
private boolean mPlusOnedByMe;
public DbPlusOneData()
{
}
private DbPlusOneData(DataPlusOne dataplusone)
{
mId = dataplusone.id;
mCount = dataplusone.globalCount.intValue();
mPlusOnedByMe = dataplusone.isPlusonedByViewer.booleanValue();
}
public DbPlusOneData(String s, int i, boolean flag)
{
mId = s;
mCount = i;
mPlusOnedByMe = flag;
}
public static DbPlusOneData deserialize(byte abyte0[])
{
boolean flag = true;
DbPlusOneData dbplusonedata;
if(abyte0 == null)
{
dbplusonedata = null;
} else
{
ByteBuffer bytebuffer = ByteBuffer.wrap(abyte0);
String s = getShortString(bytebuffer);
int i = bytebuffer.getInt();
if(bytebuffer.get() != 1)
flag = false;
dbplusonedata = new DbPlusOneData(s, i, flag);
}
return dbplusonedata;
}
public static byte[] serialize(DbPlusOneData dbplusonedata) throws IOException
{
ByteArrayOutputStream bytearrayoutputstream = new ByteArrayOutputStream(32);
DataOutputStream dataoutputstream = new DataOutputStream(bytearrayoutputstream);
putShortString(dataoutputstream, dbplusonedata.mId);
dataoutputstream.writeInt(dbplusonedata.mCount);
int i;
byte abyte0[];
if(dbplusonedata.mPlusOnedByMe)
i = 1;
else
i = 0;
dataoutputstream.write(i);
abyte0 = bytearrayoutputstream.toByteArray();
dataoutputstream.close();
return abyte0;
}
public static byte[] serialize(DataPlusOne dataplusone) throws IOException
{
return serialize(new DbPlusOneData(dataplusone));
}
public final int getCount()
{
return mCount;
}
public final String getId()
{
return mId;
}
public final boolean isPlusOnedByMe()
{
return mPlusOnedByMe;
}
public final void setId(String s)
{
mId = s;
}
public final void updatePlusOnedByMe(boolean flag)
{
if(mPlusOnedByMe != flag)
{
mPlusOnedByMe = flag;
int i = mCount;
int j;
if(flag)
j = 1;
else
j = -1;
mCount = j + i;
}
}
}