Class Categorization

  • All Implemented Interfaces:
    Serializable, org.opentrafficsim.base.Identifiable

    public class Categorization
    extends Object
    implements Serializable, org.opentrafficsim.base.Identifiable
    A categorization determines for what part of traffic certain demand data is applicable. By default, this is always for a given origin-destination pair and time period. A categorization adds to this additional segregation. For example, per lane, per vehicle class, etc.

    Copyright (c) 2013-2022 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 Sep 15, 2016
    Author:
    Alexander Verbraeck, Peter Knoppers, Wouter Schakel
    See Also:
    Serialized Form
    • Field Detail

      • UNCATEGORIZED

        public static final Categorization UNCATEGORIZED
        Empty categorization.
    • Constructor Detail

      • Categorization

        public Categorization​(String id,
                              Class<?> class1,
                              Class<?>... classes)
        Parameters:
        id - String; Id
        class1 - Class<?>; 1st class
        classes - Class<?>...; other classes
        Throws:
        IllegalArgumentException - if any class is given multiple times
        NullPointerException - if any input is null
    • Method Detail

      • size

        public final int size()
        Returns the number of category classes defined.
        Returns:
        number of category classes defined
      • get

        public final Class<?> get​(int i)
        Returns the i'th class.
        Parameters:
        i - int; index of the class
        Returns:
        the i'th class
        Throws:
        IndexOutOfBoundsException - if index i is out of bounds
      • getId

        public final String getId()
        Specified by:
        getId in interface org.opentrafficsim.base.Identifiable
        Returns:
        id.
      • entails

        public final boolean entails​(Class<?> clazz)
        Returns whether the categorization contains a class that is, or is a sub type of, the given class.
        Parameters:
        clazz - Class<?>; class to check
        Returns:
        whether the categorization contains a class that is, or is a sub type of, the given class
      • hashCode

        public final int hashCode()
        Overrides:
        hashCode in class Object
      • equals

        public final boolean equals​(Object obj)
        Overrides:
        equals in class Object