001/**
002    Returns a new <code>PointVehicle</code> that can store a list of
003    <code>PointComponent</code> objects. The versions showing the array input actually take
004    a variable length argument list (vararg), so you can enter 
005    <code>newPointVehicle(geom1,geom2, geom3, geom4)</code>, etc.
006 
007    @method PointVehicle newPointVehicle()
008    @method PointVehicle newPointVehicle(String name)
009    @method PointVehicle newPointVehicle(Collection pointComponents)
010    @method PointVehicle newPointVehicle(String name, Collection pointComponents)
011    @method PointVehicle newPointVehicle(PointComponent pointArray)
012    @method PointVehicle newPointVehicle(String name, PointComponent pointComponent)
013    @method PointVehicle newPointVehicle(PointComponent... pointCompVararg)
014    @method PointVehicle newPointVehicle(String name, PointComponent... pointCompVararg)
015 */
016package geomss.app.GeomSSCommands.creators;
017
018import bsh.*;
019import geomss.geom.PointComponent;
020import geomss.geom.PointVehicle;
021import java.util.Collection;
022
023public class newPointVehicle {
024
025    public static String usage() {
026        return "usage: newPointVehicle();, or newPointVehicle(geometry);, or newPointVehicle(geomVararg);";
027    }
028
029    /**
030     * Implement newPointVehicle() command.
031     */
032    public static PointVehicle invoke(Interpreter env, CallStack callstack) {
033        return PointVehicle.newInstance();
034    }
035
036    /**
037     * Implement newPointVehicle(String name) command.
038     */
039    public static PointVehicle invoke(Interpreter env, CallStack callstack, String name) {
040        return PointVehicle.newInstance(name);
041    }
042
043    /**
044     * Implement newPointVehicle(Collection PointComponents) command.
045     */
046    public static PointVehicle invoke(Interpreter env, CallStack callstack, Collection pointComponents) {
047        return PointVehicle.valueOf(null, pointComponents);
048    }
049
050    /**
051     * Implement newPointVehicle(Collection PointComponents) command.
052     */
053    public static PointVehicle invoke(Interpreter env, CallStack callstack,
054            String name, Collection pointComponents) {
055        return PointVehicle.valueOf(name, pointComponents);
056    }
057
058    /**
059     * Implement newPointVehicle(PointComponent... PointComponentVararg) command.
060     */
061    public static PointVehicle invoke(Interpreter env, CallStack callstack,
062            PointComponent... pointCompVararg) {
063        return PointVehicle.valueOf(pointCompVararg);
064    }
065
066    /**
067     * Implement newPointVehicle(String name, PointComponent... PointComponentVararg)
068     * command.
069     */
070    public static PointVehicle invoke(Interpreter env, CallStack callstack,
071            String name, PointComponent... pointCompVararg) {
072        return PointVehicle.valueOf(name, pointCompVararg);
073    }
074}