Class ParameterTypeClass<T>

  • Type Parameters:
    T - class, e.g. TacticalPlanner
    All Implemented Interfaces:
    java.io.Serializable, Identifiable

    public class ParameterTypeClass<T>
    extends ParameterType<java.lang.Class<? extends T>>
    Parameter type for classes, of which the value may need to be present in a constraint set.

    Copyright (c) 2013-2020 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands. All rights reserved.
    BSD-style license. See OpenTrafficSim License.

    Version:
    $Revision$, $LastChangedDate$, by $Author$, initial version 30 jun. 2017
    Author:
    Alexander Verbraeck, Peter Knoppers, Wouter Schakel
    See Also:
    Serialized Form
    • Constructor Summary

      Constructors 
      Constructor Description
      ParameterTypeClass​(java.lang.String id, java.lang.String description, java.lang.Class<java.lang.Class<? extends T>> valueClass)
      Constructor without default value and check.
      ParameterTypeClass​(java.lang.String id, java.lang.String description, java.lang.Class<java.lang.Class<? extends T>> valueClass, java.lang.Class<? extends T> defaultValue)
      Constructor with default value, without check.
      ParameterTypeClass​(java.lang.String id, java.lang.String description, java.lang.Class<java.lang.Class<? extends T>> valueClass, java.lang.Class<? extends T> defaultValue, Constraint<? super java.lang.Class<? extends T>> constraint)
      Constructor with default value and check.
      ParameterTypeClass​(java.lang.String id, java.lang.String description, java.lang.Class<java.lang.Class<? extends T>> valueClass, Constraint<? super java.lang.Class<? extends T>> constraint)
      Constructor without default value, with check.
    • Constructor Detail

      • ParameterTypeClass

        public ParameterTypeClass​(java.lang.String id,
                                  java.lang.String description,
                                  java.lang.Class<java.lang.Class<? extends T>> valueClass)
        Constructor without default value and check.
        Parameters:
        id - String; Short name of parameter.
        description - String; Parameter description or full name.
        valueClass - Class<Class<? extends T>>; Class of the value.
      • ParameterTypeClass

        public ParameterTypeClass​(java.lang.String id,
                                  java.lang.String description,
                                  java.lang.Class<java.lang.Class<? extends T>> valueClass,
                                  java.lang.Class<? extends T> defaultValue)
        Constructor with default value, without check.
        Parameters:
        id - String; Short name of parameter.
        description - String; Parameter description or full name.
        valueClass - Class<Class<? extends T>>; Class of the value.
        defaultValue - Class<? extends T>; Default value.
      • ParameterTypeClass

        public ParameterTypeClass​(java.lang.String id,
                                  java.lang.String description,
                                  java.lang.Class<java.lang.Class<? extends T>> valueClass,
                                  Constraint<? super java.lang.Class<? extends T>> constraint)
        Constructor without default value, with check.
        Parameters:
        id - String; Short name of parameter.
        description - String; Parameter description or full name.
        valueClass - Class<Class<? extends T>>; Class of the value.
        constraint - Constraint<? super Class<? extends T>>; Constraint for parameter values.
      • ParameterTypeClass

        public ParameterTypeClass​(java.lang.String id,
                                  java.lang.String description,
                                  java.lang.Class<java.lang.Class<? extends T>> valueClass,
                                  java.lang.Class<? extends T> defaultValue,
                                  Constraint<? super java.lang.Class<? extends T>> constraint)
        Constructor with default value and check.
        Parameters:
        id - String; Short name of parameter.
        description - String; Parameter description or full name.
        valueClass - Class<Class<? extends T>>; Class of the value.
        defaultValue - Class<? extends T>; Default value.
        constraint - Constraint<? super Class<? extends T>>; Constraint for parameter values.
    • Method Detail

      • getValueClass

        public static <T> java.lang.Class<java.lang.Class<? extends T>> getValueClass​(java.lang.Class<T> clazz)
        Returns a typed class, where the type is Class<? extends T>, such that ParameterTypeClass instances can easily be created.
        Type Parameters:
        T - constraining class in parameter type, e.g. TacticalPlanner
        Parameters:
        clazz - Class<T>; class instance
        Returns:
        typed class
      • printValue

        public java.lang.String printValue​(Parameters parameters)
                                    throws ParameterException
        Print the given value from the map in Parameters in a presentable format. The default implementation simply returns the output of toString().
        Overrides:
        printValue in class ParameterType<java.lang.Class<? extends T>>
        Parameters:
        parameters - Parameters; Parameters to get the value from
        Returns:
        String; readable representation of the value
        Throws:
        ParameterException - If the parameter is not present
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class ParameterType<java.lang.Class<? extends T>>