/*
 * @(#)IShapeFactory.java	1.0 11-Apr-07
 *
 * IIT Bombay, 
 * Licensed under a Creative Commons Attribution-Noncommercial-Share Alike 2.5 License.
 */
package interfaces;

import types.ShapeCoordinates;

/**
 * Factory interface for the shape objects creation
 *
 * @author  Prathab
 * @version 1.0, 21-Mar-07
 * @see interfaces.IShape
 */
public interface IShapeFactory {
	
	/**
	 * Creates shapes object
	 * @param shapeName name of the shape
	 * @param shapeCoordinates default coordinates of the shape
	 * @param commandMediator command meditor to interact with other classes
	 * @return new <tt>IShape</tt> object
	 * @see types.ShapeCoordinates
	 * @see interfaces.ICommandMediator
	 */ 
	public IShape getShape(String shapeName, ShapeCoordinates shapeCoordinates, ICommandMediator commandMediator);

}
