/* A controller that provides binding of an attribute and a refinement model.
*
* Copyright (c) 2009 The Regents of the University of California. All
* rights reserved. Permission is hereby granted, without written agreement and
* without license or royalty fees, to use, copy, modify, and distribute this
* software and its documentation for any purpose, provided that the above
* copyright notice and the following two paragraphs appear in all copies of
* this software.
*
* IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR
* DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT
* OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY OF
* CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES,
* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
* FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON AN
* "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATION TO PROVIDE
* MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
*
* PT_COPYRIGHT_VERSION_2 COPYRIGHTENDKEY
*
*/
package ptolemy.vergil.properties;
import ptolemy.kernel.util.IllegalActionException;
import ptolemy.kernel.util.NameDuplicationException;
import ptolemy.kernel.util.NamedObj;
import ptolemy.vergil.basic.NamedObjController;
import ptolemy.vergil.basic.NodeControllerFactory;
import diva.graph.GraphController;
/**
* A factory attribute that creates MoMLModelAttributeControllers.
* @see ptolemy.vergil.properties.ModelAttributeController
* @author Dai Bui. Based on code by Man-Kit Leung
* @version $Id$
* @since Ptolemy II 8.1
* @Pt.ProposedRating Red (cxh)
* @Pt.AcceptedRating Red (cxh)
*/
public class MoMLModelAttributeControllerFactory extends NodeControllerFactory {
/**
* Create a new factory with the specified name and container.
* @param container The specified container.
* @param name The specified name.
* @exception IllegalActionException If the attribute cannot be
* contained by the proposed container.
* @exception NameDuplicationException If the container already has an
* attribute with this name.
*/
public MoMLModelAttributeControllerFactory(NamedObj container, String name)
throws NameDuplicationException, IllegalActionException {
super(container, name);
}
/**
* Create a new ModelAttributeController with the specified graph
* controller.
* @param controller The specified graph controller.
* @return A new ModelAttributeController.
*/
public NamedObjController create(GraphController controller) {
return new MoMLModelAttributeController(controller);
}
}