package com.constellio.app.services.importExport.settings.model; import java.util.ArrayList; import java.util.List; import org.apache.commons.lang3.builder.EqualsBuilder; import org.apache.commons.lang3.builder.HashCodeBuilder; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; import com.constellio.model.entities.schemas.MetadataValueType; public class ImportedMetadata { private String code; private String label; private String type; private String referencedType; private Boolean enabled;// = true; private List<String> enabledIn = new ArrayList<>(); private Boolean required;// = true; private List<String> requiredIn = new ArrayList<>(); private Boolean visibleInForm;// = true; private List<String> visibleInFormIn = new ArrayList<>(); private Boolean visibleInDisplay;// = true; private List<String> visibleInDisplayIn = new ArrayList<>(); private Boolean visibleInSearchResult;// = false; private List<String> visibleInResultIn = new ArrayList<>(); private Boolean visibleInTables;// = false; private List<String> visibleInTablesIn = new ArrayList<>(); private String tab; private Boolean multiValue; private String inputMask; private Boolean duplicable; private Boolean encrypted; private Boolean essential; private Boolean essentialInSummary; private Boolean multiLingual; private Boolean unique; private Boolean recordAutoComplete; private Boolean searchable; private Boolean sortable; private Boolean unmodifiable; private Boolean advanceSearchable; private ImportedDataEntry dataEntry; public String getCode() { return code; } public ImportedMetadata setCode(String code) { this.code = code; return this; } public String getLabel() { return label; } public ImportedMetadata setLabel(String label) { this.label = label; return this; } public String getType() { return type; } public ImportedMetadata setType(MetadataValueType type) { setType(type.name()); return this; } public ImportedMetadata setType(String type) { this.type = type; return this; } public Boolean getEnabled() { return enabled; } public ImportedMetadata setEnabled(Boolean enabled) { this.enabled = enabled; return this; } public Boolean getRequired() { return required; } public ImportedMetadata setRequired(Boolean required) { this.required = required; return this; } public String getTab() { return tab; } public ImportedMetadata setTab(String tab) { this.tab = tab; return this; } public List<String> getEnabledIn() { return enabledIn; } public ImportedMetadata setEnabledIn(List<String> enabledIn) { this.enabledIn = enabledIn; return this; } public Boolean getMultiValue() { return multiValue; } public ImportedMetadata setMultiValue(Boolean multiValue) { this.multiValue = multiValue; return this; } public Boolean getMultiLingual() { return multiLingual; } public ImportedMetadata setMultiLingual(Boolean multiLingual) { this.multiLingual = multiLingual; return this; } public Boolean getDuplicable() { return duplicable; } public ImportedMetadata setDuplicable(Boolean duplicable) { this.duplicable = duplicable; return this; } public Boolean getEncrypted() { return encrypted; } public ImportedMetadata setEncrypted(Boolean encrypted) { this.encrypted = encrypted; return this; } public Boolean getEssential() { return essential; } public ImportedMetadata setEssential(Boolean essential) { this.essential = essential; return this; } public Boolean getEssentialInSummary() { return essentialInSummary; } public ImportedMetadata setEssentialInSummary(Boolean essentialInSummary) { this.essentialInSummary = essentialInSummary; return this; } public String getInputMask() { return inputMask; } public ImportedMetadata setInputMask(String inputMask) { this.inputMask = inputMask; return this; } public List<String> getRequiredIn() { return requiredIn; } public ImportedMetadata setRequiredIn(List<String> requiredIn) { this.requiredIn = requiredIn; return this; } public Boolean getVisibleInForm() { return visibleInForm; } public ImportedMetadata setVisibleInForm(Boolean visibleInForm) { this.visibleInForm = visibleInForm; return this; } public Boolean getVisibleInDisplay() { return visibleInDisplay; } public ImportedMetadata setVisibleInDisplay(Boolean visibleInDisplay) { this.visibleInDisplay = visibleInDisplay; return this; } public Boolean getVisibleInSearchResult() { return visibleInSearchResult; } public ImportedMetadata setVisibleInSearchResult(Boolean visibleInSearchResult) { this.visibleInSearchResult = visibleInSearchResult; return this; } public Boolean getVisibleInTables() { return visibleInTables; } public ImportedMetadata setVisibleInTables(Boolean visibleInTables) { this.visibleInTables = visibleInTables; return this; } public List<String> getVisibleInFormIn() { return visibleInFormIn; } public ImportedMetadata setVisibleInFormIn(List<String> visibleInFormIn) { this.visibleInFormIn = visibleInFormIn; return this; } public List<String> getVisibleInDisplayIn() { return visibleInDisplayIn; } public ImportedMetadata setVisibleInDisplayIn(List<String> visibleInDisplayIn) { this.visibleInDisplayIn = visibleInDisplayIn; return this; } public List<String> getVisibleInResultIn() { return visibleInResultIn; } public ImportedMetadata setVisibleInResultIn(List<String> visibleInResultIn) { this.visibleInResultIn = visibleInResultIn; return this; } public List<String> getVisibleInTablesIn() { return visibleInTablesIn; } public ImportedMetadata setVisibleInTablesIn(List<String> visibleInTablesIn) { this.visibleInTablesIn = visibleInTablesIn; return this; } public Boolean getRecordAutoComplete() { return recordAutoComplete; } public ImportedMetadata setRecordAutoComplete(Boolean recordAutoComplete) { this.recordAutoComplete = recordAutoComplete; return this; } public Boolean getSearchable() { return searchable; } public ImportedMetadata setSearchable(Boolean searchable) { this.searchable = searchable; return this; } public Boolean getSortable() { return sortable; } public ImportedMetadata setSortable(Boolean sortable) { this.sortable = sortable; return this; } public Boolean getUnmodifiable() { return unmodifiable; } public ImportedMetadata setUnmodifiable(Boolean unmodifiable) { this.unmodifiable = unmodifiable; return this; } public Boolean getUnique() { return unique; } public ImportedMetadata setUnique(Boolean unique) { this.unique = unique; return this; } public Boolean getAdvanceSearchable() { return advanceSearchable; } public ImportedMetadata setAdvanceSearchable(Boolean advanceSearchable) { this.advanceSearchable = advanceSearchable; return this; } public String getReferencedType() { return referencedType; } public ImportedMetadata setReferencedType(String referencedType) { this.referencedType = referencedType; return this; } public List<String> getVisibleInListInSchemas(ListType listType) { switch (listType) { case DISPLAY: return getVisibleInDisplayIn(); case FORM: return getVisibleInFormIn(); case SEARCH: return getVisibleInResultIn(); case TABLES: return getVisibleInTablesIn(); default: throw new RuntimeException("Unsupported list " + listType); } } public Boolean getVisible(ListType listType) { switch (listType) { case DISPLAY: return getVisibleInDisplay(); case FORM: return getVisibleInForm(); case SEARCH: return getVisibleInSearchResult(); case TABLES: return getVisibleInTables(); default: throw new RuntimeException("Unsupported list " + listType); } } public ImportedMetadata setDataEntry(ImportedDataEntry dataEntry) { this.dataEntry = dataEntry; return this; } public ImportedDataEntry getDataEntry() { return dataEntry; } public enum ListType { DISPLAY, FORM, SEARCH, TABLES } @Override public boolean equals(Object obj) { return EqualsBuilder.reflectionEquals(this, obj); } @Override public int hashCode() { return HashCodeBuilder.reflectionHashCode(this); } @Override public String toString() { return ToStringBuilder.reflectionToString(this, ToStringStyle.SHORT_PREFIX_STYLE); } }