Package com.yahoo.config.application.api
Class ValidationOverrides
- java.lang.Object
-
- com.yahoo.config.application.api.ValidationOverrides
-
public class ValidationOverrides extends Object
A set of allows which suppresses specific validations in limited time periods. This is useful to be able to complete a deployment in cases where the application owner believes that the changes to be deployed have acceptable consequences. Immutable.- Author:
- bratseth
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
ValidationOverrides.Allow
A validation override which allows a particular change.static class
ValidationOverrides.ValidationException
A deployment validation exception.
-
Field Summary
Fields Modifier and Type Field Description static ValidationOverrides
empty
-
Constructor Summary
Constructors Constructor Description ValidationOverrides(List<ValidationOverrides.Allow> overrides)
Creates a validation overrides which does not have an xml form
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
allows(ValidationId validationId, Instant now)
Returns whether the given (assumed invalid) change is allowed by this at the momentboolean
allows(String validationIdString, Instant now)
static ValidationOverrides
fromXml(Reader reader)
Returns a ValidationOverrides instance with the content of the given Reader.static ValidationOverrides
fromXml(String xmlForm)
Returns a ValidationOverrides instance with the content of the given XML string.void
invalid(ValidationId validationId, String message, Instant now)
Throws a ValidationException unless this validation is overridden at this timevoid
invalid(Map<ValidationId,? extends Collection<String>> messagesByValidationId, Instant now)
Throws a ValidationException unless all given validation is overridden at this timestatic String
toAllowMessage(ValidationId id)
boolean
validate(Instant now)
Validates overrides (checks 'until' date')String
xmlForm()
Returns the XML form of this, or null if it was not created by fromXml, nor is empty
-
-
-
Field Detail
-
empty
public static final ValidationOverrides empty
-
-
Constructor Detail
-
ValidationOverrides
public ValidationOverrides(List<ValidationOverrides.Allow> overrides)
Creates a validation overrides which does not have an xml form
-
-
Method Detail
-
invalid
public void invalid(Map<ValidationId,? extends Collection<String>> messagesByValidationId, Instant now)
Throws a ValidationException unless all given validation is overridden at this time
-
invalid
public void invalid(ValidationId validationId, String message, Instant now)
Throws a ValidationException unless this validation is overridden at this time
-
allows
public boolean allows(ValidationId validationId, Instant now)
Returns whether the given (assumed invalid) change is allowed by this at the moment
-
validate
public boolean validate(Instant now)
Validates overrides (checks 'until' date')
-
xmlForm
public String xmlForm()
Returns the XML form of this, or null if it was not created by fromXml, nor is empty
-
toAllowMessage
public static String toAllowMessage(ValidationId id)
-
fromXml
public static ValidationOverrides fromXml(Reader reader)
Returns a ValidationOverrides instance with the content of the given Reader.- Parameters:
reader
- the reader containing a validation-overrides XML structure- Returns:
- a ValidationOverrides from the argument
- Throws:
IllegalArgumentException
- if the validation-allows.xml file exists but is invalid
-
fromXml
public static ValidationOverrides fromXml(String xmlForm)
Returns a ValidationOverrides instance with the content of the given XML string. An empty ValidationOverrides is returned if the argument is empty.- Parameters:
xmlForm
- the string which optionally contains a validation-overrides XML structure- Returns:
- a ValidationOverrides from the argument
- Throws:
IllegalArgumentException
- if the validation-allows.xml file exists but is invalid
-
-