Android Open Source - android-mvc-framework Base Logical Entity






From Project

Back to project page android-mvc-framework.

License

The source code is released under:

Apache License

If you think the Android project android-mvc-framework listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.android_mvc.framework.db.entity;
/*  w w w . ja  v a  2  s .  c  o  m*/
import com.android_mvc.framework.common.FWUtil;
import com.android_mvc.framework.controller.routing.IntentPortable;
import com.android_mvc.framework.db.DBHelper;

import android.content.ContentValues;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;

/**
 * ????????????????????????????Java?????????????????????????
 * Intent????????????????
 * @author id:language_and_engineering
 *
 */
public abstract class BaseLogicalEntity<T> implements IntentPortable
{

    /**
     * Serializable??????????
     */
    private static final long serialVersionUID = 1L;


    /**
     * ????id????????
     */
    public abstract Long getId();


    /**
     * ?????DB?????????????????????????????????????????
     */
    private boolean is_new_record()
    {
        return (getId() == null);
    }


    // ----- LP?????Logical ? Physical? -----


    /**
     * DB??????????????????????????????????????
     * ?????????????????????????????????????????????????????????
     * @param c ????
     */
    public abstract T logicalFromPhysical(Cursor c);


    /**
     * ????DB?????????????????????????????????????
     * ?????????????????????????ContentValues???????????????????
     */
    protected abstract ContentValues toPhysicalEntity( ContentValues values );
        // NOTE: ???????????????PhysicalEntity??????????????????????????????????
        // ?????????ContentValues???final??????????????????PhysicalEntity??????????
        // ??????????????????????????????????????
        // final??????????????????????????????


    /**
     * FW?????DB?????????????????????????????????????????
     */
    public ContentValues toContentValues()
    {
        ContentValues values = new ContentValues();
        return toPhysicalEntity( values );
    }


    // ----- CRUD -----


    /**
     * ????????
     */
    public abstract String tableName();


    /**
     * ?????????????
     */
    public abstract String[] columns();


    // C?U:


    /**
     * ???????
     * ???????????????????????????????????????????????????????
     */
    public boolean save(DBHelper helper)
    {
        boolean ret = false;

        FWUtil.d("DB?????????????????");
        SQLiteDatabase db = helper.getWritableDatabase();
        try{
            // ?????????????????
            ContentValues values = this.toContentValues();
            FWUtil.d("???????????????????????????????????????");

            if( this.is_new_record() )
            {
                db.insert(this.tableName(), null, values);
                FWUtil.d("DB????????????????????????");
            }
            else
            {
                // ?????????????????????
                db.update( this.tableName(), values, "id = " + this.getId(), null );
                FWUtil.d("DB?????????????????????");
            }

            ret = true;

        } finally {
            db.close();
        }

        return ret;
    }


    // R:
    // Finder?????????????????????


    // D:


    /**
     * ??????
     */
    public void delete(DBHelper helper)
    {
        FWUtil.d("DB?????????????????");
        SQLiteDatabase db = helper.getWritableDatabase();
        try{
            db.delete( this.tableName(), "id = " + getId().toString(), null );
            FWUtil.d("DB????????????????????????????");
        } finally {
            db.close();
        }
    }

}




Java Source Code List

com.android_mvc.framework.activities.CommonActivityUtil.java
com.android_mvc.framework.activities.IBaseActivity.java
com.android_mvc.framework.activities.base.BaseMapActivity.java
com.android_mvc.framework.activities.base.BaseNormalActivity.java
com.android_mvc.framework.activities.base.BaseTabHostActivity.java
com.android_mvc.framework.activities.installation.InstallAppFWBaseActivity.java
com.android_mvc.framework.annotations.SuppressDebugLog.java
com.android_mvc.framework.common.AbstractAppSettings.java
com.android_mvc.framework.common.BaseUtil.java
com.android_mvc.framework.common.FWUtil.java
com.android_mvc.framework.controller.BaseController.java
com.android_mvc.framework.controller.ControlFlowDetail.java
com.android_mvc.framework.controller.action.ActionResult.java
com.android_mvc.framework.controller.action.BLExecutor.java
com.android_mvc.framework.controller.action.BaseAction.java
com.android_mvc.framework.controller.routing.IntentPortable.java
com.android_mvc.framework.controller.routing.Router.java
com.android_mvc.framework.controller.routing.RoutingTable.java
com.android_mvc.framework.controller.routing.TabContentMapping.java
com.android_mvc.framework.controller.validation.ActivityParams.java
com.android_mvc.framework.controller.validation.BaseValidationsUtil.java
com.android_mvc.framework.controller.validation.NumberComparator.java
com.android_mvc.framework.controller.validation.ValidationExecutor.java
com.android_mvc.framework.controller.validation.ValidationResult.java
com.android_mvc.framework.db.DBHelper.java
com.android_mvc.framework.db.dao.BaseDAO.java
com.android_mvc.framework.db.dao.BaseDBDAO.java
com.android_mvc.framework.db.dao.BasePrefDAO.java
com.android_mvc.framework.db.dao.FWPrefDAO.java
com.android_mvc.framework.db.dao.Finder.java
com.android_mvc.framework.db.dao.IFWDAO.java
com.android_mvc.framework.db.entity.BaseLogicalEntity.java
com.android_mvc.framework.db.schema.AbstractSchemaDefinition.java
com.android_mvc.framework.db.schema.RDBColumn.java
com.android_mvc.framework.db.schema.RDBSchema.java
com.android_mvc.framework.db.schema.RDBTable.java
com.android_mvc.framework.db.transaction.todo.TxnListener.java
com.android_mvc.framework.db.transaction.todo.TxnScope.java
com.android_mvc.framework.net.HttpPostRequest.java
com.android_mvc.framework.net.HttpPostResponse.java
com.android_mvc.framework.net.old.HttpPostHandler.java
com.android_mvc.framework.net.old.HttpPostTask.java
com.android_mvc.framework.task.AsyncTasksRunner.java
com.android_mvc.framework.task.RunnerFollower.java
com.android_mvc.framework.task.SequentialAsyncTask.java
com.android_mvc.framework.ui.UIBuilder.java
com.android_mvc.framework.ui.UIUtil.java
com.android_mvc.framework.ui.menu.OptionMenuBuilder.java
com.android_mvc.framework.ui.menu.OptionMenuDescription.java
com.android_mvc.framework.ui.tab.TabDescription.java
com.android_mvc.framework.ui.tab.TabHostBuilder.java
com.android_mvc.framework.ui.view.IFWView.java
com.android_mvc.framework.ui.view.MButton.java
com.android_mvc.framework.ui.view.MCheckBox.java
com.android_mvc.framework.ui.view.MEditText.java
com.android_mvc.framework.ui.view.MLinearLayout.java
com.android_mvc.framework.ui.view.MTextView.java
com.android_mvc.sample_project.activities.func_db.DBEditActivity.java
com.android_mvc.sample_project.activities.func_db.DBListActivity.java
com.android_mvc.sample_project.activities.func_db.SampleTabHostActivity.java
com.android_mvc.sample_project.activities.func_net.HttpNetActivity.java
com.android_mvc.sample_project.activities.installation.InstallAppActivity.java
com.android_mvc.sample_project.activities.installation.InstallCompletedActivity.java
com.android_mvc.sample_project.activities.installation.lib.InstallAppUserBaseActivity.java
com.android_mvc.sample_project.activities.main.TopActivity.java
com.android_mvc.sample_project.common.AppSettings.java
com.android_mvc.sample_project.common.Util.java
com.android_mvc.sample_project.controller.FuncDBController.java
com.android_mvc.sample_project.controller.FuncDBValidation.java
com.android_mvc.sample_project.controller.FuncNetController.java
com.android_mvc.sample_project.controller.FuncNetValidation.java
com.android_mvc.sample_project.controller.MainController.java
com.android_mvc.sample_project.controller.util.ValidationsUtil.java
com.android_mvc.sample_project.db.dao.FriendDAO.java
com.android_mvc.sample_project.db.dao.PrefDAO.java
com.android_mvc.sample_project.db.dao.todo.HogeDAO.java
com.android_mvc.sample_project.db.entity.Friend.java
com.android_mvc.sample_project.db.entity.lib.LogicalEntity.java
com.android_mvc.sample_project.db.schema.SchemaDefinition.java
com.android_mvc.sample_project.domain.DBDeleteAction.java
com.android_mvc.sample_project.domain.DBEditAction.java
com.android_mvc.sample_project.domain.DBUpdateAction.java
com.android_mvc.sample_project.domain.HttpNetAction.java