001 package org.codehaus.groovy.control.messages;
002
003 import java.io.PrintWriter;
004
005 import org.codehaus.groovy.control.Janitor;
006 import org.codehaus.groovy.control.ProcessingUnit;
007 import org.codehaus.groovy.control.SourceUnit;
008
009
010
011 /**
012 * A base class for compilation messages.
013 *
014 * @author <a href="mailto:cpoirier@dreaming.org">Chris Poirier</a>
015 *
016 * @version $Id: SimpleMessage.java,v 1.2 2005/06/09 19:51:59 blackdrag Exp $
017 */
018
019 public class SimpleMessage extends Message
020 {
021 protected String message; // Message text
022 protected Object data; // Data, when the message text is an I18N identifier
023 protected ProcessingUnit owner;
024
025 public SimpleMessage( String message, ProcessingUnit source )
026 {
027 this( message, null, source );
028 }
029
030 public SimpleMessage( String message, Object data, ProcessingUnit source )
031 {
032 this.message = message;
033 this.data = null;
034 this.owner = source;
035 }
036
037
038 public void write( PrintWriter writer, Janitor janitor )
039 {
040 if( owner instanceof SourceUnit )
041 {
042 String name = ((SourceUnit)owner).getName();
043 writer.println( "" + name + ": " + message );
044 }
045 else
046 {
047 writer.println( message );
048 }
049 }
050
051
052 public String getMessage()
053 {
054 return message;
055 }
056
057 }
058
059
060
061