package io.lumify.analystsNotebook; import io.lumify.core.config.Configurable; import io.lumify.core.config.PostConfigurationValidator; public class AnalystsNotebookExportConfiguration { public static final String CONFIGURATION_PREFIX = "analystsNotebookExport"; private boolean enableCustomImageCollection; private boolean enableIconPicture; private int thumbnailWidth; private int thumbnailHeight; private boolean includeProperties; private boolean includeSubtitle; private boolean includeTime; private boolean includeImageUrl; private boolean includeVisibility; private String visibilityLabel; @Configurable(name = "enableCustomImageCollection", defaultValue = "true") public void setEnableCustomImageCollection(String enableCustomImageCollection) { this.enableCustomImageCollection = Boolean.valueOf(enableCustomImageCollection); } @Configurable(name = "enableIconPicture", defaultValue = "true") public void setEnableIconPicture(String enableIconPicture) { this.enableIconPicture = Boolean.valueOf(enableIconPicture); } @Configurable(name = "thumbnailWidth", defaultValue = "200") public void setThumbnailWidth(int thumbnailWidth) { this.thumbnailWidth = thumbnailWidth; } @Configurable(name = "thumbnailHeight", defaultValue = "200") public void setThumbnailHeight(int thumbnailHeight) { this.thumbnailHeight = thumbnailHeight; } @Configurable(name = "includeProperties", defaultValue = "true") public void setIncludeProperties(String includeProperties) { this.includeProperties = Boolean.valueOf(includeProperties); } @Configurable(name = "includeSubtitle", defaultValue = "true") public void setIncludeSubtitle(String includeSubtitle) { this.includeSubtitle = Boolean.valueOf(includeSubtitle); } @Configurable(name = "includeTime", defaultValue = "true") public void setIncludeTime(String includeTime) { this.includeTime = Boolean.valueOf(includeTime); } @Configurable(name = "includeImageUrl", defaultValue = "true") public void setIncludeImageUrl(String includeImageUrl) { this.includeImageUrl = Boolean.valueOf(includeImageUrl); } @Configurable(name = "includeVisibility", defaultValue = "false") public void setIncludeVisibility(String includeVisibility) { this.includeVisibility = Boolean.valueOf(includeVisibility); } @Configurable(name = "visibilityLabel", required = false) public void setVisibilityLabel(String visibilityLabel) { this.visibilityLabel = visibilityLabel; } @PostConfigurationValidator(description = "visibilityLabel must be configured if includeVisibility is true") public boolean validateVertexVisibility() { return !includeVisibility || visibilityLabel != null; } public boolean enableCustomImageCollection() { return enableCustomImageCollection; } public boolean enableIconPicture() { return enableIconPicture; } public int getThumbnailWidth() { return thumbnailWidth; } public int getThumbnailHeight() { return thumbnailHeight; } public boolean includeProperties() { return includeProperties; } public boolean includeSubtitle() { return includeSubtitle; } public boolean includeTime() { return includeTime; } public boolean includeImageUrl() { return includeImageUrl; } public boolean includeVisibility() { return includeVisibility; } public String getVisibilityLabel() { return visibilityLabel; } }