// Path: easysqlite/src/main/java/com/tonilopezmr/easysqlite/SQLiteTransformer.java
// public interface SQLiteTransformer<T> {
//     T transform(Cursor cursor) throws Exception;
//     ContentValues transform(T dto) throws Exception;
//     String getWhereClause(T dto) throws Exception;
//     T setId(T dto, int id) throws Exception;
//     String[] getFields() throws Exception;
//     String getTableName() throws Exception;
// }
// 
// Path: app/src/main/java/com/tonilopezmr/sample/data/SQLite/entity/SubjectEntity.java
// public class SubjectEntity {
//     int id;
//     String name;
// 
//     public SubjectEntity(int id, String name) {
//         this.id = id;
//         this.name = name;
//     }
// 
//     public int getId() {
//         return id;
//     }
// 
//     public void setId(int id) {
//         this.id = id;
//     }
// 
//     public String getName() {
//         return name;
//     }
// 
//     public void setName(String name) {
//         this.name = name;
//     }
// }


import android.content.ContentValues;
import android.database.Cursor;
import com.tonilopezmr.easysqlite.SQLiteTransformer;
import com.tonilopezmr.sample.data.SQLite.entity.SubjectEntity;
        String name = cursor.getString(1);
        return new SubjectEntity(id, name);
    }

    @Override
    public ContentValues transform(SubjectEntity dto) throws Exception {
        ContentValues values = new ContentValues();
//        values.put(ID, dto.getId());   it is not necessary, autoincrement!
        values.put(NAME, dto.getName());

        return values;
    }

    @Override
    public String getWhereClause(SubjectEntity dto) throws Exception {
        return  ID+"="+dto.getId();
    }

    @Override
    public SubjectEntity setId(SubjectEntity dto, int id) throws Exception {
        dto.setId(id);
        return dto;
    }

    @Override
    public String[] getFields() throws Exception {
        return FIELDS;
    }

    @Override
// Path: easysqlite/src/main/java/com/tonilopezmr/easysqlite/SQLiteTransformer.java
// public interface SQLiteTransformer<T> {
//     T transform(Cursor cursor) throws Exception;
//     ContentValues transform(T dto) throws Exception;
//     String getWhereClause(T dto) throws Exception;
//     T setId(T dto, int id) throws Exception;
//     String[] getFields() throws Exception;
//     String getTableName() throws Exception;
// }
// 
// Path: app/src/main/java/com/tonilopezmr/sample/data/SQLite/entity/SubjectEntity.java
// public class SubjectEntity {
//     int id;
//     String name;
// 
//     public SubjectEntity(int id, String name) {
//         this.id = id;
//         this.name = name;
//     }
// 
//     public int getId() {
//         return id;
//     }
// 
//     public void setId(int id) {
//         this.id = id;
//     }
// 
//     public String getName() {
//         return name;
//     }
// 
//     public void setName(String name) {
//         this.name = name;
//     }
// }


// Path: app/src/main/java/com/tonilopezmr/sample/data/SQLite/transformer/SubjectTransformer.java
import android.content.ContentValues;
import android.database.Cursor;
import com.tonilopezmr.easysqlite.SQLiteTransformer;
import com.tonilopezmr.sample.data.SQLite.entity.SubjectEntity;

        String name = cursor.getString(1);
        return new SubjectEntity(id, name);
    }

    @Override
    public ContentValues transform(SubjectEntity dto) throws Exception {
        ContentValues values = new ContentValues();
//        values.put(ID, dto.getId());   it is not necessary, autoincrement!
        values.put(NAME, dto.getName());

        return values;
    }

    @Override
    public String getWhereClause(SubjectEntity dto) throws Exception {
        return  ID+"="+dto.getId();
    }

    @Override
    public SubjectEntity setId(SubjectEntity dto, int id) throws Exception {
        dto.setId(id);
        return dto;
    }

    @Override
    public String[] getFields() throws Exception {
        return FIELDS;
    }

    @Override
    public String getTableName() throws Exception {