package com.robotoworks.mechanoid.db.generator;
import com.google.common.base.Objects;
import com.robotoworks.mechanoid.db.sqliteModel.ColumnDef;
import com.robotoworks.mechanoid.db.sqliteModel.ColumnSource;
import com.robotoworks.mechanoid.db.sqliteModel.ColumnType;
import com.robotoworks.mechanoid.db.sqliteModel.CreateTableStatement;
import com.robotoworks.mechanoid.db.sqliteModel.CreateViewStatement;
import com.robotoworks.mechanoid.db.sqliteModel.DatabaseBlock;
import com.robotoworks.mechanoid.db.sqliteModel.Model;
import com.robotoworks.mechanoid.db.sqliteModel.ResultColumn;
import com.robotoworks.mechanoid.db.sqliteModel.TableDefinition;
import com.robotoworks.mechanoid.db.util.ModelUtil;
import com.robotoworks.mechanoid.text.Strings;
import java.util.ArrayList;
import java.util.Arrays;
import org.eclipse.emf.common.util.EList;
import org.eclipse.xtend2.lib.StringConcatenation;
import org.eclipse.xtext.xbase.lib.Functions.Function1;
import org.eclipse.xtext.xbase.lib.IterableExtensions;
@SuppressWarnings("all")
public class ActiveRecordGenerator {
public CharSequence generate(final Model model, final TableDefinition stmt) {
StringConcatenation _builder = new StringConcatenation();
_builder.append("/*");
_builder.newLine();
_builder.append(" ");
_builder.append("* Generated by Robotoworks Mechanoid");
_builder.newLine();
_builder.append(" ");
_builder.append("*/");
_builder.newLine();
_builder.append("package ");
String _packageName = model.getPackageName();
_builder.append(_packageName, "");
_builder.append(";");
_builder.newLineIfNotEmpty();
_builder.newLine();
_builder.append("import android.content.ContentResolver;");
_builder.newLine();
_builder.append("import android.database.Cursor;");
_builder.newLine();
_builder.append("import android.os.Bundle;");
_builder.newLine();
_builder.append("import android.os.Parcel;");
_builder.newLine();
_builder.append("import android.os.Parcelable;");
_builder.newLine();
_builder.append("import android.net.Uri;");
_builder.newLine();
_builder.append("import ");
String _packageName_1 = model.getPackageName();
_builder.append(_packageName_1, "");
_builder.append(".");
DatabaseBlock _database = model.getDatabase();
String _name = _database.getName();
String _pascalize = Strings.pascalize(_name);
_builder.append(_pascalize, "");
_builder.append("Contract.");
String _name_1 = stmt.getName();
String _pascalize_1 = Strings.pascalize(_name_1);
_builder.append(_pascalize_1, "");
_builder.append(";");
_builder.newLineIfNotEmpty();
_builder.append("import ");
String _packageName_2 = model.getPackageName();
_builder.append(_packageName_2, "");
_builder.append(".");
DatabaseBlock _database_1 = model.getDatabase();
String _name_2 = _database_1.getName();
String _pascalize_2 = Strings.pascalize(_name_2);
_builder.append(_pascalize_2, "");
_builder.append("Contract.");
String _name_3 = stmt.getName();
String _pascalize_3 = Strings.pascalize(_name_3);
_builder.append(_pascalize_3, "");
_builder.append(".Builder;");
_builder.newLineIfNotEmpty();
_builder.append("import com.robotoworks.mechanoid.util.Closeables;");
_builder.newLine();
_builder.append("import com.robotoworks.mechanoid.db.ActiveRecord;");
_builder.newLine();
_builder.append("import com.robotoworks.mechanoid.db.ActiveRecordFactory;");
_builder.newLine();
_builder.append("import com.robotoworks.mechanoid.Mechanoid;");
_builder.newLine();
_builder.append("import com.robotoworks.mechanoid.db.AbstractValuesBuilder;");
_builder.newLine();
_builder.newLine();
_builder.append("public class ");
String _name_4 = stmt.getName();
String _pascalize_4 = Strings.pascalize(_name_4);
_builder.append(_pascalize_4, "");
_builder.append("Record extends ActiveRecord implements Parcelable {");
_builder.newLineIfNotEmpty();
_builder.newLine();
_builder.append("\t");
_builder.append("private static ActiveRecordFactory<");
String _name_5 = stmt.getName();
String _pascalize_5 = Strings.pascalize(_name_5);
_builder.append(_pascalize_5, "\t");
_builder.append("Record> sFactory = new ActiveRecordFactory<");
String _name_6 = stmt.getName();
String _pascalize_6 = Strings.pascalize(_name_6);
_builder.append(_pascalize_6, "\t");
_builder.append("Record>() {");
_builder.newLineIfNotEmpty();
_builder.append("\t\t");
_builder.append("@Override");
_builder.newLine();
_builder.append("\t\t");
_builder.append("public ");
String _name_7 = stmt.getName();
String _pascalize_7 = Strings.pascalize(_name_7);
_builder.append(_pascalize_7, "\t\t");
_builder.append("Record create(Cursor c) {");
_builder.newLineIfNotEmpty();
_builder.append("\t\t\t");
_builder.append("return fromCursor(c);");
_builder.newLine();
_builder.append("\t\t");
_builder.append("}");
_builder.newLine();
_builder.append("\t\t");
_builder.newLine();
_builder.append("\t\t");
_builder.append("@Override");
_builder.newLine();
_builder.append("\t\t");
_builder.append("public String[] getProjection() {");
_builder.newLine();
_builder.append("\t\t\t");
_builder.append("return PROJECTION;");
_builder.newLine();
_builder.append("\t\t");
_builder.append("}");
_builder.newLine();
_builder.newLine();
_builder.append(" ");
_builder.append("@Override");
_builder.newLine();
_builder.append(" ");
_builder.append("public Uri getContentUri() {");
_builder.newLine();
_builder.append(" ");
_builder.append("return ");
String _name_8 = stmt.getName();
String _pascalize_8 = Strings.pascalize(_name_8);
_builder.append(_pascalize_8, " ");
_builder.append(".CONTENT_URI;");
_builder.newLineIfNotEmpty();
_builder.append(" ");
_builder.append("}");
_builder.newLine();
_builder.append(" ");
_builder.append("};");
_builder.newLine();
_builder.newLine();
_builder.append(" \t\t\t");
_builder.append("public static ActiveRecordFactory<");
String _name_9 = stmt.getName();
String _pascalize_9 = Strings.pascalize(_name_9);
_builder.append(_pascalize_9, " \t\t\t");
_builder.append("Record> getFactory() {");
_builder.newLineIfNotEmpty();
_builder.append("\t\t");
_builder.append("return sFactory;");
_builder.newLine();
_builder.append("\t");
_builder.append("}");
_builder.newLine();
_builder.newLine();
_builder.append(" ");
_builder.append("public static final Parcelable.Creator<");
String _name_10 = stmt.getName();
String _pascalize_10 = Strings.pascalize(_name_10);
_builder.append(_pascalize_10, " ");
_builder.append("Record> CREATOR ");
_builder.newLineIfNotEmpty();
_builder.append(" \t");
_builder.append("= new Parcelable.Creator<");
String _name_11 = stmt.getName();
String _pascalize_11 = Strings.pascalize(_name_11);
_builder.append(_pascalize_11, " \t");
_builder.append("Record>() {");
_builder.newLineIfNotEmpty();
_builder.append(" ");
_builder.append("public ");
String _name_12 = stmt.getName();
String _pascalize_12 = Strings.pascalize(_name_12);
_builder.append(_pascalize_12, " ");
_builder.append("Record createFromParcel(Parcel in) {");
_builder.newLineIfNotEmpty();
_builder.append(" ");
_builder.append("return new ");
String _name_13 = stmt.getName();
String _pascalize_13 = Strings.pascalize(_name_13);
_builder.append(_pascalize_13, " ");
_builder.append("Record(in);");
_builder.newLineIfNotEmpty();
_builder.append(" ");
_builder.append("}");
_builder.newLine();
_builder.newLine();
_builder.append(" ");
_builder.append("public ");
String _name_14 = stmt.getName();
String _pascalize_14 = Strings.pascalize(_name_14);
_builder.append(_pascalize_14, " ");
_builder.append("Record[] newArray(int size) {");
_builder.newLineIfNotEmpty();
_builder.append(" ");
_builder.append("return new ");
String _name_15 = stmt.getName();
String _pascalize_15 = Strings.pascalize(_name_15);
_builder.append(_pascalize_15, " ");
_builder.append("Record[size];");
_builder.newLineIfNotEmpty();
_builder.append(" ");
_builder.append("}");
_builder.newLine();
_builder.append(" ");
_builder.append("};");
_builder.newLine();
_builder.append(" ");
_builder.newLine();
_builder.append(" ");
_builder.append("public static String[] PROJECTION = {");
_builder.newLine();
_builder.append(" \t");
CharSequence _generateProjectionArrayMembers = this.generateProjectionArrayMembers(stmt);
_builder.append(_generateProjectionArrayMembers, " \t");
_builder.newLineIfNotEmpty();
_builder.append(" ");
_builder.append("};");
_builder.newLine();
_builder.append(" ");
_builder.newLine();
_builder.append(" ");
_builder.append("public interface Indices {");
_builder.newLine();
_builder.append(" \t");
CharSequence _generateProjectionIndicesMembers = this.generateProjectionIndicesMembers(stmt);
_builder.append(_generateProjectionIndicesMembers, " \t");
_builder.newLineIfNotEmpty();
_builder.append(" ");
_builder.append("}");
_builder.newLine();
_builder.append(" ");
_builder.newLine();
_builder.append(" ");
CharSequence _generateFields = this.generateFields(stmt);
_builder.append(_generateFields, " ");
_builder.newLineIfNotEmpty();
_builder.append(" ");
_builder.newLine();
_builder.append(" ");
_builder.append("@Override");
_builder.newLine();
_builder.append(" ");
_builder.append("protected String[] _getProjection() {");
_builder.newLine();
_builder.append(" \t");
_builder.append("return PROJECTION;");
_builder.newLine();
_builder.append(" ");
_builder.append("}");
_builder.newLine();
_builder.append(" ");
_builder.newLine();
_builder.append(" ");
CharSequence _generateAccessors = this.generateAccessors(stmt);
_builder.append(_generateAccessors, " ");
_builder.newLineIfNotEmpty();
_builder.append(" ");
_builder.newLine();
_builder.append(" ");
_builder.append("public ");
String _name_16 = stmt.getName();
String _pascalize_16 = Strings.pascalize(_name_16);
_builder.append(_pascalize_16, " ");
_builder.append("Record() {");
_builder.newLineIfNotEmpty();
_builder.append(" \t");
_builder.append("super(");
String _name_17 = stmt.getName();
String _pascalize_17 = Strings.pascalize(_name_17);
_builder.append(_pascalize_17, " \t");
_builder.append(".CONTENT_URI);");
_builder.newLineIfNotEmpty();
_builder.append("\t");
_builder.append("}");
_builder.newLine();
_builder.append("\t");
_builder.newLine();
_builder.append("\t");
_builder.append("private ");
String _name_18 = stmt.getName();
String _pascalize_18 = Strings.pascalize(_name_18);
_builder.append(_pascalize_18, "\t");
_builder.append("Record(Parcel in) {");
_builder.newLineIfNotEmpty();
_builder.append(" \t");
_builder.append("super(");
String _name_19 = stmt.getName();
String _pascalize_19 = Strings.pascalize(_name_19);
_builder.append(_pascalize_19, " \t");
_builder.append(".CONTENT_URI);");
_builder.newLineIfNotEmpty();
_builder.append(" \t");
_builder.newLine();
_builder.append("\t\t");
_builder.append("setId(in.readLong());");
_builder.newLine();
_builder.append("\t\t");
_builder.newLine();
_builder.append("\t\t");
CharSequence _generateParcelDeserializationStatements = this.generateParcelDeserializationStatements(stmt);
_builder.append(_generateParcelDeserializationStatements, "\t\t");
_builder.newLineIfNotEmpty();
_builder.append("\t");
_builder.append("}");
_builder.newLine();
_builder.append("\t");
_builder.newLine();
_builder.append("\t");
_builder.append("@Override");
_builder.newLine();
_builder.append("\t");
_builder.append("public int describeContents() {");
_builder.newLine();
_builder.append("\t ");
_builder.append("return 0;");
_builder.newLine();
_builder.append("\t");
_builder.append("}");
_builder.newLine();
_builder.append("\t");
_builder.newLine();
_builder.append("\t");
_builder.append("@Override");
_builder.newLine();
_builder.append("\t");
_builder.append("public void writeToParcel(Parcel dest, int flags) {");
_builder.newLine();
_builder.append("\t\t");
_builder.append("dest.writeLong(getId());");
_builder.newLine();
_builder.append("\t\t");
CharSequence _generateParcelSerializationStatements = this.generateParcelSerializationStatements(stmt);
_builder.append(_generateParcelSerializationStatements, "\t\t");
_builder.newLineIfNotEmpty();
_builder.append("\t");
_builder.append("}");
_builder.newLine();
_builder.append("\t");
_builder.newLine();
_builder.append("\t");
_builder.append("@Override");
_builder.newLine();
_builder.append("\t");
_builder.append("protected AbstractValuesBuilder createBuilder() {");
_builder.newLine();
_builder.append("\t\t");
_builder.append("Builder builder = ");
String _name_20 = stmt.getName();
String _pascalize_20 = Strings.pascalize(_name_20);
_builder.append(_pascalize_20, "\t\t");
_builder.append(".newBuilder();");
_builder.newLineIfNotEmpty();
_builder.newLine();
_builder.append("\t\t");
CharSequence _generateBuilderStatements = this.generateBuilderStatements(stmt);
_builder.append(_generateBuilderStatements, "\t\t");
_builder.newLineIfNotEmpty();
_builder.append("\t\t");
_builder.newLine();
_builder.append("\t\t");
_builder.append("return builder;");
_builder.newLine();
_builder.append("\t");
_builder.append("}");
_builder.newLine();
_builder.append("\t");
_builder.newLine();
_builder.append(" ");
_builder.append("@Override");
_builder.newLine();
_builder.append("\t");
_builder.append("public void makeDirty(boolean dirty){");
_builder.newLine();
_builder.append("\t\t");
CharSequence _generateMakeDirtyStatements = this.generateMakeDirtyStatements(stmt);
_builder.append(_generateMakeDirtyStatements, "\t\t");
_builder.newLineIfNotEmpty();
_builder.append("\t");
_builder.append("}");
_builder.newLine();
_builder.newLine();
_builder.append("\t");
_builder.append("@Override");
_builder.newLine();
_builder.append("\t");
_builder.append("protected void setPropertiesFromCursor(Cursor c) {");
_builder.newLine();
_builder.append("\t\t");
_builder.append("setId(c.getLong(Indices._ID));");
_builder.newLine();
_builder.append("\t\t");
CharSequence _generateSetFromCursorStatements = this.generateSetFromCursorStatements(stmt);
_builder.append(_generateSetFromCursorStatements, "\t\t");
_builder.newLineIfNotEmpty();
_builder.append("\t");
_builder.append("}");
_builder.newLine();
_builder.append("\t");
_builder.newLine();
_builder.append("\t");
_builder.append("public static ");
String _name_21 = stmt.getName();
String _pascalize_21 = Strings.pascalize(_name_21);
_builder.append(_pascalize_21, "\t");
_builder.append("Record fromCursor(Cursor c) {");
_builder.newLineIfNotEmpty();
_builder.append("\t ");
String _name_22 = stmt.getName();
String _pascalize_22 = Strings.pascalize(_name_22);
_builder.append(_pascalize_22, "\t ");
_builder.append("Record item = new ");
String _name_23 = stmt.getName();
String _pascalize_23 = Strings.pascalize(_name_23);
_builder.append(_pascalize_23, "\t ");
_builder.append("Record();");
_builder.newLineIfNotEmpty();
_builder.append("\t ");
_builder.newLine();
_builder.append("\t\t");
_builder.append("item.setPropertiesFromCursor(c);");
_builder.newLine();
_builder.append("\t\t");
_builder.newLine();
_builder.append("\t\t");
_builder.append("item.makeDirty(false);");
_builder.newLine();
_builder.append("\t\t");
_builder.newLine();
_builder.append("\t ");
_builder.append("return item;");
_builder.newLine();
_builder.append("\t");
_builder.append("}");
_builder.newLine();
_builder.append("\t");
_builder.newLine();
_builder.append("\t");
_builder.append("public static ");
String _name_24 = stmt.getName();
String _pascalize_24 = Strings.pascalize(_name_24);
_builder.append(_pascalize_24, "\t");
_builder.append("Record fromBundle(Bundle bundle, String key) {");
_builder.newLineIfNotEmpty();
_builder.append("\t\t");
_builder.append("bundle.setClassLoader(");
String _name_25 = stmt.getName();
String _pascalize_25 = Strings.pascalize(_name_25);
_builder.append(_pascalize_25, "\t\t");
_builder.append("Record.class.getClassLoader());");
_builder.newLineIfNotEmpty();
_builder.append("\t\t");
_builder.append("return bundle.getParcelable(key);");
_builder.newLine();
_builder.append("\t");
_builder.append("}");
_builder.newLine();
_builder.append("\t");
_builder.newLine();
_builder.append("\t");
_builder.append("public static ");
String _name_26 = stmt.getName();
String _pascalize_26 = Strings.pascalize(_name_26);
_builder.append(_pascalize_26, "\t");
_builder.append("Record get(long id) {");
_builder.newLineIfNotEmpty();
_builder.append("\t ");
_builder.append("Cursor c = null;");
_builder.newLine();
_builder.append("\t ");
_builder.newLine();
_builder.append("\t ");
_builder.append("ContentResolver resolver = Mechanoid.getContentResolver();");
_builder.newLine();
_builder.append("\t ");
_builder.newLine();
_builder.append("\t ");
_builder.append("try {");
_builder.newLine();
_builder.append("\t ");
_builder.append("c = resolver.query(");
String _name_27 = stmt.getName();
String _pascalize_27 = Strings.pascalize(_name_27);
_builder.append(_pascalize_27, "\t ");
_builder.append(".CONTENT_URI.buildUpon()");
_builder.newLineIfNotEmpty();
_builder.append("\t\t\t");
_builder.append(".appendPath(String.valueOf(id)).build(), PROJECTION, null, null, null);");
_builder.newLine();
_builder.append("\t ");
_builder.newLine();
_builder.append("\t ");
_builder.append("if(!c.moveToFirst()) {");
_builder.newLine();
_builder.append("\t ");
_builder.append("return null;");
_builder.newLine();
_builder.append("\t ");
_builder.append("}");
_builder.newLine();
_builder.append("\t ");
_builder.newLine();
_builder.append("\t ");
_builder.append("return fromCursor(c);");
_builder.newLine();
_builder.append("\t ");
_builder.append("} finally {");
_builder.newLine();
_builder.append("\t ");
_builder.append("Closeables.closeSilently(c);");
_builder.newLine();
_builder.append("\t ");
_builder.append("}");
_builder.newLine();
_builder.append("\t");
_builder.append("}");
_builder.newLine();
_builder.append("}");
_builder.newLine();
return _builder;
}
protected CharSequence _generateSetFromCursorStatements(final CreateTableStatement stmt) {
StringConcatenation _builder = new StringConcatenation();
{
EList<ColumnSource> _columnDefs = stmt.getColumnDefs();
final Function1<ColumnSource, Boolean> _function = new Function1<ColumnSource, Boolean>() {
public Boolean apply(final ColumnSource it) {
String _name = it.getName();
boolean _equals = _name.equals("_id");
return Boolean.valueOf((!_equals));
}
};
Iterable<ColumnSource> _filter = IterableExtensions.<ColumnSource>filter(_columnDefs, _function);
for(final ColumnSource item : _filter) {
ColumnDef col = ((ColumnDef) item);
_builder.newLineIfNotEmpty();
{
ColumnType _type = col.getType();
boolean _equals = Objects.equal(_type, ColumnType.BOOLEAN);
if (_equals) {
_builder.append("set");
String _name = col.getName();
String _pascalize = Strings.pascalize(_name);
_builder.append(_pascalize, "");
_builder.append("(c.getInt(Indices.");
String _name_1 = col.getName();
String _underscore = Strings.underscore(_name_1);
String _upperCase = _underscore.toUpperCase();
_builder.append(_upperCase, "");
_builder.append(") > 0);");
_builder.newLineIfNotEmpty();
} else {
ColumnType _type_1 = col.getType();
boolean _equals_1 = Objects.equal(_type_1, ColumnType.BLOB);
if (_equals_1) {
_builder.append("set");
String _name_2 = col.getName();
String _pascalize_1 = Strings.pascalize(_name_2);
_builder.append(_pascalize_1, "");
_builder.append("(c.getBlob(Indices.");
String _name_3 = col.getName();
String _underscore_1 = Strings.underscore(_name_3);
String _upperCase_1 = _underscore_1.toUpperCase();
_builder.append(_upperCase_1, "");
_builder.append("));");
_builder.newLineIfNotEmpty();
} else {
_builder.append("set");
String _name_4 = col.getName();
String _pascalize_2 = Strings.pascalize(_name_4);
_builder.append(_pascalize_2, "");
_builder.append("(c.get");
ColumnType _type_2 = col.getType();
String _javaTypeName = ModelUtil.toJavaTypeName(_type_2);
String _pascalize_3 = Strings.pascalize(_javaTypeName);
_builder.append(_pascalize_3, "");
_builder.append("(Indices.");
String _name_5 = col.getName();
String _underscore_2 = Strings.underscore(_name_5);
String _upperCase_2 = _underscore_2.toUpperCase();
_builder.append(_upperCase_2, "");
_builder.append("));");
_builder.newLineIfNotEmpty();
}
}
}
}
}
return _builder;
}
protected CharSequence _generateSetFromCursorStatements(final CreateViewStatement stmt) {
StringConcatenation _builder = new StringConcatenation();
ArrayList<ColumnSource> cols = ModelUtil.getViewResultColumns(stmt);
_builder.newLineIfNotEmpty();
{
final Function1<ColumnSource, Boolean> _function = new Function1<ColumnSource, Boolean>() {
public Boolean apply(final ColumnSource it) {
String _name = it.getName();
boolean _equals = _name.equals("_id");
return Boolean.valueOf((!_equals));
}
};
Iterable<ColumnSource> _filter = IterableExtensions.<ColumnSource>filter(cols, _function);
for(final ColumnSource item : _filter) {
ResultColumn col = ((ResultColumn) item);
_builder.newLineIfNotEmpty();
ColumnType type = ModelUtil.getInferredColumnType(col);
_builder.newLineIfNotEmpty();
{
boolean _equals = Objects.equal(type, ColumnType.BOOLEAN);
if (_equals) {
_builder.append("set");
String _name = col.getName();
String _pascalize = Strings.pascalize(_name);
_builder.append(_pascalize, "");
_builder.append("(c.getInt(Indices.");
String _name_1 = col.getName();
String _underscore = Strings.underscore(_name_1);
String _upperCase = _underscore.toUpperCase();
_builder.append(_upperCase, "");
_builder.append(") > 0);");
_builder.newLineIfNotEmpty();
} else {
boolean _equals_1 = Objects.equal(type, ColumnType.BLOB);
if (_equals_1) {
_builder.append("set");
String _name_2 = col.getName();
String _pascalize_1 = Strings.pascalize(_name_2);
_builder.append(_pascalize_1, "");
_builder.append("(c.getBlob(Indices.");
String _name_3 = col.getName();
String _underscore_1 = Strings.underscore(_name_3);
String _upperCase_1 = _underscore_1.toUpperCase();
_builder.append(_upperCase_1, "");
_builder.append("));");
_builder.newLineIfNotEmpty();
} else {
_builder.append("set");
String _name_4 = col.getName();
String _pascalize_2 = Strings.pascalize(_name_4);
_builder.append(_pascalize_2, "");
_builder.append("(c.get");
String _javaTypeName = ModelUtil.toJavaTypeName(type);
String _pascalize_3 = Strings.pascalize(_javaTypeName);
_builder.append(_pascalize_3, "");
_builder.append("(Indices.");
String _name_5 = col.getName();
String _underscore_2 = Strings.underscore(_name_5);
String _upperCase_2 = _underscore_2.toUpperCase();
_builder.append(_upperCase_2, "");
_builder.append("));");
_builder.newLineIfNotEmpty();
}
}
}
}
}
return _builder;
}
protected CharSequence _generateMakeDirtyStatements(final CreateTableStatement stmt) {
StringConcatenation _builder = new StringConcatenation();
{
EList<ColumnSource> _columnDefs = stmt.getColumnDefs();
final Function1<ColumnSource, Boolean> _function = new Function1<ColumnSource, Boolean>() {
public Boolean apply(final ColumnSource it) {
String _name = it.getName();
boolean _equals = _name.equals("_id");
return Boolean.valueOf((!_equals));
}
};
Iterable<ColumnSource> _filter = IterableExtensions.<ColumnSource>filter(_columnDefs, _function);
for(final ColumnSource col : _filter) {
_builder.append("m");
String _name = col.getName();
String _pascalize = Strings.pascalize(_name);
_builder.append(_pascalize, "");
_builder.append("Dirty = dirty;");
_builder.newLineIfNotEmpty();
}
}
return _builder;
}
protected CharSequence _generateMakeDirtyStatements(final CreateViewStatement stmt) {
StringConcatenation _builder = new StringConcatenation();
ArrayList<ColumnSource> cols = ModelUtil.getViewResultColumns(stmt);
_builder.newLineIfNotEmpty();
{
final Function1<ColumnSource, Boolean> _function = new Function1<ColumnSource, Boolean>() {
public Boolean apply(final ColumnSource it) {
String _name = it.getName();
boolean _equals = _name.equals("_id");
return Boolean.valueOf((!_equals));
}
};
Iterable<ColumnSource> _filter = IterableExtensions.<ColumnSource>filter(cols, _function);
for(final ColumnSource col : _filter) {
_builder.append("m");
String _name = col.getName();
String _pascalize = Strings.pascalize(_name);
_builder.append(_pascalize, "");
_builder.append("Dirty = dirty;");
_builder.newLineIfNotEmpty();
}
}
return _builder;
}
protected CharSequence _generateBuilderStatements(final CreateTableStatement stmt) {
StringConcatenation _builder = new StringConcatenation();
{
EList<ColumnSource> _columnDefs = stmt.getColumnDefs();
final Function1<ColumnSource, Boolean> _function = new Function1<ColumnSource, Boolean>() {
public Boolean apply(final ColumnSource it) {
String _name = it.getName();
boolean _equals = _name.equals("_id");
return Boolean.valueOf((!_equals));
}
};
Iterable<ColumnSource> _filter = IterableExtensions.<ColumnSource>filter(_columnDefs, _function);
for(final ColumnSource col : _filter) {
_builder.append("if(m");
String _name = col.getName();
String _pascalize = Strings.pascalize(_name);
_builder.append(_pascalize, "");
_builder.append("Dirty) {");
_builder.newLineIfNotEmpty();
_builder.append("\t");
_builder.append("builder.set");
String _name_1 = col.getName();
String _pascalize_1 = Strings.pascalize(_name_1);
_builder.append(_pascalize_1, "\t");
_builder.append("(m");
String _name_2 = col.getName();
String _pascalize_2 = Strings.pascalize(_name_2);
_builder.append(_pascalize_2, "\t");
_builder.append(");");
_builder.newLineIfNotEmpty();
_builder.append("}");
_builder.newLine();
}
}
return _builder;
}
protected CharSequence _generateBuilderStatements(final CreateViewStatement stmt) {
StringConcatenation _builder = new StringConcatenation();
ArrayList<ColumnSource> cols = ModelUtil.getViewResultColumns(stmt);
_builder.newLineIfNotEmpty();
{
final Function1<ColumnSource, Boolean> _function = new Function1<ColumnSource, Boolean>() {
public Boolean apply(final ColumnSource it) {
String _name = it.getName();
boolean _equals = _name.equals("_id");
return Boolean.valueOf((!_equals));
}
};
Iterable<ColumnSource> _filter = IterableExtensions.<ColumnSource>filter(cols, _function);
for(final ColumnSource col : _filter) {
_builder.append("if(m");
String _name = col.getName();
String _pascalize = Strings.pascalize(_name);
_builder.append(_pascalize, "");
_builder.append("Dirty) {");
_builder.newLineIfNotEmpty();
_builder.append("\t");
_builder.append("builder.set");
String _name_1 = col.getName();
String _pascalize_1 = Strings.pascalize(_name_1);
_builder.append(_pascalize_1, "\t");
_builder.append("(m");
String _name_2 = col.getName();
String _pascalize_2 = Strings.pascalize(_name_2);
_builder.append(_pascalize_2, "\t");
_builder.append(");");
_builder.newLineIfNotEmpty();
_builder.append("}");
_builder.newLine();
}
}
return _builder;
}
protected CharSequence _generateParcelSerializationStatements(final CreateTableStatement stmt) {
StringConcatenation _builder = new StringConcatenation();
{
EList<ColumnSource> _columnDefs = stmt.getColumnDefs();
final Function1<ColumnSource, Boolean> _function = new Function1<ColumnSource, Boolean>() {
public Boolean apply(final ColumnSource it) {
String _name = it.getName();
boolean _equals = _name.equals("_id");
return Boolean.valueOf((!_equals));
}
};
Iterable<ColumnSource> _filter = IterableExtensions.<ColumnSource>filter(_columnDefs, _function);
for(final ColumnSource item : _filter) {
ColumnDef col = ((ColumnDef) item);
_builder.newLineIfNotEmpty();
{
ColumnType _type = col.getType();
boolean _equals = Objects.equal(_type, ColumnType.BOOLEAN);
if (_equals) {
_builder.append("dest.writeInt(m");
String _name = col.getName();
String _pascalize = Strings.pascalize(_name);
_builder.append(_pascalize, "");
_builder.append(" ? 1 : 0);");
_builder.newLineIfNotEmpty();
} else {
ColumnType _type_1 = col.getType();
boolean _equals_1 = Objects.equal(_type_1, ColumnType.BLOB);
if (_equals_1) {
_builder.append("dest.writeByteArray(m");
String _name_1 = col.getName();
String _pascalize_1 = Strings.pascalize(_name_1);
_builder.append(_pascalize_1, "");
_builder.append(");");
_builder.newLineIfNotEmpty();
} else {
_builder.append("dest.write");
ColumnType _type_2 = col.getType();
String _javaTypeName = ModelUtil.toJavaTypeName(_type_2);
String _pascalize_2 = Strings.pascalize(_javaTypeName);
_builder.append(_pascalize_2, "");
_builder.append("(m");
String _name_2 = col.getName();
String _pascalize_3 = Strings.pascalize(_name_2);
_builder.append(_pascalize_3, "");
_builder.append(");");
_builder.newLineIfNotEmpty();
}
}
}
}
}
_builder.append("dest.writeBooleanArray(new boolean[] {");
_builder.newLine();
{
EList<ColumnSource> _columnDefs_1 = stmt.getColumnDefs();
final Function1<ColumnSource, Boolean> _function_1 = new Function1<ColumnSource, Boolean>() {
public Boolean apply(final ColumnSource it) {
String _name = it.getName();
boolean _equals = _name.equals("_id");
return Boolean.valueOf((!_equals));
}
};
Iterable<ColumnSource> _filter_1 = IterableExtensions.<ColumnSource>filter(_columnDefs_1, _function_1);
boolean _hasElements = false;
for(final ColumnSource col_1 : _filter_1) {
if (!_hasElements) {
_hasElements = true;
} else {
_builder.appendImmediate(",", "\t");
}
_builder.append("\t");
_builder.append("m");
String _name_3 = col_1.getName();
String _pascalize_4 = Strings.pascalize(_name_3);
_builder.append(_pascalize_4, "\t");
_builder.append("Dirty");
_builder.newLineIfNotEmpty();
}
}
_builder.append("});");
_builder.newLine();
return _builder;
}
protected CharSequence _generateParcelSerializationStatements(final CreateViewStatement stmt) {
StringConcatenation _builder = new StringConcatenation();
ArrayList<ColumnSource> cols = ModelUtil.getViewResultColumns(stmt);
_builder.newLineIfNotEmpty();
{
final Function1<ColumnSource, Boolean> _function = new Function1<ColumnSource, Boolean>() {
public Boolean apply(final ColumnSource it) {
String _name = it.getName();
boolean _equals = _name.equals("_id");
return Boolean.valueOf((!_equals));
}
};
Iterable<ColumnSource> _filter = IterableExtensions.<ColumnSource>filter(cols, _function);
for(final ColumnSource item : _filter) {
ResultColumn col = ((ResultColumn) item);
_builder.newLineIfNotEmpty();
ColumnType type = ModelUtil.getInferredColumnType(col);
_builder.newLineIfNotEmpty();
{
boolean _equals = Objects.equal(type, ColumnType.BOOLEAN);
if (_equals) {
_builder.append("dest.writeInt(m");
String _name = col.getName();
String _pascalize = Strings.pascalize(_name);
_builder.append(_pascalize, "");
_builder.append(" ? 1 : 0);");
_builder.newLineIfNotEmpty();
} else {
boolean _equals_1 = Objects.equal(type, ColumnType.BLOB);
if (_equals_1) {
_builder.append("dest.writeByteArray(m");
String _name_1 = col.getName();
String _pascalize_1 = Strings.pascalize(_name_1);
_builder.append(_pascalize_1, "");
_builder.append(");");
_builder.newLineIfNotEmpty();
} else {
_builder.append("dest.write");
String _javaTypeName = ModelUtil.toJavaTypeName(type);
String _pascalize_2 = Strings.pascalize(_javaTypeName);
_builder.append(_pascalize_2, "");
_builder.append("(m");
String _name_2 = col.getName();
String _pascalize_3 = Strings.pascalize(_name_2);
_builder.append(_pascalize_3, "");
_builder.append(");");
_builder.newLineIfNotEmpty();
}
}
}
}
}
_builder.append("dest.writeBooleanArray(new boolean[] {");
_builder.newLine();
{
final Function1<ColumnSource, Boolean> _function_1 = new Function1<ColumnSource, Boolean>() {
public Boolean apply(final ColumnSource it) {
String _name = it.getName();
boolean _equals = _name.equals("_id");
return Boolean.valueOf((!_equals));
}
};
Iterable<ColumnSource> _filter_1 = IterableExtensions.<ColumnSource>filter(cols, _function_1);
boolean _hasElements = false;
for(final ColumnSource col_1 : _filter_1) {
if (!_hasElements) {
_hasElements = true;
} else {
_builder.appendImmediate(",", "\t");
}
_builder.append("\t");
_builder.append("m");
String _name_3 = col_1.getName();
String _pascalize_4 = Strings.pascalize(_name_3);
_builder.append(_pascalize_4, "\t");
_builder.append("Dirty");
_builder.newLineIfNotEmpty();
}
}
_builder.append("});");
_builder.newLine();
return _builder;
}
protected CharSequence _generateParcelDeserializationStatements(final CreateTableStatement stmt) {
StringConcatenation _builder = new StringConcatenation();
int counter = (-1);
_builder.newLineIfNotEmpty();
{
EList<ColumnSource> _columnDefs = stmt.getColumnDefs();
final Function1<ColumnSource, Boolean> _function = new Function1<ColumnSource, Boolean>() {
public Boolean apply(final ColumnSource it) {
String _name = it.getName();
boolean _equals = _name.equals("_id");
return Boolean.valueOf((!_equals));
}
};
Iterable<ColumnSource> _filter = IterableExtensions.<ColumnSource>filter(_columnDefs, _function);
for(final ColumnSource item : _filter) {
ColumnDef col = ((ColumnDef) item);
_builder.newLineIfNotEmpty();
{
ColumnType _type = col.getType();
boolean _equals = Objects.equal(_type, ColumnType.BOOLEAN);
if (_equals) {
_builder.append("m");
String _name = col.getName();
String _pascalize = Strings.pascalize(_name);
_builder.append(_pascalize, "");
_builder.append(" = (in.readInt() > 0);");
_builder.newLineIfNotEmpty();
} else {
ColumnType _type_1 = col.getType();
boolean _equals_1 = Objects.equal(_type_1, ColumnType.BLOB);
if (_equals_1) {
_builder.append("m");
String _name_1 = col.getName();
String _pascalize_1 = Strings.pascalize(_name_1);
_builder.append(_pascalize_1, "");
_builder.append(" = in.createByteArray();");
_builder.newLineIfNotEmpty();
} else {
_builder.append("m");
String _name_2 = col.getName();
String _pascalize_2 = Strings.pascalize(_name_2);
_builder.append(_pascalize_2, "");
_builder.append(" = in.read");
ColumnType _type_2 = col.getType();
String _javaTypeName = ModelUtil.toJavaTypeName(_type_2);
String _pascalize_3 = Strings.pascalize(_javaTypeName);
_builder.append(_pascalize_3, "");
_builder.append("();");
_builder.newLineIfNotEmpty();
}
}
}
}
}
_builder.newLine();
_builder.append("boolean[] dirtyFlags = new boolean[");
EList<ColumnSource> _columnDefs_1 = stmt.getColumnDefs();
int _size = _columnDefs_1.size();
int _minus = (_size - 1);
_builder.append(_minus, "");
_builder.append("];");
_builder.newLineIfNotEmpty();
_builder.append("in.readBooleanArray(dirtyFlags);");
_builder.newLine();
{
EList<ColumnSource> _columnDefs_2 = stmt.getColumnDefs();
final Function1<ColumnSource, Boolean> _function_1 = new Function1<ColumnSource, Boolean>() {
public Boolean apply(final ColumnSource it) {
String _name = it.getName();
boolean _equals = _name.equals("_id");
return Boolean.valueOf((!_equals));
}
};
Iterable<ColumnSource> _filter_1 = IterableExtensions.<ColumnSource>filter(_columnDefs_2, _function_1);
for(final ColumnSource col_1 : _filter_1) {
_builder.append("m");
String _name_3 = col_1.getName();
String _pascalize_4 = Strings.pascalize(_name_3);
_builder.append(_pascalize_4, "");
_builder.append("Dirty = dirtyFlags[");
_builder.append(counter = (counter + 1), "");
_builder.append("];");
_builder.newLineIfNotEmpty();
}
}
return _builder;
}
protected CharSequence _generateParcelDeserializationStatements(final CreateViewStatement stmt) {
StringConcatenation _builder = new StringConcatenation();
int counter = (-1);
_builder.newLineIfNotEmpty();
ArrayList<ColumnSource> cols = ModelUtil.getViewResultColumns(stmt);
_builder.newLineIfNotEmpty();
{
final Function1<ColumnSource, Boolean> _function = new Function1<ColumnSource, Boolean>() {
public Boolean apply(final ColumnSource it) {
String _name = it.getName();
boolean _equals = _name.equals("_id");
return Boolean.valueOf((!_equals));
}
};
Iterable<ColumnSource> _filter = IterableExtensions.<ColumnSource>filter(cols, _function);
for(final ColumnSource item : _filter) {
ResultColumn col = ((ResultColumn) item);
_builder.newLineIfNotEmpty();
ColumnType type = ModelUtil.getInferredColumnType(col);
_builder.newLineIfNotEmpty();
{
boolean _equals = Objects.equal(type, ColumnType.BOOLEAN);
if (_equals) {
_builder.append("m");
String _name = col.getName();
String _pascalize = Strings.pascalize(_name);
_builder.append(_pascalize, "");
_builder.append(" = (in.readInt() > 0);");
_builder.newLineIfNotEmpty();
} else {
boolean _equals_1 = Objects.equal(type, ColumnType.BLOB);
if (_equals_1) {
_builder.append("m");
String _name_1 = col.getName();
String _pascalize_1 = Strings.pascalize(_name_1);
_builder.append(_pascalize_1, "");
_builder.append(" = in.createByteArray();");
_builder.newLineIfNotEmpty();
} else {
_builder.append("m");
String _name_2 = col.getName();
String _pascalize_2 = Strings.pascalize(_name_2);
_builder.append(_pascalize_2, "");
_builder.append(" = in.read");
String _javaTypeName = ModelUtil.toJavaTypeName(type);
String _pascalize_3 = Strings.pascalize(_javaTypeName);
_builder.append(_pascalize_3, "");
_builder.append("();");
_builder.newLineIfNotEmpty();
}
}
}
}
}
_builder.newLine();
_builder.append("boolean[] dirtyFlags = new boolean[");
int _size = cols.size();
int _minus = (_size - 1);
_builder.append(_minus, "");
_builder.append("];");
_builder.newLineIfNotEmpty();
_builder.append("in.readBooleanArray(dirtyFlags);");
_builder.newLine();
{
final Function1<ColumnSource, Boolean> _function_1 = new Function1<ColumnSource, Boolean>() {
public Boolean apply(final ColumnSource it) {
String _name = it.getName();
boolean _equals = _name.equals("_id");
return Boolean.valueOf((!_equals));
}
};
Iterable<ColumnSource> _filter_1 = IterableExtensions.<ColumnSource>filter(cols, _function_1);
for(final ColumnSource col_1 : _filter_1) {
_builder.append("m");
String _name_3 = col_1.getName();
String _pascalize_4 = Strings.pascalize(_name_3);
_builder.append(_pascalize_4, "");
_builder.append("Dirty = dirtyFlags[");
_builder.append(counter = (counter + 1), "");
_builder.append("];");
_builder.newLineIfNotEmpty();
}
}
return _builder;
}
protected String _getName(final CreateTableStatement statement) {
return statement.getName();
}
protected String _getName(final CreateViewStatement statement) {
return statement.getName();
}
protected CharSequence _generateProjectionArrayMembers(final CreateTableStatement stmt) {
StringConcatenation _builder = new StringConcatenation();
{
EList<ColumnSource> _columnDefs = stmt.getColumnDefs();
boolean _hasElements = false;
for(final ColumnSource col : _columnDefs) {
if (!_hasElements) {
_hasElements = true;
} else {
_builder.appendImmediate(",", "");
}
String _name = stmt.getName();
String _pascalize = Strings.pascalize(_name);
_builder.append(_pascalize, "");
_builder.append(".");
String _name_1 = col.getName();
String _underscore = Strings.underscore(_name_1);
String _upperCase = _underscore.toUpperCase();
_builder.append(_upperCase, "");
_builder.newLineIfNotEmpty();
}
}
return _builder;
}
protected CharSequence _generateProjectionArrayMembers(final CreateViewStatement stmt) {
StringConcatenation _builder = new StringConcatenation();
{
ArrayList<ColumnSource> _viewResultColumns = ModelUtil.getViewResultColumns(stmt);
boolean _hasElements = false;
for(final ColumnSource col : _viewResultColumns) {
if (!_hasElements) {
_hasElements = true;
} else {
_builder.appendImmediate(",", "");
}
String _name = stmt.getName();
String _pascalize = Strings.pascalize(_name);
_builder.append(_pascalize, "");
_builder.append(".");
String _name_1 = col.getName();
String _underscore = Strings.underscore(_name_1);
String _upperCase = _underscore.toUpperCase();
_builder.append(_upperCase, "");
_builder.newLineIfNotEmpty();
}
}
return _builder;
}
protected CharSequence _generateProjectionIndicesMembers(final CreateTableStatement stmt) {
StringConcatenation _builder = new StringConcatenation();
int counter = (-1);
_builder.newLineIfNotEmpty();
{
EList<ColumnSource> _columnDefs = stmt.getColumnDefs();
for(final ColumnSource col : _columnDefs) {
_builder.append("int ");
String _name = col.getName();
String _underscore = Strings.underscore(_name);
String _upperCase = _underscore.toUpperCase();
_builder.append(_upperCase, "");
_builder.append(" = ");
_builder.append(counter = (counter + 1), "");
_builder.append(";");
_builder.newLineIfNotEmpty();
}
}
return _builder;
}
protected CharSequence _generateProjectionIndicesMembers(final CreateViewStatement stmt) {
StringConcatenation _builder = new StringConcatenation();
int counter = (-1);
_builder.newLineIfNotEmpty();
{
ArrayList<ColumnSource> _viewResultColumns = ModelUtil.getViewResultColumns(stmt);
for(final ColumnSource col : _viewResultColumns) {
_builder.append("int ");
String _name = col.getName();
String _underscore = Strings.underscore(_name);
String _upperCase = _underscore.toUpperCase();
_builder.append(_upperCase, "");
_builder.append(" = ");
_builder.append(counter = (counter + 1), "");
_builder.append(";");
_builder.newLineIfNotEmpty();
}
}
return _builder;
}
protected CharSequence _generateFields(final CreateTableStatement stmt) {
StringConcatenation _builder = new StringConcatenation();
{
EList<ColumnSource> _columnDefs = stmt.getColumnDefs();
final Function1<ColumnSource, Boolean> _function = new Function1<ColumnSource, Boolean>() {
public Boolean apply(final ColumnSource it) {
String _name = it.getName();
boolean _equals = _name.equals("_id");
return Boolean.valueOf((!_equals));
}
};
Iterable<ColumnSource> _filter = IterableExtensions.<ColumnSource>filter(_columnDefs, _function);
for(final ColumnSource item : _filter) {
ColumnDef col = ((ColumnDef) item);
_builder.newLineIfNotEmpty();
_builder.append("private ");
ColumnType _type = col.getType();
String _javaTypeName = ModelUtil.toJavaTypeName(_type);
_builder.append(_javaTypeName, "");
_builder.append(" m");
String _name = col.getName();
String _pascalize = Strings.pascalize(_name);
_builder.append(_pascalize, "");
_builder.append(";");
_builder.newLineIfNotEmpty();
_builder.append("private boolean m");
String _name_1 = col.getName();
String _pascalize_1 = Strings.pascalize(_name_1);
_builder.append(_pascalize_1, "");
_builder.append("Dirty;");
_builder.newLineIfNotEmpty();
}
}
return _builder;
}
protected CharSequence _generateFields(final CreateViewStatement stmt) {
StringConcatenation _builder = new StringConcatenation();
{
ArrayList<ColumnSource> _viewResultColumns = ModelUtil.getViewResultColumns(stmt);
final Function1<ColumnSource, Boolean> _function = new Function1<ColumnSource, Boolean>() {
public Boolean apply(final ColumnSource it) {
String _name = it.getName();
boolean _equals = _name.equals("_id");
return Boolean.valueOf((!_equals));
}
};
Iterable<ColumnSource> _filter = IterableExtensions.<ColumnSource>filter(_viewResultColumns, _function);
for(final ColumnSource item : _filter) {
ResultColumn col = ((ResultColumn) item);
_builder.newLineIfNotEmpty();
ColumnType type = ModelUtil.getInferredColumnType(col);
_builder.newLineIfNotEmpty();
_builder.append("private ");
String _javaTypeName = ModelUtil.toJavaTypeName(type);
_builder.append(_javaTypeName, "");
_builder.append(" m");
String _name = col.getName();
String _pascalize = Strings.pascalize(_name);
_builder.append(_pascalize, "");
_builder.append(";");
_builder.newLineIfNotEmpty();
_builder.append("private boolean m");
String _name_1 = col.getName();
String _pascalize_1 = Strings.pascalize(_name_1);
_builder.append(_pascalize_1, "");
_builder.append("Dirty;");
_builder.newLineIfNotEmpty();
}
}
return _builder;
}
protected CharSequence _generateAccessors(final CreateTableStatement stmt) {
StringConcatenation _builder = new StringConcatenation();
{
EList<ColumnSource> _columnDefs = stmt.getColumnDefs();
final Function1<ColumnSource, Boolean> _function = new Function1<ColumnSource, Boolean>() {
public Boolean apply(final ColumnSource it) {
String _name = it.getName();
boolean _equals = _name.equals("_id");
return Boolean.valueOf((!_equals));
}
};
Iterable<ColumnSource> _filter = IterableExtensions.<ColumnSource>filter(_columnDefs, _function);
for(final ColumnSource item : _filter) {
ColumnDef col = ((ColumnDef) item);
_builder.newLineIfNotEmpty();
_builder.append("public void set");
String _name = col.getName();
String _pascalize = Strings.pascalize(_name);
_builder.append(_pascalize, "");
_builder.append("(");
ColumnType _type = col.getType();
String _javaTypeName = ModelUtil.toJavaTypeName(_type);
_builder.append(_javaTypeName, "");
_builder.append(" ");
String _name_1 = col.getName();
String _camelize = Strings.camelize(_name_1);
_builder.append(_camelize, "");
_builder.append(") {");
_builder.newLineIfNotEmpty();
_builder.append("\t");
_builder.append("m");
String _name_2 = col.getName();
String _pascalize_1 = Strings.pascalize(_name_2);
_builder.append(_pascalize_1, "\t");
_builder.append(" = ");
String _name_3 = col.getName();
String _camelize_1 = Strings.camelize(_name_3);
_builder.append(_camelize_1, "\t");
_builder.append(";");
_builder.newLineIfNotEmpty();
_builder.append("\t");
_builder.append("m");
String _name_4 = col.getName();
String _pascalize_2 = Strings.pascalize(_name_4);
_builder.append(_pascalize_2, "\t");
_builder.append("Dirty = true;");
_builder.newLineIfNotEmpty();
_builder.append("}");
_builder.newLine();
_builder.newLine();
_builder.append("public ");
ColumnType _type_1 = col.getType();
String _javaTypeName_1 = ModelUtil.toJavaTypeName(_type_1);
_builder.append(_javaTypeName_1, "");
_builder.append(" get");
String _name_5 = col.getName();
String _pascalize_3 = Strings.pascalize(_name_5);
_builder.append(_pascalize_3, "");
_builder.append("() {");
_builder.newLineIfNotEmpty();
_builder.append("\t");
_builder.append("return m");
String _name_6 = col.getName();
String _pascalize_4 = Strings.pascalize(_name_6);
_builder.append(_pascalize_4, "\t");
_builder.append(";");
_builder.newLineIfNotEmpty();
_builder.append("}");
_builder.newLine();
_builder.newLine();
}
}
return _builder;
}
protected CharSequence _generateAccessors(final CreateViewStatement stmt) {
StringConcatenation _builder = new StringConcatenation();
{
ArrayList<ColumnSource> _viewResultColumns = ModelUtil.getViewResultColumns(stmt);
final Function1<ColumnSource, Boolean> _function = new Function1<ColumnSource, Boolean>() {
public Boolean apply(final ColumnSource it) {
String _name = it.getName();
boolean _equals = _name.equals("_id");
return Boolean.valueOf((!_equals));
}
};
Iterable<ColumnSource> _filter = IterableExtensions.<ColumnSource>filter(_viewResultColumns, _function);
for(final ColumnSource item : _filter) {
ResultColumn col = ((ResultColumn) item);
_builder.newLineIfNotEmpty();
ColumnType type = ModelUtil.getInferredColumnType(col);
_builder.newLineIfNotEmpty();
_builder.append("public void set");
String _name = col.getName();
String _pascalize = Strings.pascalize(_name);
_builder.append(_pascalize, "");
_builder.append("(");
String _javaTypeName = ModelUtil.toJavaTypeName(type);
_builder.append(_javaTypeName, "");
_builder.append(" ");
String _name_1 = col.getName();
String _camelize = Strings.camelize(_name_1);
_builder.append(_camelize, "");
_builder.append(") {");
_builder.newLineIfNotEmpty();
_builder.append("\t");
_builder.append("m");
String _name_2 = col.getName();
String _pascalize_1 = Strings.pascalize(_name_2);
_builder.append(_pascalize_1, "\t");
_builder.append(" = ");
String _name_3 = col.getName();
String _camelize_1 = Strings.camelize(_name_3);
_builder.append(_camelize_1, "\t");
_builder.append(";");
_builder.newLineIfNotEmpty();
_builder.append("\t");
_builder.append("m");
String _name_4 = col.getName();
String _pascalize_2 = Strings.pascalize(_name_4);
_builder.append(_pascalize_2, "\t");
_builder.append("Dirty = true;");
_builder.newLineIfNotEmpty();
_builder.append("}");
_builder.newLine();
_builder.newLine();
_builder.append("public ");
String _javaTypeName_1 = ModelUtil.toJavaTypeName(type);
_builder.append(_javaTypeName_1, "");
_builder.append(" get");
String _name_5 = col.getName();
String _pascalize_3 = Strings.pascalize(_name_5);
_builder.append(_pascalize_3, "");
_builder.append("() {");
_builder.newLineIfNotEmpty();
_builder.append("\t");
_builder.append("return m");
String _name_6 = col.getName();
String _pascalize_4 = Strings.pascalize(_name_6);
_builder.append(_pascalize_4, "\t");
_builder.append(";");
_builder.newLineIfNotEmpty();
_builder.append("}");
_builder.newLine();
}
}
return _builder;
}
public CharSequence generateSetFromCursorStatements(final TableDefinition stmt) {
if (stmt instanceof CreateTableStatement) {
return _generateSetFromCursorStatements((CreateTableStatement)stmt);
} else if (stmt instanceof CreateViewStatement) {
return _generateSetFromCursorStatements((CreateViewStatement)stmt);
} else {
throw new IllegalArgumentException("Unhandled parameter types: " +
Arrays.<Object>asList(stmt).toString());
}
}
public CharSequence generateMakeDirtyStatements(final TableDefinition stmt) {
if (stmt instanceof CreateTableStatement) {
return _generateMakeDirtyStatements((CreateTableStatement)stmt);
} else if (stmt instanceof CreateViewStatement) {
return _generateMakeDirtyStatements((CreateViewStatement)stmt);
} else {
throw new IllegalArgumentException("Unhandled parameter types: " +
Arrays.<Object>asList(stmt).toString());
}
}
public CharSequence generateBuilderStatements(final TableDefinition stmt) {
if (stmt instanceof CreateTableStatement) {
return _generateBuilderStatements((CreateTableStatement)stmt);
} else if (stmt instanceof CreateViewStatement) {
return _generateBuilderStatements((CreateViewStatement)stmt);
} else {
throw new IllegalArgumentException("Unhandled parameter types: " +
Arrays.<Object>asList(stmt).toString());
}
}
public CharSequence generateParcelSerializationStatements(final TableDefinition stmt) {
if (stmt instanceof CreateTableStatement) {
return _generateParcelSerializationStatements((CreateTableStatement)stmt);
} else if (stmt instanceof CreateViewStatement) {
return _generateParcelSerializationStatements((CreateViewStatement)stmt);
} else {
throw new IllegalArgumentException("Unhandled parameter types: " +
Arrays.<Object>asList(stmt).toString());
}
}
public CharSequence generateParcelDeserializationStatements(final TableDefinition stmt) {
if (stmt instanceof CreateTableStatement) {
return _generateParcelDeserializationStatements((CreateTableStatement)stmt);
} else if (stmt instanceof CreateViewStatement) {
return _generateParcelDeserializationStatements((CreateViewStatement)stmt);
} else {
throw new IllegalArgumentException("Unhandled parameter types: " +
Arrays.<Object>asList(stmt).toString());
}
}
public String getName(final TableDefinition statement) {
if (statement instanceof CreateTableStatement) {
return _getName((CreateTableStatement)statement);
} else if (statement instanceof CreateViewStatement) {
return _getName((CreateViewStatement)statement);
} else {
throw new IllegalArgumentException("Unhandled parameter types: " +
Arrays.<Object>asList(statement).toString());
}
}
public CharSequence generateProjectionArrayMembers(final TableDefinition stmt) {
if (stmt instanceof CreateTableStatement) {
return _generateProjectionArrayMembers((CreateTableStatement)stmt);
} else if (stmt instanceof CreateViewStatement) {
return _generateProjectionArrayMembers((CreateViewStatement)stmt);
} else {
throw new IllegalArgumentException("Unhandled parameter types: " +
Arrays.<Object>asList(stmt).toString());
}
}
public CharSequence generateProjectionIndicesMembers(final TableDefinition stmt) {
if (stmt instanceof CreateTableStatement) {
return _generateProjectionIndicesMembers((CreateTableStatement)stmt);
} else if (stmt instanceof CreateViewStatement) {
return _generateProjectionIndicesMembers((CreateViewStatement)stmt);
} else {
throw new IllegalArgumentException("Unhandled parameter types: " +
Arrays.<Object>asList(stmt).toString());
}
}
public CharSequence generateFields(final TableDefinition stmt) {
if (stmt instanceof CreateTableStatement) {
return _generateFields((CreateTableStatement)stmt);
} else if (stmt instanceof CreateViewStatement) {
return _generateFields((CreateViewStatement)stmt);
} else {
throw new IllegalArgumentException("Unhandled parameter types: " +
Arrays.<Object>asList(stmt).toString());
}
}
public CharSequence generateAccessors(final TableDefinition stmt) {
if (stmt instanceof CreateTableStatement) {
return _generateAccessors((CreateTableStatement)stmt);
} else if (stmt instanceof CreateViewStatement) {
return _generateAccessors((CreateViewStatement)stmt);
} else {
throw new IllegalArgumentException("Unhandled parameter types: " +
Arrays.<Object>asList(stmt).toString());
}
}
}