What this is
This file is included in the DevDaily.com
"Java Source Code
Warehouse" project. The intent of this project is to help you "Learn
Java by Example" TM.
Other links
The source code
/*
* EBMessage.java - An EditBus message
* :tabSize=8:indentSize=8:noTabs=false:
* :folding=explicit:collapseFolds=1:
*
* Copyright (C) 1999, 2002 Slava Pestov
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
package org.gjt.sp.jedit;
/**
* The base class of all EditBus messages.
*
* Message classes extending this class typically add
* other data members and methods to provide subscribers with whatever is
* needed to handle the message appropriately.
*
* Message types sent by jEdit can be found in the
* {@link org.gjt.sp.jedit.msg} package.
*
* @author Slava Pestov
* @author John Gellene (API documentation)
* @version $Id: EBMessage.java,v 1.7 2003/05/02 21:12:43 spestov Exp $
*
* @since jEdit 2.2pre6
*/
public abstract class EBMessage
{
//{{{ EBMessage constructor
/**
* Creates a new message.
* @param source The message source
* @since jEdit 4.2pre1
*/
public EBMessage(Object source)
{
this.source = source;
} //}}}
//{{{ EBMessage constructor
/**
* Creates a new message.
* @param source The message source
*/
public EBMessage(EBComponent source)
{
this.source = source;
} //}}}
//{{{ getSource() method
/**
* Returns the sender of this message.
* @since jEdit 4.2pre1
*/
public Object getSource()
{
return source;
} //}}}
//{{{ toString() method
/**
* Returns a string representation of this message.
*/
public String toString()
{
String className = getClass().getName();
int index = className.lastIndexOf('.');
return className.substring(index + 1)
+ "[" + paramString() + "]";
} //}}}
//{{{ paramString() method
/**
* Returns a string representation of this message's parameters.
*/
public String paramString()
{
return "source=" + source;
} //}}}
//{{{ Private members
private Object source;
//}}}
//{{{ Deprecated methods
/**
* @deprecated Does nothing.
*/
public void veto()
{
}
/**
* @deprecated Returns false.
*/
public boolean isVetoed()
{
return false;
}
/**
* @deprecated Subclass EBMessage instead.
*/
public static abstract class NonVetoable extends EBMessage
{
/**
* Creates a new non-vetoable message.
* @param source The message source
*/
public NonVetoable(EBComponent source)
{
super(source);
}
/**
* Disallows this message from being vetoed.
*/
public void veto()
{
throw new InternalError("Can't veto this message");
}
} //}}}
}
|