gernotbelger@8871: /** Copyright (C) 2017 by Bundesanstalt für Gewässerkunde gernotbelger@8871: * Software engineering by gernotbelger@8871: * Björnsen Beratende Ingenieure GmbH gernotbelger@8871: * Dr. Schumacher Ingenieurbüro für Wasser und Umwelt gernotbelger@8871: * gernotbelger@8871: * This file is Free Software under the GNU AGPL (>=v3) gernotbelger@8871: * and comes with ABSOLUTELY NO WARRANTY! Check out the gernotbelger@8871: * documentation coming with Dive4Elements River for details. gernotbelger@8871: */ gernotbelger@8871: package org.dive4elements.river.client.shared.model; gernotbelger@8871: gernotbelger@8871: import java.io.Serializable; gernotbelger@8871: gernotbelger@8871: /** gernotbelger@8871: * A module group marks modules to belong to a common group. Modules of the same group are put together in the user-interface. gernotbelger@8871: * gernotbelger@8871: * @author Gernot Belger gernotbelger@8871: */ gernotbelger@8871: public class ModuleGroup implements Serializable { gernotbelger@8871: gernotbelger@8871: private static final long serialVersionUID = 1L; gernotbelger@8871: gernotbelger@8871: private String id; gernotbelger@8871: private String label; gernotbelger@8871: gernotbelger@8871: public ModuleGroup() { gernotbelger@8871: this.id = null; gernotbelger@8871: this.label = null; gernotbelger@8871: } gernotbelger@8871: gernotbelger@8871: public ModuleGroup(final String id, final String label) { gernotbelger@8871: this.id = id; gernotbelger@8871: this.label = label; gernotbelger@8871: } gernotbelger@8871: gernotbelger@8871: @Override gernotbelger@8871: public String toString() { gernotbelger@8871: return label; gernotbelger@8871: } gernotbelger@8871: gernotbelger@8871: @Override gernotbelger@8871: public int hashCode() { gernotbelger@8871: return id == null ? 0 : id.hashCode(); gernotbelger@8871: } gernotbelger@8871: gernotbelger@8871: @Override gernotbelger@8871: public boolean equals(Object obj) { gernotbelger@8871: gernotbelger@8871: if (obj == null) gernotbelger@8871: return false; gernotbelger@8871: if (obj == this) gernotbelger@8871: return true; gernotbelger@8871: gernotbelger@8871: if (obj.getClass() != getClass()) { gernotbelger@8871: return false; gernotbelger@8871: } gernotbelger@8871: gernotbelger@8871: final ModuleGroup rhs = (ModuleGroup) obj; gernotbelger@8871: return (id == rhs.id) || (id != null && id.equals(rhs.id)); gernotbelger@8871: } gernotbelger@8871: gernotbelger@8871: public boolean showGroupFrame() { gernotbelger@8871: return label != null && !label.trim().isEmpty(); gernotbelger@8871: } gernotbelger@8871: }