/* (c) 2016 Open Source Geospatial Foundation - all rights reserved * This code is licensed under the GPL 2.0 license, available at the root * application directory. */ package org.geoserver.platform; import java.io.Serializable; import java.util.Optional; /** * Bean used to register module installation in applicationContext.xml. * <p> * Bean completly defined by applicationContext.xml - no dynamic content. * * <pre> * <!-- code example needed -->> * </pre> * * @author Morgan Thompson - Boundless */ public class ModuleStatusImpl implements ModuleStatus, Serializable { /** serialVersionUID */ private static final long serialVersionUID = -5759469520194940051L; private String module; private String name; private String component; private String version; private String documentation; private String message; private boolean isEnabled; private boolean isAvailable; public ModuleStatusImpl() { } public ModuleStatusImpl(ModuleStatus status) { this.module = status.getModule(); this.name = status.getName(); this.component = status.getComponent().orElse(null); this.version = status.getVersion().orElse(null); this.documentation = status.getDocumentation().orElse(null); this.message = status.getMessage().orElse(null); this.isEnabled = status.isEnabled(); this.isAvailable = status.isAvailable(); } public ModuleStatusImpl(String module, String name) { this.module = module; this.name = name; this.isAvailable = true; this.isEnabled = true; } /** * @return the machine readable name */ public String getModule() { return module; } /** * @param module the module name to set */ public void setModule(String module) { this.module = module; } public Optional<String> getComponent() { return Optional.ofNullable(component); } /** * @param component the component to set */ public void setComponent(String component) { this.component = component; } /** * @return the name */ public String getName() { return name; } /** * @param name the name to set */ public void setName(String name) { this.name = name; } /** * @return the version */ public Optional<String> getVersion() { return Optional.ofNullable(version); } /** * @param version the version to set */ public void setVersion(String version) { this.version = version; } @Override public boolean isAvailable() { return this.isAvailable; } public void setAvailable(boolean isAvailable) { this.isAvailable = isAvailable; } @Override public boolean isEnabled() { return this.isEnabled; } public void setEnabled(boolean isEnabled) { this.isEnabled = isEnabled; } @Override public Optional<String> getMessage() { return Optional.ofNullable(message); } public void setMessage(String message) { this.message = message; } @Override public Optional<String> getDocumentation() { return Optional.ofNullable(documentation); } public void setDocumentation(String documentation) { this.documentation = documentation; } @Override public String toString() { return "ModuleStatusImpl [module=" + module + ", component=" + component + ", version=" + version + "]"; } }