/* * Generated by Robotoworks Mechanoid */ package com.robotoworks.example.recipes.content; 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.recipes.content.RecipesDBContract.RecipesWithAuthors; import com.robotoworks.example.recipes.content.RecipesDBContract.RecipesWithAuthors.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 RecipesWithAuthorsRecord extends ActiveRecord implements Parcelable { private static ActiveRecordFactory<RecipesWithAuthorsRecord> sFactory = new ActiveRecordFactory<RecipesWithAuthorsRecord>() { @Override public RecipesWithAuthorsRecord create(Cursor c) { return fromCursor(c); } @Override public String[] getProjection() { return PROJECTION; } @Override public Uri getContentUri() { return RecipesWithAuthors.CONTENT_URI; } }; public static ActiveRecordFactory<RecipesWithAuthorsRecord> getFactory() { return sFactory; } public static final Parcelable.Creator<RecipesWithAuthorsRecord> CREATOR = new Parcelable.Creator<RecipesWithAuthorsRecord>() { public RecipesWithAuthorsRecord createFromParcel(Parcel in) { return new RecipesWithAuthorsRecord(in); } public RecipesWithAuthorsRecord[] newArray(int size) { return new RecipesWithAuthorsRecord[size]; } }; public static String[] PROJECTION = { RecipesWithAuthors._ID, RecipesWithAuthors.RECIPE_TITLE, RecipesWithAuthors.RECIPE_DESCRIPTION, RecipesWithAuthors.AUTHOR_ID, RecipesWithAuthors.AUTHOR_NAME }; public interface Indices { int _ID = 0; int RECIPE_TITLE = 1; int RECIPE_DESCRIPTION = 2; int AUTHOR_ID = 3; int AUTHOR_NAME = 4; } private String mRecipeTitle; private boolean mRecipeTitleDirty; private String mRecipeDescription; private boolean mRecipeDescriptionDirty; private long mAuthorId; private boolean mAuthorIdDirty; private String mAuthorName; private boolean mAuthorNameDirty; @Override protected String[] _getProjection() { return PROJECTION; } public void setRecipeTitle(String recipeTitle) { mRecipeTitle = recipeTitle; mRecipeTitleDirty = true; } public String getRecipeTitle() { return mRecipeTitle; } public void setRecipeDescription(String recipeDescription) { mRecipeDescription = recipeDescription; mRecipeDescriptionDirty = true; } public String getRecipeDescription() { return mRecipeDescription; } public void setAuthorId(long authorId) { mAuthorId = authorId; mAuthorIdDirty = true; } public long getAuthorId() { return mAuthorId; } public void setAuthorName(String authorName) { mAuthorName = authorName; mAuthorNameDirty = true; } public String getAuthorName() { return mAuthorName; } public RecipesWithAuthorsRecord() { super(RecipesWithAuthors.CONTENT_URI); } private RecipesWithAuthorsRecord(Parcel in) { super(RecipesWithAuthors.CONTENT_URI); setId(in.readLong()); mRecipeTitle = in.readString(); mRecipeDescription = in.readString(); mAuthorId = in.readLong(); mAuthorName = in.readString(); boolean[] dirtyFlags = new boolean[4]; in.readBooleanArray(dirtyFlags); mRecipeTitleDirty = dirtyFlags[0]; mRecipeDescriptionDirty = dirtyFlags[1]; mAuthorIdDirty = dirtyFlags[2]; mAuthorNameDirty = dirtyFlags[3]; } @Override public int describeContents() { return 0; } @Override public void writeToParcel(Parcel dest, int flags) { dest.writeLong(getId()); dest.writeString(mRecipeTitle); dest.writeString(mRecipeDescription); dest.writeLong(mAuthorId); dest.writeString(mAuthorName); dest.writeBooleanArray(new boolean[] { mRecipeTitleDirty, mRecipeDescriptionDirty, mAuthorIdDirty, mAuthorNameDirty }); } @Override protected AbstractValuesBuilder createBuilder() { Builder builder = RecipesWithAuthors.newBuilder(); if(mRecipeTitleDirty) { builder.setRecipeTitle(mRecipeTitle); } if(mRecipeDescriptionDirty) { builder.setRecipeDescription(mRecipeDescription); } if(mAuthorIdDirty) { builder.setAuthorId(mAuthorId); } if(mAuthorNameDirty) { builder.setAuthorName(mAuthorName); } return builder; } @Override public void makeDirty(boolean dirty){ mRecipeTitleDirty = dirty; mRecipeDescriptionDirty = dirty; mAuthorIdDirty = dirty; mAuthorNameDirty = dirty; } @Override protected void setPropertiesFromCursor(Cursor c) { setId(c.getLong(Indices._ID)); setRecipeTitle(c.getString(Indices.RECIPE_TITLE)); setRecipeDescription(c.getString(Indices.RECIPE_DESCRIPTION)); setAuthorId(c.getLong(Indices.AUTHOR_ID)); setAuthorName(c.getString(Indices.AUTHOR_NAME)); } public static RecipesWithAuthorsRecord fromCursor(Cursor c) { RecipesWithAuthorsRecord item = new RecipesWithAuthorsRecord(); item.setPropertiesFromCursor(c); item.makeDirty(false); return item; } public static RecipesWithAuthorsRecord fromBundle(Bundle bundle, String key) { bundle.setClassLoader(RecipesWithAuthorsRecord.class.getClassLoader()); return bundle.getParcelable(key); } public static RecipesWithAuthorsRecord get(long id) { Cursor c = null; ContentResolver resolver = Mechanoid.getContentResolver(); try { c = resolver.query(RecipesWithAuthors.CONTENT_URI.buildUpon() .appendPath(String.valueOf(id)).build(), PROJECTION, null, null, null); if(!c.moveToFirst()) { return null; } return fromCursor(c); } finally { Closeables.closeSilently(c); } } }