/*
* Generated by Robotoworks Mechanoid
*/
package com.robotoworks.example.ghissues.db;
import android.content.ContentResolver;
import android.database.Cursor;
import android.os.Bundle;
import android.os.Parcel;
import android.os.Parcelable;
import android.net.Uri;
import com.robotoworks.example.ghissues.db.GithubDBContract.Issues;
import com.robotoworks.example.ghissues.db.GithubDBContract.Issues.Builder;
import com.robotoworks.mechanoid.util.Closeables;
import com.robotoworks.mechanoid.db.ActiveRecord;
import com.robotoworks.mechanoid.db.ActiveRecordFactory;
import com.robotoworks.mechanoid.Mechanoid;
import com.robotoworks.mechanoid.db.AbstractValuesBuilder;
public class IssuesRecord extends ActiveRecord implements Parcelable {
private static ActiveRecordFactory<IssuesRecord> sFactory = new ActiveRecordFactory<IssuesRecord>() {
@Override
public IssuesRecord create(Cursor c) {
return fromCursor(c);
}
@Override
public String[] getProjection() {
return PROJECTION;
}
@Override
public Uri getContentUri() {
return Issues.CONTENT_URI;
}
};
public static ActiveRecordFactory<IssuesRecord> getFactory() {
return sFactory;
}
public static final Parcelable.Creator<IssuesRecord> CREATOR
= new Parcelable.Creator<IssuesRecord>() {
public IssuesRecord createFromParcel(Parcel in) {
return new IssuesRecord(in);
}
public IssuesRecord[] newArray(int size) {
return new IssuesRecord[size];
}
};
public static String[] PROJECTION = {
Issues._ID,
Issues.OWNER,
Issues.REPO,
Issues.GHID,
Issues.NUMBER,
Issues.TITLE,
Issues.BODY,
Issues.CREATED
};
public interface Indices {
int _ID = 0;
int OWNER = 1;
int REPO = 2;
int GHID = 3;
int NUMBER = 4;
int TITLE = 5;
int BODY = 6;
int CREATED = 7;
}
private String mOwner;
private boolean mOwnerDirty;
private String mRepo;
private boolean mRepoDirty;
private long mGhid;
private boolean mGhidDirty;
private long mNumber;
private boolean mNumberDirty;
private String mTitle;
private boolean mTitleDirty;
private String mBody;
private boolean mBodyDirty;
private long mCreated;
private boolean mCreatedDirty;
@Override
protected String[] _getProjection() {
return PROJECTION;
}
public void setOwner(String owner) {
mOwner = owner;
mOwnerDirty = true;
}
public String getOwner() {
return mOwner;
}
public void setRepo(String repo) {
mRepo = repo;
mRepoDirty = true;
}
public String getRepo() {
return mRepo;
}
public void setGhid(long ghid) {
mGhid = ghid;
mGhidDirty = true;
}
public long getGhid() {
return mGhid;
}
public void setNumber(long number) {
mNumber = number;
mNumberDirty = true;
}
public long getNumber() {
return mNumber;
}
public void setTitle(String title) {
mTitle = title;
mTitleDirty = true;
}
public String getTitle() {
return mTitle;
}
public void setBody(String body) {
mBody = body;
mBodyDirty = true;
}
public String getBody() {
return mBody;
}
public void setCreated(long created) {
mCreated = created;
mCreatedDirty = true;
}
public long getCreated() {
return mCreated;
}
public IssuesRecord() {
super(Issues.CONTENT_URI);
}
private IssuesRecord(Parcel in) {
super(Issues.CONTENT_URI);
setId(in.readLong());
mOwner = in.readString();
mRepo = in.readString();
mGhid = in.readLong();
mNumber = in.readLong();
mTitle = in.readString();
mBody = in.readString();
mCreated = in.readLong();
boolean[] dirtyFlags = new boolean[7];
in.readBooleanArray(dirtyFlags);
mOwnerDirty = dirtyFlags[0];
mRepoDirty = dirtyFlags[1];
mGhidDirty = dirtyFlags[2];
mNumberDirty = dirtyFlags[3];
mTitleDirty = dirtyFlags[4];
mBodyDirty = dirtyFlags[5];
mCreatedDirty = dirtyFlags[6];
}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeLong(getId());
dest.writeString(mOwner);
dest.writeString(mRepo);
dest.writeLong(mGhid);
dest.writeLong(mNumber);
dest.writeString(mTitle);
dest.writeString(mBody);
dest.writeLong(mCreated);
dest.writeBooleanArray(new boolean[] {
mOwnerDirty,
mRepoDirty,
mGhidDirty,
mNumberDirty,
mTitleDirty,
mBodyDirty,
mCreatedDirty
});
}
@Override
protected AbstractValuesBuilder createBuilder() {
Builder builder = Issues.newBuilder();
if(mOwnerDirty) {
builder.setOwner(mOwner);
}
if(mRepoDirty) {
builder.setRepo(mRepo);
}
if(mGhidDirty) {
builder.setGhid(mGhid);
}
if(mNumberDirty) {
builder.setNumber(mNumber);
}
if(mTitleDirty) {
builder.setTitle(mTitle);
}
if(mBodyDirty) {
builder.setBody(mBody);
}
if(mCreatedDirty) {
builder.setCreated(mCreated);
}
return builder;
}
@Override
public void makeDirty(boolean dirty){
mOwnerDirty = dirty;
mRepoDirty = dirty;
mGhidDirty = dirty;
mNumberDirty = dirty;
mTitleDirty = dirty;
mBodyDirty = dirty;
mCreatedDirty = dirty;
}
@Override
protected void setPropertiesFromCursor(Cursor c) {
setId(c.getLong(Indices._ID));
setOwner(c.getString(Indices.OWNER));
setRepo(c.getString(Indices.REPO));
setGhid(c.getLong(Indices.GHID));
setNumber(c.getLong(Indices.NUMBER));
setTitle(c.getString(Indices.TITLE));
setBody(c.getString(Indices.BODY));
setCreated(c.getLong(Indices.CREATED));
}
public static IssuesRecord fromCursor(Cursor c) {
IssuesRecord item = new IssuesRecord();
item.setPropertiesFromCursor(c);
item.makeDirty(false);
return item;
}
public static IssuesRecord fromBundle(Bundle bundle, String key) {
bundle.setClassLoader(IssuesRecord.class.getClassLoader());
return bundle.getParcelable(key);
}
public static IssuesRecord get(long id) {
Cursor c = null;
ContentResolver resolver = Mechanoid.getContentResolver();
try {
c = resolver.query(Issues.CONTENT_URI.buildUpon()
.appendPath(String.valueOf(id)).build(), PROJECTION, null, null, null);
if(!c.moveToFirst()) {
return null;
}
return fromCursor(c);
} finally {
Closeables.closeSilently(c);
}
}
}