import org.rexxla.bsf.engines.rexx.RexxProxy; 
import org.apache.bsf.BSFException; 

public class myEvent
		implements java.util.EventListener, java.awt.event.ActionListener, javax.swing.event.MouseInputListener
{
	public  static          Object    classLock     =new Object(); 
	private static volatile RexxProxy defaultHandler=null;         
	private                 RexxProxy target        =null;         


	public static RexxProxy getDefaultHandler() 
	{
		return defaultHandler; 
	}


	public static void setDefaultHandler(RexxProxy rexxproxy) 
	{
		synchronized (classLock)    
		{                           
			defaultHandler=rexxproxy; 
		}                           
	}


	public synchronized RexxProxy getTargetRexxProxy() 
	{
		return target; 
	}


	public synchronized void setTargetRexxProxy(RexxProxy newTarget) 
	{
		target=newTarget; 
	}


	// --- creating base (default) constructor 

	public myEvent() 
	{
		super();                    
		target=defaultHandler;      
	}


	public myEvent(RexxProxy rexxproxy) 

	{
		super();                 
		target=rexxproxy;        
		if (defaultHandler==null)   
		{                           
			defaultHandler=rexxproxy; 
		}                           
	}


	// --- creating methods for public and protected abstract methods in class [java.util.EventListener], if not yet created 

	// --- creating methods for interface [java.awt.event.ActionListener], if any and not yet created 

	public void actionPerformed(java.awt.event.ActionEvent a1) 
	{
		Object []obj=new Object[] { a1 };
		Object    res=null;     
		RexxProxy rpTarget=(target==null ? defaultHandler : target);     
		try {
			res=rpTarget.invoke(this, "actionPerformed", "public void actionPerformed(java.awt.event.ActionEvent)", obj); 
		} 
		catch (BSFException be)
		{ 
			throw new RuntimeException(be.toString(), be); 
		}
	}


	// --- creating methods for interface [java.util.EventListener], if any and not yet created 

	// --- creating methods for interface [javax.swing.event.MouseInputListener], if any and not yet created 

	// --- creating methods for interface [java.awt.event.MouseListener], if any and not yet created 

	public void mouseClicked(java.awt.event.MouseEvent a1) 
	{
		Object []obj=new Object[] { a1 };
		Object    res=null;     
		RexxProxy rpTarget=(target==null ? defaultHandler : target);     
		try {
			res=rpTarget.invoke(this, "mouseClicked", "public void mouseClicked(java.awt.event.MouseEvent)", obj); 
		} 
		catch (BSFException be)
		{ 
			throw new RuntimeException(be.toString(), be); 
		}
	}


	public void mouseEntered(java.awt.event.MouseEvent a1) 
	{
		Object []obj=new Object[] { a1 };
		Object    res=null;     
		RexxProxy rpTarget=(target==null ? defaultHandler : target);     
		try {
			res=rpTarget.invoke(this, "mouseEntered", "public void mouseEntered(java.awt.event.MouseEvent)", obj); 
		} 
		catch (BSFException be)
		{ 
			throw new RuntimeException(be.toString(), be); 
		}
	}


	public void mouseExited(java.awt.event.MouseEvent a1) 
	{
		Object []obj=new Object[] { a1 };
		Object    res=null;     
		RexxProxy rpTarget=(target==null ? defaultHandler : target);     
		try {
			res=rpTarget.invoke(this, "mouseExited", "public void mouseExited(java.awt.event.MouseEvent)", obj); 
		} 
		catch (BSFException be)
		{ 
			throw new RuntimeException(be.toString(), be); 
		}
	}


	public void mousePressed(java.awt.event.MouseEvent a1) 
	{
		Object []obj=new Object[] { a1 };
		Object    res=null;     
		RexxProxy rpTarget=(target==null ? defaultHandler : target);     
		try {
			res=rpTarget.invoke(this, "mousePressed", "public void mousePressed(java.awt.event.MouseEvent)", obj); 
		} 
		catch (BSFException be)
		{ 
			throw new RuntimeException(be.toString(), be); 
		}
	}


	public void mouseReleased(java.awt.event.MouseEvent a1) 
	{
		Object []obj=new Object[] { a1 };
		Object    res=null;     
		RexxProxy rpTarget=(target==null ? defaultHandler : target);     
		try {
			res=rpTarget.invoke(this, "mouseReleased", "public void mouseReleased(java.awt.event.MouseEvent)", obj); 
		} 
		catch (BSFException be)
		{ 
			throw new RuntimeException(be.toString(), be); 
		}
	}


	// --- creating methods for interface [java.util.EventListener], if any and not yet created 

	// --- creating methods for interface [java.awt.event.MouseMotionListener], if any and not yet created 

	public void mouseDragged(java.awt.event.MouseEvent a1) 
	{
		Object []obj=new Object[] { a1 };
		Object    res=null;     
		RexxProxy rpTarget=(target==null ? defaultHandler : target);     
		try {
			res=rpTarget.invoke(this, "mouseDragged", "public void mouseDragged(java.awt.event.MouseEvent)", obj); 
		} 
		catch (BSFException be)
		{ 
			throw new RuntimeException(be.toString(), be); 
		}
	}


	public void mouseMoved(java.awt.event.MouseEvent a1) 
	{
		Object []obj=new Object[] { a1 };
		Object    res=null;     
		RexxProxy rpTarget=(target==null ? defaultHandler : target);     
		try {
			res=rpTarget.invoke(this, "mouseMoved", "public void mouseMoved(java.awt.event.MouseEvent)", obj); 
		} 
		catch (BSFException be)
		{ 
			throw new RuntimeException(be.toString(), be); 
		}
	}


	// --- creating methods for interface [java.util.EventListener], if any and not yet created 
}


// ClassAdapter:
//	argument # 1: interface java.util.EventListener
//	argument # 2: myEvent
//	argument # 3: []
//	argument # 4: [interface java.awt.event.ActionListener, interface javax.swing.event.MouseInputListener]

// storing in a file named: EventListener_java.util.EventListener_$RexxExtendClass$_6327864E_20190826_153531_438.java
