// ----------> GENERATED FILE - DON'T TOUCH! <----------
// generator: ilarkesto.mda.legacy.generator.GwtEntityGenerator
package scrum.client.journal;
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 GProjectEvent
extends scrum.client.common.AScrumGwtEntity {
protected scrum.client.Dao getDao() {
return scrum.client.Dao.get();
}
public abstract boolean isEditable();
public GProjectEvent() {
}
public GProjectEvent(Map data) {
super(data);
updateProperties(data);
}
public static final String ENTITY_TYPE = "projectEvent";
@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 ProjectEvent setProject(scrum.client.project.Project project) {
String id = project == null ? null : project.getId();
if (equals(this.projectId, id)) return (ProjectEvent) this;
this.projectId = id;
propertyChanged("projectId", this.projectId);
return (ProjectEvent)this;
}
public final boolean isProject(scrum.client.project.Project project) {
return equals(this.projectId, project);
}
// --- label ---
private java.lang.String label ;
public final java.lang.String getLabel() {
return this.label ;
}
public final ProjectEvent setLabel(java.lang.String label) {
if (isLabel(label)) return (ProjectEvent)this;
this.label = label ;
propertyChanged("label", this.label);
return (ProjectEvent)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 "ProjectEvent_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 boolean isEditable() { return GProjectEvent.this.isEditable(); }
@Override
protected void onChangeValue(java.lang.String oldValue, java.lang.String newValue) {
super.onChangeValue(oldValue, newValue);
addUndo(this, oldValue);
}
}
// --- subject ---
private String subjectId;
public final ilarkesto.gwt.client.AGwtEntity getSubject() {
if (subjectId == null) return null;
return getDao().getEntity(this.subjectId);
}
public final boolean isSubjectSet() {
return subjectId != null;
}
public final ProjectEvent setSubject(ilarkesto.gwt.client.AGwtEntity subject) {
String id = subject == null ? null : subject.getId();
if (equals(this.subjectId, id)) return (ProjectEvent) this;
this.subjectId = id;
propertyChanged("subjectId", this.subjectId);
return (ProjectEvent)this;
}
public final boolean isSubject(ilarkesto.gwt.client.AGwtEntity subject) {
return equals(this.subjectId, subject);
}
// --- dateAndTime ---
private ilarkesto.gwt.client.DateAndTime dateAndTime ;
public final ilarkesto.gwt.client.DateAndTime getDateAndTime() {
return this.dateAndTime ;
}
public final ProjectEvent setDateAndTime(ilarkesto.gwt.client.DateAndTime dateAndTime) {
if (isDateAndTime(dateAndTime)) return (ProjectEvent)this;
this.dateAndTime = dateAndTime ;
propertyChanged("dateAndTime", this.dateAndTime);
return (ProjectEvent)this;
}
public final boolean isDateAndTime(ilarkesto.gwt.client.DateAndTime dateAndTime) {
return equals(this.dateAndTime, dateAndTime);
}
private transient DateAndTimeModel dateAndTimeModel;
public DateAndTimeModel getDateAndTimeModel() {
if (dateAndTimeModel == null) dateAndTimeModel = createDateAndTimeModel();
return dateAndTimeModel;
}
protected DateAndTimeModel createDateAndTimeModel() { return new DateAndTimeModel(); }
protected class DateAndTimeModel extends ilarkesto.gwt.client.editor.ADateAndTimeEditorModel {
@Override
public String getId() {
return "ProjectEvent_dateAndTime";
}
@Override
public ilarkesto.gwt.client.DateAndTime getValue() {
return getDateAndTime();
}
@Override
public void setValue(ilarkesto.gwt.client.DateAndTime value) {
setDateAndTime(value);
}
@Override
public boolean isMandatory() { return true; }
@Override
public boolean isEditable() { return GProjectEvent.this.isEditable(); }
@Override
protected void onChangeValue(ilarkesto.gwt.client.DateAndTime oldValue, ilarkesto.gwt.client.DateAndTime newValue) {
super.onChangeValue(oldValue, newValue);
addUndo(this, oldValue);
}
}
// --- update properties by map ---
public void updateProperties(Map props) {
projectId = (String) props.get("projectId");
label = (java.lang.String) props.get("label");
subjectId = (String) props.get("subjectId");
String dateAndTimeAsString = (String) props.get("dateAndTime");
dateAndTime = dateAndTimeAsString == null ? null : new ilarkesto.gwt.client.DateAndTime(dateAndTimeAsString);
}
@Override
public void storeProperties(Map properties) {
super.storeProperties(properties);
properties.put("projectId", this.projectId);
properties.put("label", this.label);
properties.put("subjectId", this.subjectId);
properties.put("dateAndTime", this.dateAndTime == null ? null : this.dateAndTime.toString());
}
@Override
public boolean matchesKey(String key) {
if (super.matchesKey(key)) return true;
if (matchesKey(getLabel(), key)) return true;
return false;
}
}