package com.capitalone.dashboard.model; import org.bson.types.ObjectId; import java.util.HashMap; import java.util.Map; /** * Represents a widget on the dashboard. Each widget is associated with a specific component. The id, name and options * should be provided by the UI. */ public class Widget { private ObjectId id; private String name; private ObjectId componentId; private Map<String,Object> options = new HashMap<>(); public ObjectId getId() { return id; } public void setId(ObjectId id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public ObjectId getComponentId() { return componentId; } public void setComponentId(ObjectId componentId) { this.componentId = componentId; } public Map<String, Object> getOptions() { return options; } @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; Widget widget = (Widget) o; return id.equals(widget.id); } @Override public int hashCode() { return id.hashCode(); } }