ruper2/src/java/core/org/krysalis/ruper/util/chainprocess HandlerChain.java,NONE,1.1 HandlerManager.java,NONE,1.1 Handler.java,NONE,1.1
| Newsgroups | gmane.comp.krysalis.metamorphosis.cvs |
|---|---|
| Message-ID | <[email protected]> |
Update of /cvsroot/metamorphosis/ruper2/src/java/core/org/krysalis/ruper/util/chainprocess
In directory sc8-pr-cvs1:/tmp/cvs-serv10851/src/java/core/org/krysalis/ruper/util/chainprocess
Added Files:
HandlerChain.java HandlerManager.java Handler.java
Log Message:
handler chain process added
--- NEW FILE: HandlerChain.java ---
package org.krysalis.ruper.util.chainprocess;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class HandlerChain
{
private String m_name;
/** List of handlers in this chain */
private List m_handlers = new ArrayList();
public HandlerChain(String name)
{
m_name = name;
}
public void addHandler(Handler handler)
{
m_handlers.add(handler);
}
public void addHandlerAt(int position, Handler handler)
{
m_handlers.add(position, handler);
}
public List process(final List list)
{
List processedList = new ArrayList(list);
Iterator handlerIterator = m_handlers.iterator();
if (handlerIterator.hasNext())
{
Handler handler = (Handler) handlerIterator.next();
processedList = handler.process( processedList );
}
return processedList;
}
public void removeHandler(Handler handler)
{
m_handlers.remove( handler );
}
/**
* @return
*/
public List getHandlers()
{
return m_handlers;
}
/**
* @return
*/
public String getName()
{
return m_name;
}
/**
* @param list
*/
public void setHandlers(List list)
{
m_handlers = list;
}
/**
* @param string
*/
public void setName(String string)
{
m_name = string;
}
}
--- NEW FILE: HandlerManager.java ---
package org.krysalis.ruper.util.chainprocess;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class HandlerManager
{
protected List m_handlerChains;
public HandlerManager()
{
this.m_handlerChains = new ArrayList();
}
/*
* Adds the listeners for adding different handler impl to the handler chain
*/
public void addHandlerChain(HandlerChain handlerChain)
{
m_handlerChains.add(handlerChain);
}
/*
* Prioratize by addding at a certain position
*/
public void addHandlerChainAt(int position, HandlerChain handlerChain)
{
m_handlerChains.add(position, handlerChain);
}
public void removeHandlerChain(HandlerChain handlerChain)
{
m_handlerChains.remove( handlerChain );
}
public List process( final List list )
throws Exception
{
List processedList = null;
Iterator handlerIterator = m_handlerChains.iterator();
if (handlerIterator.hasNext())
{
// call the listener execute to see if they want to get added
HandlerChain handlerChain = (HandlerChain) handlerIterator.next();
processedList = handlerChain.process( list);
}
return processedList;
}
/**
* @return
*/
public List getHandlerChains()
{
return m_handlerChains;
}
public HandlerChain getHandlerChain(int index)
{
return (HandlerChain)m_handlerChains.get(index);
}
/**
* @param list
*/
public void setHandlerChains(List list)
{
m_handlerChains = list;
}
}
--- NEW FILE: Handler.java ---
package org.krysalis.ruper.util.chainprocess;
import java.util.List;
public interface Handler
{
List process( final List list);
}
-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf