Back to project page AndroidShoppingList.
The source code is released under:
Apache License
If you think the Android project AndroidShoppingList listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
/** * Copyright 2012 C. A. Fitzgerald//ww w .j a v a 2s. co m * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.github.riotopsys.shoppinglist.model; import java.sql.SQLException; import java.util.UUID; import android.content.Context; import android.content.Intent; import com.github.riotopsys.shoppinglist.server.work.Operations; import com.github.riotopsys.shoppinglist.server.work.WorkQueue; import com.j256.ormlite.android.apptools.OpenHelperManager; import com.j256.ormlite.field.DatabaseField; import com.j256.ormlite.table.DatabaseTable; @DatabaseTable(tableName = "ShoppingListItems") public class ShoppingListItem extends PersistedRecord { @DatabaseField() private UUID parent; @DatabaseField() private String name; @DatabaseField() private int quantity = 1; @DatabaseField() private boolean resolved = false; // req'd for ormlite ShoppingListItem() { } ShoppingListItem(UUID parent) { this.parent = parent; } public ShoppingListItem(Intent intent) { // { // "guid" : "9586c8c2-8dff-47f0-9a76-4f3e7fcd833e", // "name" : "aab", // "parent" : "de08c824-9815-422c-8531-bbf6d30a9c18", // "quantity" : "1", // "timestamp" : 1346985275 // } guid = UUID.fromString(intent.getStringExtra("guid")); timestamp = Long.valueOf(intent.getStringExtra("timestamp")); parent = UUID.fromString(intent.getStringExtra("parent")); name = intent.getStringExtra("name"); String tmp = intent.getStringExtra("quantity"); if ( tmp != null){ quantity = Integer.valueOf(tmp); } tmp = intent.getStringExtra("resolved"); if ( tmp != null){ resolved = Boolean.valueOf(tmp); } } public UUID getParent() { return parent; } public String getName() { return name; } public int getQuantity() { return quantity; } public boolean getResolved() { return resolved; } public void setName(Context ctx, String name) { this.name = name; Work w = initializeWork(); w.field = "name"; w.data = name; WorkQueue.getInstance().offer(ctx, w); update(ctx); } public void setQuantity(Context ctx, int quantity) { this.quantity = quantity; Work w = initializeWork(); w.field = "quantity"; w.data = Integer.toString(quantity); WorkQueue.getInstance().offer(ctx, w); update(ctx); } public void setResolved(Context ctx, boolean resolved) { this.resolved = resolved; Work w = initializeWork(); w.field = "resolved"; w.data = Boolean.toString(resolved); WorkQueue.getInstance().offer(ctx, w); update(ctx); } private Work initializeWork() { Work w = new Work(); w.target = getGuid(); w.parent = parent; w.operation = Operations.FIELD_UPDATE; return w; } @Override public void update(Context ctx) { DatabaseHelper helper = OpenHelperManager.getHelper(ctx, DatabaseHelper.class); try { helper.getShoppingListItemDao().update(this); } catch (SQLException e) { throw new RuntimeException(e); } finally { OpenHelperManager.releaseHelper(); } } }