
qlking.preprocessor.1.0.4.source-code.Q Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of preprocessor Show documentation
Show all versions of preprocessor Show documentation
SQLKing is an Android SQLite ORM powered an annotation preprocessor, tables are defined
by Model classes and CRUD classes expose an expressive api for SQLite executing queries.
The newest version!
package com.memtrip.sqlking.gen;
import android.database.Cursor;
import android.content.ContentValues;
import com.memtrip.sqlking.common.SQLQuery;
import com.memtrip.sqlking.common.Resolver;
import java.util.List;
import java.util.ArrayList;
public class Q {
public static class DefaultResolver implements Resolver {
@Override
public SQLQuery getSQLQuery(Class> classDef) {
<#assign isAssignableFrom><#list tables as table>
} else if (classDef.isAssignableFrom(${table.getPackage()}.${table.getName()?cap_first}.class)) {
return new ${table.getName()?cap_first}();
#list>
}#assign>
${isAssignableFrom?remove_beginning(" } else ")} else {
throw new IllegalStateException("Please ensure all SQL tables are annotated with @Table");
}
}
}
<#list tables as table>
<#assign getColumnNames><#list table.getColumns() as column>"${column.getName()}",#list>#assign>
<#assign unionInsertColumnNames><#list table.getColumns() as column>${column.getName()},#list>#assign>
<#assign packagedTableName>${table.getPackage()}.${table.getName()?cap_first}#assign>
public static class ${table.getName()?cap_first} implements SQLQuery {
<#list table.getColumns() as column>
public static final String ${formatConstant(column.getName())} = "${column.getName()}";
#list>
@Override
public String getTableName() {
return "${table.getName()}";
}
@Override
public String getTableInsertQuery() {
return ${assembleCreateTable(table)}
}
@Override
public String[] buildUnionInsertQuery(Object[] modelsToInsert) {
List> chunks = new ArrayList<>();
List
© 2015 - 2025 Weber Informatics LLC | Privacy Policy