// ----------> 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; } }