Class ConditionalKeys
- java.lang.Object
-
- org.openstreetmap.josm.data.validation.Test
-
- org.openstreetmap.josm.data.validation.Test.TagTest
-
- org.openstreetmap.josm.data.validation.tests.ConditionalKeys
-
- All Implemented Interfaces:
OsmPrimitiveVisitor
public class ConditionalKeys extends Test.TagTest
Checks for conditional restrictions- Since:
- 6605
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static classConditionalKeys.ConditionalParsingExceptionstatic classConditionalKeys.ConditionalValueA conditional value is a value for the access restriction tag that depends on conditions (time, ...)-
Nested classes/interfaces inherited from class org.openstreetmap.josm.data.validation.Test
Test.TagTest
-
-
Field Summary
Fields Modifier and Type Field Description private static java.util.regex.PatternCONDITIONAL_PATTERNprivate OpeningHourTestopeningHourTestprivate static java.util.Set<java.lang.String>RESTRICTION_TYPESprivate static java.util.Set<java.lang.String>RESTRICTION_VALUESprivate static java.util.Set<java.lang.String>TRANSPORT_MODES-
Fields inherited from class org.openstreetmap.josm.data.validation.Test
checkBeforeUpload, checkEnabled, description, enabled, errors, IN_DOWNLOADED_AREA, IN_DOWNLOADED_AREA_STRICT, isBeforeUpload, name, partialSelection, progressMonitor, stopwatch, testBeforeUpload
-
-
Constructor Summary
Constructors Constructor Description ConditionalKeys()Constructs a newConditionalKeys.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcheck(OsmPrimitive p)Checks the tags of the given primitive.voidinitialize()Initializes any global data used this tester.static booleanisDirection(java.lang.String part)Check if a key part is a valid directionbooleanisKeyValid(java.lang.String key)Checks if a given key is a valid access keyprivate static booleanisKeyValid1Part(java.lang.String... parts)private static booleanisKeyValid2Parts(java.lang.String... parts)private static booleanisKeyValid3Parts(java.lang.String... parts)static booleanisRestrictionType(java.lang.String part)Check if the key is a key for an access restrictionstatic booleanisRestrictionValue(java.lang.String part)Check if the value is a valid restriction valuestatic booleanisTransportationMode(java.lang.String part)Checks if the key denotes a transport access mode restrictionbooleanisValueValid(java.lang.String key, java.lang.String value)Check if a value is validjava.util.List<TestError>validatePrimitive(OsmPrimitive p)Validate a primitivejava.lang.StringvalidateValue(java.lang.String key, java.lang.String value)Validate a key/value pair-
Methods inherited from class org.openstreetmap.josm.data.validation.Test.TagTest
includeOtherSeverityChecks, visit, visit, visit
-
Methods inherited from class org.openstreetmap.josm.data.validation.Test
addGui, clear, deletePrimitivesIfNeeded, endTest, fixError, getErrors, getName, getSource, isBuilding, isCanceled, isFixable, isPrimitiveUsable, isResidentialArea, ok, removeIrrelevantErrors, setBeforeUpload, setPartialSelection, setShowElements, startTest, testBeforeUpload, visit
-
-
-
-
Field Detail
-
openingHourTest
private final OpeningHourTest openingHourTest
-
RESTRICTION_TYPES
private static final java.util.Set<java.lang.String> RESTRICTION_TYPES
-
RESTRICTION_VALUES
private static final java.util.Set<java.lang.String> RESTRICTION_VALUES
-
TRANSPORT_MODES
private static final java.util.Set<java.lang.String> TRANSPORT_MODES
-
CONDITIONAL_PATTERN
private static final java.util.regex.Pattern CONDITIONAL_PATTERN
-
-
Constructor Detail
-
ConditionalKeys
public ConditionalKeys()
Constructs a newConditionalKeys.
-
-
Method Detail
-
initialize
public void initialize() throws java.lang.Exception
Description copied from class:TestInitializes any global data used this tester.- Overrides:
initializein classTest- Throws:
java.lang.Exception- When cannot initialize the test
-
isRestrictionType
public static boolean isRestrictionType(java.lang.String part)
Check if the key is a key for an access restriction- Parameters:
part- The key (or the restriction part of it, e.g. for lanes)- Returns:
trueif it is a restriction
-
isRestrictionValue
public static boolean isRestrictionValue(java.lang.String part)
Check if the value is a valid restriction value- Parameters:
part- The value- Returns:
truefor allowed restriction values
-
isTransportationMode
public static boolean isTransportationMode(java.lang.String part)
Checks if the key denotes a transport access mode restriction- Parameters:
part- The key (or the restriction part of it, e.g. for lanes)- Returns:
trueif it is a restriction
-
isDirection
public static boolean isDirection(java.lang.String part)
Check if a key part is a valid direction- Parameters:
part- The part of the key- Returns:
trueif it is a direction
-
isKeyValid
public boolean isKeyValid(java.lang.String key)
Checks if a given key is a valid access key- Parameters:
key- The conditional key- Returns:
trueif the key is valid
-
isKeyValid3Parts
private static boolean isKeyValid3Parts(java.lang.String... parts)
-
isKeyValid2Parts
private static boolean isKeyValid2Parts(java.lang.String... parts)
-
isKeyValid1Part
private static boolean isKeyValid1Part(java.lang.String... parts)
-
isValueValid
public boolean isValueValid(java.lang.String key, java.lang.String value)
Check if a value is valid- Parameters:
key- The key the value is forvalue- The value- Returns:
trueif it is valid
-
validateValue
public java.lang.String validateValue(java.lang.String key, java.lang.String value)
Validate a key/value pair- Parameters:
key- The keyvalue- The value- Returns:
- The error message for that value or
nullto indicate valid
-
validatePrimitive
public java.util.List<TestError> validatePrimitive(OsmPrimitive p)
Validate a primitive- Parameters:
p- The primitive- Returns:
- The errors for that primitive or an empty list if there are no errors.
-
check
public void check(OsmPrimitive p)
Description copied from class:Test.TagTestChecks the tags of the given primitive.- Specified by:
checkin classTest.TagTest- Parameters:
p- The primitive to test
-
-