package com.databases.example.features.checkbook.accounts; import android.database.Cursor; import android.os.Parcel; import android.os.Parcelable; import com.databases.example.database.DatabaseHelper; import java.util.ArrayList; //An Object Class used to hold the data of each account record public class Account implements Parcelable { public final int id; public final String name; public final String balance; public final String date; public final String time; public Account(int id, String name, String balance, String date, String time) { this.id = id; this.name = name; this.balance = balance; this.date = date; this.time = time; } /** * Method to get accounts out of a cursor object * * @param cursor the cursor object containing accounts * @return an array list of all the accounts in the cursor object */ public static ArrayList<Account> getAccounts(Cursor cursor) { ArrayList<Account> accounts = new ArrayList<>(); Account account; for (cursor.moveToFirst(); !cursor.isAfterLast(); cursor.moveToNext()) { account = new Account( cursor.getInt(cursor.getColumnIndex(DatabaseHelper.ACCOUNT_ID)), cursor.getString(cursor.getColumnIndex(DatabaseHelper.ACCOUNT_NAME)), cursor.getString(cursor.getColumnIndex(DatabaseHelper.ACCOUNT_BALANCE)), cursor.getString(cursor.getColumnIndex(DatabaseHelper.ACCOUNT_DATE)), cursor.getString(cursor.getColumnIndex(DatabaseHelper.ACCOUNT_TIME)) ); accounts.add(account); } return accounts; } @Override public String toString() { return "Account{" + "id=" + id + ", name='" + name + '\'' + ", balance='" + balance + '\'' + ", date='" + date + '\'' + ", time='" + time + '\'' + '}'; } @Override public int describeContents() { return 0; } @Override public void writeToParcel(Parcel dest, int flags) { dest.writeInt(this.id); dest.writeString(this.name); dest.writeString(this.balance); dest.writeString(this.date); dest.writeString(this.time); } protected Account(Parcel in) { this.id = in.readInt(); this.name = in.readString(); this.balance = in.readString(); this.date = in.readString(); this.time = in.readString(); } public static final Parcelable.Creator<Account> CREATOR = new Parcelable.Creator<Account>() { @Override public Account createFromParcel(Parcel source) { return new Account(source); } @Override public Account[] newArray(int size) { return new Account[size]; } }; }