Update of /cvsroot/bprocessor/gl/src/net/sourceforge/bprocessor/gl/tool
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13819
Added Files:
ToolFactory.java
Log Message:
A factory for generating tools
--- NEW FILE: ToolFactory.java ---
//---------------------------------------------------------------------------------
// $Id: ToolFactory.java,v 1.1 2005/07/26 12:37:23 rimestad Exp $
//
// Copyright (c) 2005 The BProcessor Team (http://bprocessor.sourceforge.net)
// Released under the Lesser GNU Public License v2.1
//---------------------------------------------------------------------------------
package net.sourceforge.bprocessor.gl.tool;
import net.sourceforge.bprocessor.gl.GLView;
import org.apache.log4j.Logger;
/**
* A factory for tools
*/
public class ToolFactory {
/** The logger */
private static Logger log = Logger.getLogger(ToolFactory.class);
/** The factory */
private static ToolFactory factory;
/** draw tool */
private Tool draw;
/** select tool */
private Tool select;
/**
* Constructor
* @param glv the GLView
*/
private ToolFactory(GLView glv) {
draw = new DrawTool(glv);
select = new SelectTool(glv);
}
/**
* Get the factory
* @param glv The GLView
* @return The factory
*/
public static synchronized ToolFactory getFactory(GLView glv) {
if (factory == null) {
factory = new ToolFactory(glv);
}
return factory;
}
/**
* Get the default tool
* @return The tool
*/
public Tool getDefault() {
return get(Tool.SELECT_TOOL);
}
/**
* Get the tool i if it is a legal tool
* @param i The tool number
* @return The tool
*/
public Tool get(int i) {
if (i == Tool.SELECT_TOOL) {
return select;
} else if (i == Tool.DRAW_TOOL) {
return draw;
} else {
log.error("[get] No such tool " + i);
return null;
}
}
}
|