001 // License: GPL. For details, see LICENSE file. 002 package org.openstreetmap.josm.gui.io; 003 004 import java.util.Observable; 005 006 /** 007 * ChangesetCommentModel is an observable model for the changeset comment edited 008 * in the {@link UploadDialog}. 009 * 010 */ 011 public class ChangesetCommentModel extends Observable { 012 private String comment = ""; 013 014 /** 015 * Sets the current changeset comment and notifies observers if the comment 016 * has changed. 017 * 018 * @param comment the new upload comment. Empty string assumed if null. 019 */ 020 public void setComment(String comment) { 021 String oldValue = this.comment; 022 this.comment = comment == null ? "" : comment; 023 if (!oldValue.equals(this.comment)) { 024 setChanged(); 025 notifyObservers(this.comment); 026 } 027 } 028 029 /** 030 * Replies the current changeset comment in this model. 031 * 032 * @return the current changeset comment in this model. 033 */ 034 public String getComment() { 035 return comment == null ? "": comment; 036 } 037 }