/** * Turns off other default versions of the form, if any, apart from the one given. * * @param formDefVersion the form version to set as the only default. */ public void turnOffOtherDefaults(FormDefVersion formDefVersion) { if (versions == null) return; for (FormDefVersion version : versions) { if (version != formDefVersion) version.setIsDefault(false); } }
@Override public void setDirty(boolean dirty) { this.dirty = dirty; if (versions == null) return; for (FormDefVersion version : versions) version.setDirty(dirty); }
/** * Returns the version of the form that is marked default * * @return FormDefVersion, or null if no versions or no default found */ public FormDefVersion getDefaultVersion() { if (versions != null) { for (FormDefVersion fdv : versions) { if (fdv.getIsDefault()) { return fdv; } } } return null; }
@Override public boolean isNew() { if (formId == 0) return true; if (versions == null) return false; for (FormDefVersion version : versions) { if (version.isNew()) return true; } return false; }
@Override public boolean isDirty() { if (dirty) return true; if (versions == null) return false; for (FormDefVersion version : versions) { if (version.isDirty()) return true; } return false; }
public void removeVersion(FormDefVersion formDefVersion) { versions.remove(formDefVersion); int size = versions.size(); if (formDefVersion.getIsDefault() && size > 0) versions.get(size - 1).setIsDefault(true); // Atleast one version should be the default }