package com.constellio.app.entities.schemasDisplay; import com.constellio.app.entities.schemasDisplay.enums.MetadataDisplayType; import com.constellio.app.entities.schemasDisplay.enums.MetadataInputType; import static com.constellio.app.entities.schemasDisplay.enums.MetadataDisplayType.VERTICAL; public class MetadataDisplayConfig { private final String metadataCode; private final String collection; private final boolean visibleInAdvancedSearch; private final MetadataInputType inputType; private final MetadataDisplayType displayType; private final String metadataGroupCode; private final boolean highlight; public MetadataDisplayConfig(String collection, String metadataCode, boolean visibleInAdvancedSearch, MetadataInputType inputType, boolean highlight, String metadataGroupCode, MetadataDisplayType displayType) { this.collection = collection; this.metadataCode = metadataCode; this.visibleInAdvancedSearch = visibleInAdvancedSearch; this.inputType = inputType; this.highlight = highlight; this.metadataGroupCode = metadataGroupCode; this.displayType = displayType; } public boolean isVisibleInAdvancedSearch() { return visibleInAdvancedSearch; } public boolean isHighlight() { return highlight; } public MetadataInputType getInputType() { return inputType; } public MetadataDisplayType getDisplayType() { return displayType; } public String getMetadataCode() { return metadataCode; } public String getCollection() { return collection; } public String getMetadataGroupCode() { return metadataGroupCode; } public MetadataDisplayConfig withVisibleInAdvancedSearchStatus(boolean visibleInAdvancedSearch) { return new MetadataDisplayConfig(collection, metadataCode, visibleInAdvancedSearch, inputType, highlight, metadataGroupCode, displayType); } public MetadataDisplayConfig withHighlightStatus(boolean highlight) { return new MetadataDisplayConfig(collection, metadataCode, visibleInAdvancedSearch, inputType, highlight, metadataGroupCode, displayType); } public MetadataDisplayConfig withInputType(MetadataInputType inputType) { return new MetadataDisplayConfig(collection, metadataCode, visibleInAdvancedSearch, inputType, highlight, metadataGroupCode, displayType); } public MetadataDisplayConfig withDisplayType(MetadataDisplayType displayType) { return new MetadataDisplayConfig(collection, metadataCode, visibleInAdvancedSearch, inputType, highlight, metadataGroupCode, displayType); } public MetadataDisplayConfig withMetadataGroup(String metadataGroupCode) { return new MetadataDisplayConfig(collection, metadataCode, visibleInAdvancedSearch, inputType, highlight, metadataGroupCode, displayType); } public static MetadataDisplayConfig inheriting(String metadataCode, MetadataDisplayConfig inheritance) { return new MetadataDisplayConfig(inheritance.collection, metadataCode, inheritance.visibleInAdvancedSearch, inheritance.inputType, inheritance.highlight, inheritance.metadataGroupCode, inheritance.displayType); } public MetadataDisplayConfig withCode(String code) { return new MetadataDisplayConfig(collection, code, visibleInAdvancedSearch, inputType, highlight, metadataGroupCode, displayType); } }