I - infrastructure type, e.g. LinkType or LaneType, or water way typepublic class GTUCompatibility<I extends HierarchicalType<I> & Compatibility<GTUType,I>> extends Object implements Compatibility<GTUType,I>
 Copyright (c) 2013-2019 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands. All rights reserved. 
 BSD-style license. See OpenTrafficSim License.
 
| Constructor and Description | 
|---|
| GTUCompatibility(GTUCompatibility<I> original)Construct a new Compatibility and deep copy the allowed and forbidden sets for both directions from an existing
 Compatibility. | 
| GTUCompatibility(I infrastructure)Construct a new Compatibility object with empty allowed and forbidden sets for both directions. | 
| Modifier and Type | Method and Description | 
|---|---|
| GTUCompatibility<I> | addAllowedGTUType(GTUType gtuType,
                 LongitudinalDirectionality directionality)Add a GTUType to this GTUCompatibility. | 
| boolean | equals(Object obj) | 
| LongitudinalDirectionality | getDirectionality(GTUType gtuType,
                 boolean tryParentsOfGTUType)Retrieve the allowed driving directions for a GTUType. | 
| int | hashCode() | 
| Boolean | isCompatible(GTUType gtuType,
            GTUDirectionality directionality)Determine if this Compatibility allows or denies a particular GTUType. | 
| void | isCompatibleWith(Compatibility<GTUType,?> parentCompatibility,
                boolean tryParentsOfGTUType)Check if a GTUCompatibility does not allow things that the GTUCompatibility of a parent object disallows, e.g. | 
| GTUCompatibility<I> | removeAllowedGTUType(GTUType gtuType,
                    LongitudinalDirectionality directionality)Remove a GTUType from the allowed set of this Compatibility. | 
| String | toString() | 
public GTUCompatibility(I infrastructure)
infrastructure - I; the infrastructure type, e.g. LinkType, LaneType, SensorType.public GTUCompatibility(GTUCompatibility<I> original)
original - GTUCompatibility<I>; the Compatibility from which the allowed and forbidden sets for both
            directions will be copiedpublic final Boolean isCompatible(GTUType gtuType, GTUDirectionality directionality)
isCompatible in interface Compatibility<GTUType,I extends HierarchicalType<I> & Compatibility<GTUType,I>>gtuType - GTUType; the GTUType to checkdirectionality - GTUDirectionality; the GTUDirectionality in which the GTUType wants to movepublic final GTUCompatibility<I> addAllowedGTUType(GTUType gtuType, LongitudinalDirectionality directionality) throws NullPointerException
gtuType - GTUType; the GTUType to add to the allowed set of this Compatibilitydirectionality - LongitudinalDirectionality; directionality for which the GTUType must be addedNullPointerException - when directionality is nullpublic final GTUCompatibility<I> removeAllowedGTUType(GTUType gtuType, LongitudinalDirectionality directionality)
gtuType - GTUType; the GTUType to remove from the allowed setdirectionality - LongitudinalDirectionality; the longitudinal directionality for which the GTUType must be removedpublic final void isCompatibleWith(Compatibility<GTUType,?> parentCompatibility, boolean tryParentsOfGTUType) throws GTUException
parentCompatibility - Compatibility<GTUType, ?>; the GTUCompatibility of the parent objecttryParentsOfGTUType - boolean; whether to try parent GTU typesGTUException - if a conflict is foundpublic final LongitudinalDirectionality getDirectionality(GTUType gtuType, boolean tryParentsOfGTUType)
tryParentsOfGTUType. tryParentsOfGTUType is false, the value null is returned. If true; the parent of the GTUType is used and
 the search is repeated, etc. If none of the parents of the GTUType yields a result, this method returns
 LongitudinalDirectionality.DIR_NONE.getDirectionality in interface Compatibility<GTUType,I extends HierarchicalType<I> & Compatibility<GTUType,I>>gtuType - G; type of the GTUtryParentsOfGTUType - boolean; if true; the parents of the GTUType are tried if no match was found for the given
            GTUTypeLongitudinalDirectionality.DIR_NONE if neither the GTUType or any of its parents specifies a
         directionalityCopyright © 2014–2019 Delft University of Technology. All rights reserved.