public void setWidth(int width) {
   int oldVal = this.width;
   this.width = Math.min(Math.max(width, model.getMinColumnWidth()), model.getMaxColumnWidth());
   if (oldVal != width) {
     model.fireWidthUpdated();
   }
 }
 /** @param model the model to set */
 void setModel(GridSheetModel model) {
   assert model != null;
   this.model = model;
   if (this.width == -1) {
     this.width = model.getDefaultColumnWidth();
   }
 }
 public void setName(String name) {
   if (!Objects.equals(name, this.name)) {
     this.name = name;
     model.fireVisibleColumnsUpdated();
   }
 }
 public void setVisible(boolean isVisible) {
   if (this.visible != isVisible) {
     this.visible = isVisible;
     model.fireVisibleColumnsUpdated();
   }
 }