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