package org.dashbuilder.dataset.def; import org.dashbuilder.dataset.ColumnType; import javax.validation.constraints.NotNull; /** * <p>This class is used to define the structure and runtime behaviour of a data set definition's column instance.</p> */ public class DataColumnDef { @NotNull() private String id; @NotNull() private ColumnType columnType; public DataColumnDef() { } public DataColumnDef(String id, ColumnType columnType) { this.id = id; this.columnType = columnType; } public String getId() { return id; } public void setId(String id) { this.id = id; } public ColumnType getColumnType() { return columnType; } public void setColumnType(ColumnType columnType) { this.columnType = columnType; } @Override public boolean equals(Object obj) { if (obj == null) return false; if (getId() == null) return false; try { DataColumnDef d = (DataColumnDef) obj; return getId().equals(d.getId()); } catch (ClassCastException e) { return false; } } public DataColumnDef clone() { return new DataColumnDef(id, ColumnType.getByName(columnType.name())); } }