// ----------> GENERATED FILE - DON'T TOUCH! <----------
// generator: ilarkesto.mda.legacy.generator.GwtEntityGenerator
package scrum.client.files;
import java.util.*;
import ilarkesto.persistence.*;
import ilarkesto.core.logging.Log;
import ilarkesto.base.*;
import ilarkesto.base.time.*;
import ilarkesto.auth.*;
import scrum.client.common.*;
import ilarkesto.gwt.client.*;
public abstract class GFile
extends scrum.client.common.AScrumGwtEntity {
protected scrum.client.Dao getDao() {
return scrum.client.Dao.get();
}
public GFile() {
}
public GFile(Map data) {
super(data);
updateProperties(data);
}
public static final String ENTITY_TYPE = "file";
@Override
public final String getEntityType() {
return ENTITY_TYPE;
}
// --- project ---
private String projectId;
public final scrum.client.project.Project getProject() {
if (projectId == null) return null;
return getDao().getProject(this.projectId);
}
public final boolean isProjectSet() {
return projectId != null;
}
public final File setProject(scrum.client.project.Project project) {
String id = project == null ? null : project.getId();
if (equals(this.projectId, id)) return (File) this;
this.projectId = id;
propertyChanged("projectId", this.projectId);
return (File)this;
}
public final boolean isProject(scrum.client.project.Project project) {
return equals(this.projectId, project);
}
// --- filename ---
private java.lang.String filename ;
public final java.lang.String getFilename() {
return this.filename ;
}
public final File setFilename(java.lang.String filename) {
if (isFilename(filename)) return (File)this;
this.filename = filename ;
propertyChanged("filename", this.filename);
return (File)this;
}
public final boolean isFilename(java.lang.String filename) {
return equals(this.filename, filename);
}
private transient FilenameModel filenameModel;
public FilenameModel getFilenameModel() {
if (filenameModel == null) filenameModel = createFilenameModel();
return filenameModel;
}
protected FilenameModel createFilenameModel() { return new FilenameModel(); }
protected class FilenameModel extends ilarkesto.gwt.client.editor.ATextEditorModel {
@Override
public String getId() {
return "File_filename";
}
@Override
public java.lang.String getValue() {
return getFilename();
}
@Override
public void setValue(java.lang.String value) {
setFilename(value);
}
@Override
public boolean isMandatory() { return true; }
@Override
public boolean isEditable() { return false; }
@Override
protected void onChangeValue(java.lang.String oldValue, java.lang.String newValue) {
super.onChangeValue(oldValue, newValue);
addUndo(this, oldValue);
}
}
// --- uploadTime ---
private ilarkesto.gwt.client.DateAndTime uploadTime ;
public final ilarkesto.gwt.client.DateAndTime getUploadTime() {
return this.uploadTime ;
}
public final File setUploadTime(ilarkesto.gwt.client.DateAndTime uploadTime) {
if (isUploadTime(uploadTime)) return (File)this;
this.uploadTime = uploadTime ;
propertyChanged("uploadTime", this.uploadTime);
return (File)this;
}
public final boolean isUploadTime(ilarkesto.gwt.client.DateAndTime uploadTime) {
return equals(this.uploadTime, uploadTime);
}
private transient UploadTimeModel uploadTimeModel;
public UploadTimeModel getUploadTimeModel() {
if (uploadTimeModel == null) uploadTimeModel = createUploadTimeModel();
return uploadTimeModel;
}
protected UploadTimeModel createUploadTimeModel() { return new UploadTimeModel(); }
protected class UploadTimeModel extends ilarkesto.gwt.client.editor.ADateAndTimeEditorModel {
@Override
public String getId() {
return "File_uploadTime";
}
@Override
public ilarkesto.gwt.client.DateAndTime getValue() {
return getUploadTime();
}
@Override
public void setValue(ilarkesto.gwt.client.DateAndTime value) {
setUploadTime(value);
}
@Override
public boolean isMandatory() { return true; }
@Override
public boolean isEditable() { return false; }
@Override
protected void onChangeValue(ilarkesto.gwt.client.DateAndTime oldValue, ilarkesto.gwt.client.DateAndTime newValue) {
super.onChangeValue(oldValue, newValue);
addUndo(this, oldValue);
}
}
// --- label ---
private java.lang.String label ;
public final java.lang.String getLabel() {
return this.label ;
}
public final File setLabel(java.lang.String label) {
if (isLabel(label)) return (File)this;
this.label = label ;
propertyChanged("label", this.label);
return (File)this;
}
public final boolean isLabel(java.lang.String label) {
return equals(this.label, label);
}
private transient LabelModel labelModel;
public LabelModel getLabelModel() {
if (labelModel == null) labelModel = createLabelModel();
return labelModel;
}
protected LabelModel createLabelModel() { return new LabelModel(); }
protected class LabelModel extends ilarkesto.gwt.client.editor.ATextEditorModel {
@Override
public String getId() {
return "File_label";
}
@Override
public java.lang.String getValue() {
return getLabel();
}
@Override
public void setValue(java.lang.String value) {
setLabel(value);
}
@Override
public boolean isMandatory() { return true; }
@Override
public String getTooltip() { return "The label is used to provide a human readable name for the uploaded file. It may (and probably should) differ from the filename."; }
@Override
protected void onChangeValue(java.lang.String oldValue, java.lang.String newValue) {
super.onChangeValue(oldValue, newValue);
addUndo(this, oldValue);
}
}
// --- number ---
private int number ;
public final int getNumber() {
return this.number ;
}
public final File setNumber(int number) {
if (isNumber(number)) return (File)this;
this.number = number ;
propertyChanged("number", this.number);
return (File)this;
}
public final boolean isNumber(int number) {
return equals(this.number, number);
}
private transient NumberModel numberModel;
public NumberModel getNumberModel() {
if (numberModel == null) numberModel = createNumberModel();
return numberModel;
}
protected NumberModel createNumberModel() { return new NumberModel(); }
protected class NumberModel extends ilarkesto.gwt.client.editor.AIntegerEditorModel {
@Override
public String getId() {
return "File_number";
}
@Override
public java.lang.Integer getValue() {
return getNumber();
}
@Override
public void setValue(java.lang.Integer value) {
setNumber(value);
}
@Override
public void increment() {
setNumber(getNumber() + 1);
}
@Override
public void decrement() {
setNumber(getNumber() - 1);
}
@Override
public boolean isMandatory() { return true; }
@Override
protected void onChangeValue(java.lang.Integer oldValue, java.lang.Integer newValue) {
super.onChangeValue(oldValue, newValue);
addUndo(this, oldValue);
}
}
// --- note ---
private java.lang.String note ;
public final java.lang.String getNote() {
return this.note ;
}
public final File setNote(java.lang.String note) {
if (isNote(note)) return (File)this;
this.note = note ;
propertyChanged("note", this.note);
return (File)this;
}
public final boolean isNote(java.lang.String note) {
return equals(this.note, note);
}
private transient NoteModel noteModel;
public NoteModel getNoteModel() {
if (noteModel == null) noteModel = createNoteModel();
return noteModel;
}
protected NoteModel createNoteModel() { return new NoteModel(); }
protected class NoteModel extends ilarkesto.gwt.client.editor.ATextEditorModel {
@Override
public String getId() {
return "File_note";
}
@Override
public java.lang.String getValue() {
return getNote();
}
@Override
public void setValue(java.lang.String value) {
setNote(value);
}
@Override
public boolean isRichtext() { return true; }
@Override
public String getTooltip() { return "Use this to give additional information on this uploaded file useful for other project members."; }
@Override
protected void onChangeValue(java.lang.String oldValue, java.lang.String newValue) {
super.onChangeValue(oldValue, newValue);
addUndo(this, oldValue);
}
}
// --- update properties by map ---
public void updateProperties(Map props) {
projectId = (String) props.get("projectId");
filename = (java.lang.String) props.get("filename");
String uploadTimeAsString = (String) props.get("uploadTime");
uploadTime = uploadTimeAsString == null ? null : new ilarkesto.gwt.client.DateAndTime(uploadTimeAsString);
label = (java.lang.String) props.get("label");
number = (Integer) props.get("number");
note = (java.lang.String) props.get("note");
}
@Override
public void storeProperties(Map properties) {
super.storeProperties(properties);
properties.put("projectId", this.projectId);
properties.put("filename", this.filename);
properties.put("uploadTime", this.uploadTime == null ? null : this.uploadTime.toString());
properties.put("label", this.label);
properties.put("number", this.number);
properties.put("note", this.note);
}
@Override
public boolean matchesKey(String key) {
if (super.matchesKey(key)) return true;
if (matchesKey(getFilename(), key)) return true;
if (matchesKey(getLabel(), key)) return true;
if (matchesKey(getNote(), key)) return true;
return false;
}
}