package com.twine.tango.dal.entities;
import com.raizlabs.android.dbflow.annotation.Column;
import com.raizlabs.android.dbflow.annotation.ForeignKey;
import com.raizlabs.android.dbflow.annotation.ForeignKeyReference;
import com.raizlabs.android.dbflow.annotation.Table;
import org.joda.time.DateTime;
import com.twine.tango.dal.Entity;
import com.twine.tango.dal.TangoDB;
@@Table(name = "@(Model.TableName)", database = TangoDB.class)
public class @(Model.Name) extends Entity
{
@foreach (var prop in Model.Fields)
{
if (!prop.Construct)
{
@@Column(name = "@(prop.FieldName)")
private @(prop.Type) @(prop.Description);
}
else
{
@@ForeignKey(references = { @@ForeignKeyReference(columnName = "@(prop.FieldName)_GUID", foreignKeyColumnName = "GUID")})
private @(prop.Type) @(prop.Description);
}
}
@foreach (var prop in Model.Fields)
{
/**
* Gets the @(prop.Name).
*
* return the @(prop.Name)
*/
public @(prop.Type) @(prop.Type == "Boolean" ? "is" + prop.Name : "get" + prop.Name)()
{
return @(prop.Description);
}
/**
* Sets the @(prop.Name).
*
* @@param @(prop.Description) the @(prop.Name)
*/
public void set@(prop.Name)(@(prop.Type) @(prop.Description))
{
this.@(prop.Description) = @(prop.Description);
}
}
}