001 package edu.nrao.sss.util; 002 003 /** 004 * An object that can be named. 005 * <p> 006 * <b>Version Info:</b> 007 * <table style="margin-left:2em"> 008 * <tr><td>$Revision$</td></tr> 009 * <tr><td>$Date$</td></tr> 010 * <tr><td>$Author$ (last person to modify)</td></tr> 011 * </table></p> 012 * 013 * @author David M. Harland 014 * @since 2009-04-16 015 */ 016 public interface Nameable 017 { 018 /** 019 * Sets the name of this object. 020 * 021 * @param newName 022 * a new name for this object. Implementing classes are free to establish 023 * their own rules for what constitutes a legal name. 024 */ 025 public void setName(String newName); 026 027 /** 028 * Returns the name of this object. 029 * 030 * @return 031 * the name of this object. 032 * Whether or not <i>null</i> is a legitimate return value is a decision 033 * that will be made by implementing classes. 034 */ 035 public String getName(); 036 }