diff --git a/4.8.1/api/allclasses-index.html b/4.8.1/api/allclasses-index.html new file mode 100644 index 00000000..483794b5 --- /dev/null +++ b/4.8.1/api/allclasses-index.html @@ -0,0 +1,227 @@ + + + + +All Classes and Interfaces (validation-parent 4.8.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

All Classes and Interfaces

+
+
+
+
+
+
Class
+
Description
+ +
+
Context object to allow configuring validation behaviour.
+
+ +
+
Primary TraversableResolver that takes into account all configured TraversableResolver instances.
+
+ +
+
Default ExceptionHandler for ConstraintViolationException.
+
+ +
+
Constraint validator that can be used at either runtime or compilation time and + is capable of validation Constraint instances.
+
+ +
+
Subset of the ConstraintValidatorContext interface without the unnecessary parts.
+
+ +
+
Interface for a class that is a registry of contraint validator.
+
+ +
+
Abstract implementation of a validator for DecimalMax.
+
+ +
+
Abstract implementation of a validator for DecimalMin.
+
+ +
+
Default implementation of AnnotatedElementValidator.
+
+ +
+
The default clock provider.
+
+ +
+
A factory bean that contains implementation for many of the default validations.
+
+ +
+
Key for caching validators.
+
+ +
+
The default implementation of InternalConstraintValidatorFactory.
+
+ +
+
The default error messages.
+
+ +
+
The default error messages.
+
+ +
+
Default implementation of the Validator interface.
+
+ +
+
The default configuration for the validator.
+
+ +
+
Default validator factory implementation.
+
+ +
+
The default value extractors.
+
+ +
+
Abstract Digits validator implementation.
+
+ +
+
Forked from Hibernate Validator.
+
+ +
+
Provides Email validation.
+
+ +
+
Extended version of ExecutableValidator that operates on ExecutableMethod instances.
+
+ +
+
Internal version of ConstraintValidatorFactory.
+
+ +
+
Resolves the Locale for the DefaultMessageInterpolator.
+
+ +
+
The visitor add property indexes for the validated annotations.
+
+ +
+
Validator for the Pattern annotation.
+
+ +
+
Interface for reactive bean validation.
+
+ +
+
Abstract implementation of a Size validator.
+
+ +
+
Around advice that ensures an objects methods are validated.
+
+ +
+
Internal annotation used to trigger cascading.
+
+ +
+
A MethodInterceptor that validates method invocations.
+
+ +
+
The validation annotations remapper.
+
+ +
+
Internal validation utils.
+
+ +
+
The visitor creates annotations utilized by the Validator.
+
+ +
+
Extended version of the Valid interface for Micronaut's implementation.
+
+ +
+
Configuration for the Validator.
+
+ +
+
The value extractor definition.
+
+ +
+
Registry of value extractors.
+
+
+
+
+
+
+
+ + diff --git a/4.8.1/api/allpackages-index.html b/4.8.1/api/allpackages-index.html new file mode 100644 index 00000000..a8170ff5 --- /dev/null +++ b/4.8.1/api/allpackages-index.html @@ -0,0 +1,86 @@ + + + + +All Packages (validation-parent 4.8.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

All Packages

+
+
Package Summary
+ +
+
+
+ + diff --git a/4.8.1/api/constant-values.html b/4.8.1/api/constant-values.html new file mode 100644 index 00000000..dc251fad --- /dev/null +++ b/4.8.1/api/constant-values.html @@ -0,0 +1,93 @@ + + + + +Constant Field Values (validation-parent 4.8.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Constant Field Values

+
+

Contents

+ +
+
+
+

io.micronaut.*

+ +
+
+
+
+ + diff --git a/4.8.1/api/deprecated-list.html b/4.8.1/api/deprecated-list.html new file mode 100644 index 00000000..e4bd947f --- /dev/null +++ b/4.8.1/api/deprecated-list.html @@ -0,0 +1,112 @@ + + + + +Deprecated List (validation-parent 4.8.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Deprecated API

+

Contents

+ +
+ + + +
+
+
+ + diff --git a/4.8.1/api/element-list b/4.8.1/api/element-list new file mode 100644 index 00000000..a8598fd8 --- /dev/null +++ b/4.8.1/api/element-list @@ -0,0 +1,10 @@ +io.micronaut.validation +io.micronaut.validation.annotation +io.micronaut.validation.exceptions +io.micronaut.validation.transformer +io.micronaut.validation.validator +io.micronaut.validation.validator.constraints +io.micronaut.validation.validator.extractors +io.micronaut.validation.validator.messages +io.micronaut.validation.validator.resolver +io.micronaut.validation.visitor diff --git a/4.8.1/api/help-doc.html b/4.8.1/api/help-doc.html new file mode 100644 index 00000000..4dd84820 --- /dev/null +++ b/4.8.1/api/help-doc.html @@ -0,0 +1,186 @@ + + + + +API Help (validation-parent 4.8.1 API) + + + + + + + + + + + + + + +
+ +
+
+

JavaDoc Help

+ +
+
+

Navigation

+Starting from the Overview page, you can browse the documentation using the links in each page, and in the navigation bar at the top of each page. The Index and Search box allow you to navigate to specific declarations and summary pages, including: All Packages, All Classes and Interfaces + +
+
+
+

Kinds of Pages

+The following sections describe the different kinds of pages in this collection. +
+

Overview

+

The Overview page is the front page of this API document and provides a list of all packages with a summary for each. This page can also contain an overall description of the set of packages.

+
+
+

Package

+

Each package has a page that contains a list of its classes and interfaces, with a summary for each. These pages may contain the following categories:

+
    +
  • Interfaces
  • +
  • Classes
  • +
  • Enum Classes
  • +
  • Exceptions
  • +
  • Errors
  • +
  • Annotation Interfaces
  • +
+
+
+

Class or Interface

+

Each class, interface, nested class and nested interface has its own separate page. Each of these pages has three sections consisting of a declaration and description, member summary tables, and detailed member descriptions. Entries in each of these sections are omitted if they are empty or not applicable.

+
    +
  • Class Inheritance Diagram
  • +
  • Direct Subclasses
  • +
  • All Known Subinterfaces
  • +
  • All Known Implementing Classes
  • +
  • Class or Interface Declaration
  • +
  • Class or Interface Description
  • +
+
+
    +
  • Nested Class Summary
  • +
  • Enum Constant Summary
  • +
  • Field Summary
  • +
  • Property Summary
  • +
  • Constructor Summary
  • +
  • Method Summary
  • +
  • Required Element Summary
  • +
  • Optional Element Summary
  • +
+
+
    +
  • Enum Constant Details
  • +
  • Field Details
  • +
  • Property Details
  • +
  • Constructor Details
  • +
  • Method Details
  • +
  • Element Details
  • +
+

Note: Annotation interfaces have required and optional elements, but not methods. Only enum classes have enum constants. The components of a record class are displayed as part of the declaration of the record class. Properties are a feature of JavaFX.

+

The summary entries are alphabetical, while the detailed descriptions are in the order they appear in the source code. This preserves the logical groupings established by the programmer.

+
+
+

Other Files

+

Packages and modules may contain pages with additional information related to the declarations nearby.

+
+
+

Tree (Class Hierarchy)

+

There is a Class Hierarchy page for all packages, plus a hierarchy for each package. Each hierarchy page contains a list of classes and a list of interfaces. Classes are organized by inheritance structure starting with java.lang.Object. Interfaces do not inherit from java.lang.Object.

+
    +
  • When viewing the Overview page, clicking on TREE displays the hierarchy for all packages.
  • +
  • When viewing a particular package, class or interface page, clicking on TREE displays the hierarchy for only that package.
  • +
+
+
+

Deprecated API

+

The Deprecated API page lists all of the API that have been deprecated. A deprecated API is not recommended for use, generally due to shortcomings, and a replacement API is usually given. Deprecated APIs may be removed in future implementations.

+
+
+

Constant Field Values

+

The Constant Field Values page lists the static final fields and their values.

+
+
+

All Packages

+

The All Packages page contains an alphabetic index of all packages contained in the documentation.

+
+
+

All Classes and Interfaces

+

The All Classes and Interfaces page contains an alphabetic index of all classes and interfaces contained in the documentation, including annotation interfaces, enum classes, and record classes.

+
+
+

Index

+

The Index contains an alphabetic index of all classes, interfaces, constructors, methods, and fields in the documentation, as well as summary pages such as All Packages, All Classes and Interfaces.

+
+
+
+This help file applies to API documentation generated by the standard doclet.
+
+
+ + diff --git a/4.8.1/api/index-all.html b/4.8.1/api/index-all.html new file mode 100644 index 00000000..7474b18e --- /dev/null +++ b/4.8.1/api/index-all.html @@ -0,0 +1,905 @@ + + + + +Index (validation-parent 4.8.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A B C D E F G H I M P R S T U V 
All Classes and Interfaces|All Packages|Constant Field Values +

A

+
+
addValueExtractor(ValueExtractorDefinition<T>) - Method in class io.micronaut.validation.validator.extractors.DefaultValueExtractors
+
 
+
addValueExtractor(ValueExtractorDefinition<T>) - Method in interface io.micronaut.validation.validator.extractors.ValueExtractorRegistry
+
 
+
addValueExtractor(ValueExtractor<?>) - Method in class io.micronaut.validation.validator.DefaultValidatorConfiguration
+
 
+
ANN_CONSTRAINT - Static variable in interface io.micronaut.validation.validator.Validator
+
+
Annotation used to define a constraint.
+
+
ANN_VALID - Static variable in interface io.micronaut.validation.validator.Validator
+
+
Annotation used to define an object as valid.
+
+
+

B

+
+
BeanValidationContext - Interface in io.micronaut.validation.validator
+
+
Context object to allow configuring validation behaviour.
+
+
buildMessage(ConstraintViolation<?>) - Method in class io.micronaut.validation.exceptions.ConstraintExceptionHandler
+
+
Builds a message based on the provided violation.
+
+
+

C

+
+
clockProvider(ClockProvider) - Method in class io.micronaut.validation.validator.DefaultValidatorConfiguration
+
 
+
close() - Method in class io.micronaut.validation.validator.DefaultValidatorFactory
+
 
+
CompositeTraversableResolver - Class in io.micronaut.validation.validator.resolver
+
+
Primary TraversableResolver that takes into account all configured TraversableResolver instances.
+
+
CompositeTraversableResolver(List<TraversableResolver>) - Constructor for class io.micronaut.validation.validator.resolver.CompositeTraversableResolver
+
+
Default constructor.
+
+
CONSTRAINT_VALIDATED_BY - Static variable in interface io.micronaut.validation.validator.ValidationAnnotationUtil
+
 
+
ConstraintExceptionHandler - Class in io.micronaut.validation.exceptions
+
+
Default ExceptionHandler for ConstraintViolationException.
+
+
ConstraintExceptionHandler(ErrorResponseProcessor<?>) - Constructor for class io.micronaut.validation.exceptions.ConstraintExceptionHandler
+
+
Constructor.
+
+
constraintType() - Method in record class io.micronaut.validation.validator.constraints.DefaultConstraintValidators.ValidatorKey
+
+
Returns the value of the constraintType record component.
+
+
ConstraintValidator<A extends Annotation,T> - Interface in io.micronaut.validation.validator.constraints
+
+
Constraint validator that can be used at either runtime or compilation time and + is capable of validation Constraint instances.
+
+
ConstraintValidatorContext - Interface in io.micronaut.validation.validator.constraints
+
+
Subset of the ConstraintValidatorContext interface without the unnecessary parts.
+
+
constraintValidatorFactory(ConstraintValidatorFactory) - Method in class io.micronaut.validation.validator.DefaultValidatorConfiguration
+
 
+
ConstraintValidatorRegistry - Interface in io.micronaut.validation.validator.constraints
+
+
Interface for a class that is a registry of contraint validator.
+
+
containerType() - Method in record class io.micronaut.validation.validator.extractors.ValueExtractorDefinition
+
+
Returns the value of the containerType record component.
+
+
createValid(Class<T>, Object...) - Method in class io.micronaut.validation.validator.DefaultValidator
+
 
+
createValid(Class<T>, Object...) - Method in interface io.micronaut.validation.validator.ExecutableMethodValidator
+
+
Create a new valid instance.
+
+
+

D

+
+
DecimalMaxValidator<T> - Interface in io.micronaut.validation.validator.constraints
+
+
Abstract implementation of a validator for DecimalMax.
+
+
DecimalMinValidator<T> - Interface in io.micronaut.validation.validator.constraints
+
+
Abstract implementation of a validator for DecimalMin.
+
+
DEFAULT - Static variable in interface io.micronaut.validation.validator.BeanValidationContext
+
+
The default validation context.
+
+
DefaultAnnotatedElementValidator - Class in io.micronaut.validation.validator
+
+
Default implementation of AnnotatedElementValidator.
+
+
DefaultAnnotatedElementValidator() - Constructor for class io.micronaut.validation.validator.DefaultAnnotatedElementValidator
+
+
Default constructor.
+
+
DefaultClockProvider - Class in io.micronaut.validation.validator
+
+
The default clock provider.
+
+
DefaultClockProvider() - Constructor for class io.micronaut.validation.validator.DefaultClockProvider
+
 
+
DefaultConstraintValidators - Class in io.micronaut.validation.validator.constraints
+
+
A factory bean that contains implementation for many of the default validations.
+
+
DefaultConstraintValidators() - Constructor for class io.micronaut.validation.validator.constraints.DefaultConstraintValidators
+
+
Default constructor.
+
+
DefaultConstraintValidators(BeanContext) - Constructor for class io.micronaut.validation.validator.constraints.DefaultConstraintValidators
+
+
Constructor used for DI.
+
+
DefaultConstraintValidators.ValidatorKey - Record Class in io.micronaut.validation.validator.constraints
+
+
Key for caching validators.
+
+
DefaultInternalConstraintValidatorFactory - Class in io.micronaut.validation.validator.constraints
+
+
The default implementation of InternalConstraintValidatorFactory.
+
+
DefaultInternalConstraintValidatorFactory(BeanContext) - Constructor for class io.micronaut.validation.validator.constraints.DefaultInternalConstraintValidatorFactory
+
 
+
DefaultInternalConstraintValidatorFactory(BeanIntrospector, BeanContext) - Constructor for class io.micronaut.validation.validator.constraints.DefaultInternalConstraintValidatorFactory
+
 
+
DefaultMessageInterpolator - Class in io.micronaut.validation.validator.messages
+
+
The default error messages.
+
+
DefaultMessageInterpolator(MessageSource) - Constructor for class io.micronaut.validation.validator.messages.DefaultMessageInterpolator
+
+
Deprecated, for removal: This API element is subject to removal in a future version. + +
+
+
DefaultMessageInterpolator(MessageSource, InterpolatorLocaleResolver) - Constructor for class io.micronaut.validation.validator.messages.DefaultMessageInterpolator
+
 
+
DefaultMessages - Class in io.micronaut.validation.validator.messages
+
+
The default error messages.
+
+
DefaultMessages() - Constructor for class io.micronaut.validation.validator.messages.DefaultMessages
+
+
Constructs the default error messages.
+
+
DefaultValidator - Class in io.micronaut.validation.validator
+
+
Default implementation of the Validator interface.
+
+
DefaultValidator(ValidatorConfiguration) - Constructor for class io.micronaut.validation.validator.DefaultValidator
+
+
Default constructor.
+
+
DefaultValidatorConfiguration - Class in io.micronaut.validation.validator
+
+
The default configuration for the validator.
+
+
DefaultValidatorConfiguration() - Constructor for class io.micronaut.validation.validator.DefaultValidatorConfiguration
+
 
+
DefaultValidatorFactory - Class in io.micronaut.validation.validator
+
+
Default validator factory implementation.
+
+
DefaultValidatorFactory() - Constructor for class io.micronaut.validation.validator.DefaultValidatorFactory
+
+
The constructor.
+
+
DefaultValidatorFactory(ValidatorConfiguration) - Constructor for class io.micronaut.validation.validator.DefaultValidatorFactory
+
+
The constructor.
+
+
DefaultValidatorFactory(Validator, ValidatorConfiguration) - Constructor for class io.micronaut.validation.validator.DefaultValidatorFactory
+
+
Default constructor.
+
+
DefaultValueExtractors - Class in io.micronaut.validation.validator.extractors
+
+
The default value extractors.
+
+
DefaultValueExtractors() - Constructor for class io.micronaut.validation.validator.extractors.DefaultValueExtractors
+
+
Default constructor.
+
+
DefaultValueExtractors(BeanContext) - Constructor for class io.micronaut.validation.validator.extractors.DefaultValueExtractors
+
+
Constructor used during DI.
+
+
DigitsValidator<T> - Interface in io.micronaut.validation.validator.constraints
+
+
Abstract Digits validator implementation.
+
+
doComparison(T, BigDecimal) - Method in interface io.micronaut.validation.validator.constraints.DecimalMaxValidator
+
+
Perform the comparison for the given value.
+
+
doComparison(T, BigDecimal) - Method in interface io.micronaut.validation.validator.constraints.DecimalMinValidator
+
+
Perform the comparison for the given value.
+
+
DomainNameUtil - Class in io.micronaut.validation.validator.constraints
+
+
Forked from Hibernate Validator.
+
+
+

E

+
+
EmailValidator - Class in io.micronaut.validation.validator.constraints
+
+
Provides Email validation.
+
+
EmailValidator() - Constructor for class io.micronaut.validation.validator.constraints.EmailValidator
+
 
+
ENABLED - Static variable in interface io.micronaut.validation.validator.ValidatorConfiguration
+
+
Whether the validator is enabled.
+
+
equals(Object) - Method in record class io.micronaut.validation.validator.constraints.DefaultConstraintValidators.ValidatorKey
+
+
Indicates whether some other object is "equal to" this one.
+
+
equals(Object) - Method in record class io.micronaut.validation.validator.extractors.ValueExtractorDefinition
+
+
Indicates whether some other object is "equal to" this one.
+
+
ExecutableMethodValidator - Interface in io.micronaut.validation.validator
+
+
Extended version of ExecutableValidator that operates on ExecutableMethod instances.
+
+
+

F

+
+
findConstraintValidator(Class<A>, Class<T>) - Method in interface io.micronaut.validation.validator.constraints.ConstraintValidatorRegistry
+
+
Finds a constraint validator for the given type and target type.
+
+
findConstraintValidator(Class<A>, Class<T>) - Method in class io.micronaut.validation.validator.constraints.DefaultConstraintValidators
+
 
+
findLocalConstraintValidator(Class<A>, Class<T>) - Method in class io.micronaut.validation.validator.constraints.DefaultConstraintValidators
+
+
Last chance resolve for constraint validator.
+
+
findValueExtractors(Class<T>) - Method in class io.micronaut.validation.validator.extractors.DefaultValueExtractors
+
 
+
findValueExtractors(Class<T>) - Method in interface io.micronaut.validation.validator.extractors.ValueExtractorRegistry
+
+
Finds ValueExtractors for the given type.
+
+
forExecutables() - Method in class io.micronaut.validation.validator.DefaultValidator
+
 
+
forExecutables() - Method in interface io.micronaut.validation.validator.Validator
+
+
Overridden variation that returns a ExecutableMethodValidator.
+
+
fromGroups(Class<?>...) - Static method in interface io.micronaut.validation.validator.BeanValidationContext
+
+
Create a validation context from the given groups.
+
+
+

G

+
+
getBeanIntrospection(Class<T>) - Method in class io.micronaut.validation.validator.DefaultValidator
+
+
Looks up a bean introspection for the given object.
+
+
getBeanIntrospection(T) - Method in class io.micronaut.validation.validator.DefaultValidator
+
+
Looks up a bean introspection for the given object.
+
+
getBeanIntrospection(T, Class<T>) - Method in class io.micronaut.validation.validator.DefaultValidator
+
+
looks up a bean introspection for the given object by instance's class or defined class.
+
+
getBeanIntrospector() - Method in class io.micronaut.validation.validator.DefaultValidator
+
 
+
getBeanIntrospector() - Method in class io.micronaut.validation.validator.DefaultValidatorConfiguration
+
 
+
getBeanIntrospector() - Method in interface io.micronaut.validation.validator.ValidatorConfiguration
+
+
The bean introspector.
+
+
getBigDecimal(T) - Method in interface io.micronaut.validation.validator.constraints.DigitsValidator
+
+
Resolve a big decimal for the given value.
+
+
getClassFromType(Type) - Static method in class io.micronaut.validation.validator.DefaultValidatorConfiguration
+
 
+
getClock() - Method in class io.micronaut.validation.validator.DefaultClockProvider
+
 
+
getClockProvider() - Method in interface io.micronaut.validation.validator.constraints.ConstraintValidatorContext
+
+
Returns the provider for obtaining the current time in the form of a Clock, + e.g.
+
+
getClockProvider() - Method in class io.micronaut.validation.validator.DefaultValidatorConfiguration
+
 
+
getClockProvider() - Method in class io.micronaut.validation.validator.DefaultValidatorFactory
+
 
+
getClockProvider() - Method in interface io.micronaut.validation.validator.ValidatorConfiguration
+
 
+
getConstraintsForClass(Class<?>) - Method in class io.micronaut.validation.validator.DefaultValidator
+
 
+
getConstraintValidator(Class<A>, Class<T>) - Method in interface io.micronaut.validation.validator.constraints.ConstraintValidatorRegistry
+
+
Finds a constraint validator for the given type and target type.
+
+
getConstraintValidatorFactory() - Method in class io.micronaut.validation.validator.DefaultValidatorConfiguration
+
 
+
getConstraintValidatorFactory() - Method in class io.micronaut.validation.validator.DefaultValidatorFactory
+
 
+
getConstraintValidatorFactory() - Method in interface io.micronaut.validation.validator.ValidatorConfiguration
+
 
+
getConstraintValidatorRegistry() - Method in class io.micronaut.validation.validator.DefaultValidatorConfiguration
+
 
+
getConstraintValidatorRegistry() - Method in interface io.micronaut.validation.validator.ValidatorConfiguration
+
 
+
getConversionService() - Method in class io.micronaut.validation.validator.DefaultValidatorConfiguration
+
 
+
getDefaultClockProvider() - Method in class io.micronaut.validation.validator.DefaultValidatorConfiguration
+
 
+
getDefaultClockProvider() - Method in interface io.micronaut.validation.validator.ValidatorConfiguration
+
 
+
getDefaultMessageInterpolator() - Method in class io.micronaut.validation.validator.DefaultValidatorConfiguration
+
 
+
getDefaultMessageInterpolator() - Method in interface io.micronaut.validation.validator.ValidatorConfiguration
+
 
+
getDefaultTraversableResolver() - Method in class io.micronaut.validation.validator.DefaultValidatorConfiguration
+
 
+
getDefaultTraversableResolver() - Method in interface io.micronaut.validation.validator.ValidatorConfiguration
+
 
+
getExecutionHandleLocator() - Method in class io.micronaut.validation.validator.DefaultValidatorConfiguration
+
 
+
getExecutionHandleLocator() - Method in interface io.micronaut.validation.validator.ValidatorConfiguration
+
+
The execution handler locator to use.
+
+
getInstance() - Static method in interface io.micronaut.validation.validator.Validator
+
+
Constructs a new default instance.
+
+
getInstance(Class<T>, Class<?>, ConstraintTarget) - Method in interface io.micronaut.validation.validator.constraints.InternalConstraintValidatorFactory
+
+
Find an instance ConstraintValidator.
+
+
getInstance(Class<T>) - Method in class io.micronaut.validation.validator.constraints.DefaultInternalConstraintValidatorFactory
+
 
+
getInstance(Class<T>, Class<?>, ConstraintTarget) - Method in class io.micronaut.validation.validator.constraints.DefaultInternalConstraintValidatorFactory
+
 
+
getMessageInterpolator() - Method in class io.micronaut.validation.validator.DefaultValidatorConfiguration
+
 
+
getMessageInterpolator() - Method in class io.micronaut.validation.validator.DefaultValidatorFactory
+
 
+
getMessageInterpolator() - Method in interface io.micronaut.validation.validator.ValidatorConfiguration
+
 
+
getOrder() - Method in class io.micronaut.validation.ValidatingInterceptor
+
 
+
getOrder() - Method in class io.micronaut.validation.visitor.IntrospectedValidationIndexesVisitor
+
 
+
getOrder() - Method in class io.micronaut.validation.visitor.ValidationVisitor
+
 
+
getPackageName() - Method in class io.micronaut.validation.transformer.ValidationAnnotationRemapper
+
 
+
getParameterNameProvider() - Method in class io.micronaut.validation.validator.DefaultValidatorFactory
+
 
+
getRootBean() - Method in interface io.micronaut.validation.validator.constraints.ConstraintValidatorContext
+
+
In case of using this constraint validator with jakarta.validation.ConstraintValidator returns null, because JRS-303 doesn't + support passing a root bean in their validation context.
+
+
getSize(T) - Method in interface io.micronaut.validation.validator.constraints.SizeValidator
+
+
Evaluate the size for the given value.
+
+
getSupportedAnnotationNames() - Method in class io.micronaut.validation.visitor.IntrospectedValidationIndexesVisitor
+
 
+
getSupportedAnnotationNames() - Method in class io.micronaut.validation.visitor.ValidationVisitor
+
 
+
getTraversableResolver() - Method in class io.micronaut.validation.validator.DefaultValidatorConfiguration
+
 
+
getTraversableResolver() - Method in class io.micronaut.validation.validator.DefaultValidatorFactory
+
 
+
getTraversableResolver() - Method in interface io.micronaut.validation.validator.ValidatorConfiguration
+
 
+
getValidator() - Method in class io.micronaut.validation.validator.DefaultValidatorConfiguration
+
 
+
getValidator() - Method in class io.micronaut.validation.validator.DefaultValidatorFactory
+
 
+
getValueExtractorRegistry() - Method in class io.micronaut.validation.validator.DefaultValidatorConfiguration
+
 
+
getValueExtractorRegistry() - Method in interface io.micronaut.validation.validator.ValidatorConfiguration
+
 
+
getVisitorKind() - Method in class io.micronaut.validation.visitor.IntrospectedValidationIndexesVisitor
+
 
+
getVisitorKind() - Method in class io.micronaut.validation.visitor.ValidationVisitor
+
 
+
groups() - Element in annotation interface io.micronaut.validation.Validated
+
+
The validation groups that will be used for validation.
+
+
groups() - Method in interface io.micronaut.validation.validator.BeanValidationContext
+
+
The validation groups.
+
+
+

H

+
+
handle(HttpRequest, ConstraintViolationException) - Method in class io.micronaut.validation.exceptions.ConstraintExceptionHandler
+
 
+
hashCode() - Method in record class io.micronaut.validation.validator.constraints.DefaultConstraintValidators.ValidatorKey
+
+
Returns a hash code value for this object.
+
+
hashCode() - Method in record class io.micronaut.validation.validator.extractors.ValueExtractorDefinition
+
+
Returns a hash code value for this object.
+
+
+

I

+
+
intercept(MethodInvocationContext<Object, Object>) - Method in class io.micronaut.validation.ValidatingInterceptor
+
 
+
InternalConstraintValidatorFactory - Interface in io.micronaut.validation.validator.constraints
+
+
Internal version of ConstraintValidatorFactory.
+
+
interpolate(String, MessageInterpolator.Context) - Method in class io.micronaut.validation.validator.messages.DefaultMessageInterpolator
+
 
+
interpolate(String, MessageInterpolator.Context, Locale) - Method in class io.micronaut.validation.validator.messages.DefaultMessageInterpolator
+
 
+
InterpolatorLocaleResolver - Interface in io.micronaut.validation.validator.messages
+
+
Resolves the Locale for the DefaultMessageInterpolator.
+
+
IntrospectedValidationIndexesVisitor - Class in io.micronaut.validation.visitor
+
+
The visitor add property indexes for the validated annotations.
+
+
IntrospectedValidationIndexesVisitor() - Constructor for class io.micronaut.validation.visitor.IntrospectedValidationIndexesVisitor
+
 
+
io.micronaut.validation - package io.micronaut.validation
+
+
Validation advice and interceptors.
+
+
io.micronaut.validation.annotation - package io.micronaut.validation.annotation
+
 
+
io.micronaut.validation.exceptions - package io.micronaut.validation.exceptions
+
+
Validation exceptions.
+
+
io.micronaut.validation.transformer - package io.micronaut.validation.transformer
+
 
+
io.micronaut.validation.validator - package io.micronaut.validation.validator
+
 
+
io.micronaut.validation.validator.constraints - package io.micronaut.validation.validator.constraints
+
 
+
io.micronaut.validation.validator.extractors - package io.micronaut.validation.validator.extractors
+
 
+
io.micronaut.validation.validator.messages - package io.micronaut.validation.validator.messages
+
 
+
io.micronaut.validation.validator.resolver - package io.micronaut.validation.validator.resolver
+
 
+
io.micronaut.validation.visitor - package io.micronaut.validation.visitor
+
 
+
isCascadable(Object, Path.Node, Class<?>, Path, ElementType) - Method in class io.micronaut.validation.validator.resolver.CompositeTraversableResolver
+
 
+
isEnabled() - Method in class io.micronaut.validation.validator.DefaultValidatorConfiguration
+
 
+
isPropertyValidated(T, BeanProperty<T, Object>) - Method in interface io.micronaut.validation.validator.BeanValidationContext
+
+
Hook to allow exclusion of properties during validation.
+
+
isReachable(Object, Path.Node, Class<?>, Path, ElementType) - Method in class io.micronaut.validation.validator.resolver.CompositeTraversableResolver
+
 
+
isValid(CharSequence, AnnotationValue<Email>, ConstraintValidatorContext) - Method in class io.micronaut.validation.validator.constraints.EmailValidator
+
 
+
isValid(CharSequence, AnnotationValue<Pattern>, ConstraintValidatorContext) - Method in class io.micronaut.validation.validator.constraints.PatternValidator
+
 
+
isValid(T, AnnotationValue<A>, ConstraintValidatorContext) - Method in interface io.micronaut.validation.validator.constraints.ConstraintValidator
+
+
Implements the validation logic.
+
+
isValid(T, AnnotationValue<DecimalMax>, ConstraintValidatorContext) - Method in interface io.micronaut.validation.validator.constraints.DecimalMaxValidator
+
 
+
isValid(T, AnnotationValue<DecimalMin>, ConstraintValidatorContext) - Method in interface io.micronaut.validation.validator.constraints.DecimalMinValidator
+
 
+
isValid(T, AnnotationValue<Digits>, ConstraintValidatorContext) - Method in interface io.micronaut.validation.validator.constraints.DigitsValidator
+
 
+
isValid(T, AnnotationValue<Size>, ConstraintValidatorContext) - Method in interface io.micronaut.validation.validator.constraints.SizeValidator
+
 
+
isValid(T, ConstraintValidatorContext) - Method in interface io.micronaut.validation.validator.constraints.ConstraintValidator
+
 
+
isValidDomainAddress(String) - Static method in class io.micronaut.validation.validator.constraints.DomainNameUtil
+
+
Checks validity of a domain name.
+
+
isValidEmailDomainAddress(String) - Static method in class io.micronaut.validation.validator.constraints.DomainNameUtil
+
+
Checks the validity of the domain name used in an email.
+
+
+

M

+
+
messageInterpolator(MessageInterpolator) - Method in class io.micronaut.validation.validator.DefaultValidatorConfiguration
+
 
+
messageTemplate(String) - Method in interface io.micronaut.validation.validator.constraints.ConstraintValidatorContext
+
+
Sets a message template to be used for the validation error message.
+
+
+

P

+
+
parameterNameProvider(ParameterNameProvider) - Method in class io.micronaut.validation.validator.DefaultValidatorConfiguration
+
 
+
PatternValidator - Class in io.micronaut.validation.validator.constraints
+
+
Validator for the Pattern annotation.
+
+
PatternValidator() - Constructor for class io.micronaut.validation.validator.constraints.PatternValidator
+
 
+
POSITION - Static variable in class io.micronaut.validation.ValidatingInterceptor
+
+
The position of the interceptor.
+
+
PREFIX - Static variable in interface io.micronaut.validation.validator.ValidatorConfiguration
+
+
The prefix to use for config.
+
+
+

R

+
+
ReactiveValidator - Interface in io.micronaut.validation.validator
+
+
Interface for reactive bean validation.
+
+
releaseInstance(ConstraintValidator<?, ?>) - Method in class io.micronaut.validation.validator.constraints.DefaultInternalConstraintValidatorFactory
+
 
+
remap(AnnotationValue<?>, VisitorContext) - Method in class io.micronaut.validation.transformer.ValidationAnnotationRemapper
+
 
+
requireNonEmpty(String, String) - Static method in class io.micronaut.validation.validator.DefaultValidator
+
+
Deprecated. +
It will be private in a future version.
+
+
+
requireNonNull(String, T) - Static method in class io.micronaut.validation.validator.DefaultValidator
+
+
Deprecated. +
It will be private in a future version.
+
+
+
resolve() - Method in interface io.micronaut.validation.validator.messages.InterpolatorLocaleResolver
+
 
+
+

S

+
+
setBeanIntrospector(BeanIntrospector) - Method in class io.micronaut.validation.validator.DefaultValidatorConfiguration
+
 
+
setClockProvider(ClockProvider) - Method in class io.micronaut.validation.validator.DefaultValidatorConfiguration
+
+
Sets the clock provider to use.
+
+
setConstraintValidatorRegistry(ConstraintValidatorRegistry) - Method in class io.micronaut.validation.validator.DefaultValidatorConfiguration
+
+
Sets the constraint validator registry to use.
+
+
setConversionService(ConversionService) - Method in class io.micronaut.validation.validator.DefaultValidatorConfiguration
+
+
Sets the conversion service.
+
+
setEnabled(boolean) - Method in class io.micronaut.validation.validator.DefaultValidatorConfiguration
+
+
Sets whether Micronaut's validator is enabled.
+
+
setExecutionHandleLocator(BeanContext) - Method in class io.micronaut.validation.validator.DefaultValidatorConfiguration
+
+
Sets the execution handler locator to use.
+
+
setMessageInterpolator(MessageInterpolator) - Method in class io.micronaut.validation.validator.DefaultValidatorConfiguration
+
+
Sets the message interpolator to use.
+
+
setTraversableResolver(TraversableResolver) - Method in class io.micronaut.validation.validator.DefaultValidatorConfiguration
+
+
Sets the traversable resolver to use.
+
+
setValueExtractorRegistry(ValueExtractorRegistry) - Method in class io.micronaut.validation.validator.DefaultValidatorConfiguration
+
+
Sets the value extractor registry use.
+
+
SizeValidator<T> - Interface in io.micronaut.validation.validator.constraints
+
+
Abstract implementation of a Size validator.
+
+
+

T

+
+
targetType() - Method in record class io.micronaut.validation.validator.constraints.DefaultConstraintValidators.ValidatorKey
+
+
Returns the value of the targetType record component.
+
+
toString() - Method in record class io.micronaut.validation.validator.constraints.DefaultConstraintValidators.ValidatorKey
+
+
Returns a string representation of this record class.
+
+
toString() - Method in record class io.micronaut.validation.validator.extractors.ValueExtractorDefinition
+
+
Returns a string representation of this record class.
+
+
traversableResolver(TraversableResolver) - Method in class io.micronaut.validation.validator.DefaultValidatorConfiguration
+
 
+
typeArgumentIndex() - Method in record class io.micronaut.validation.validator.extractors.ValueExtractorDefinition
+
+
Returns the value of the typeArgumentIndex record component.
+
+
+

U

+
+
unwrap(Class<T>) - Method in class io.micronaut.validation.validator.DefaultValidator
+
 
+
unwrap(Class<T>) - Method in class io.micronaut.validation.validator.DefaultValidatorFactory
+
 
+
unwrapByDefault() - Method in record class io.micronaut.validation.validator.extractors.ValueExtractorDefinition
+
+
Returns the value of the unwrapByDefault record component.
+
+
usingContext() - Method in class io.micronaut.validation.validator.DefaultValidatorFactory
+
 
+
+

V

+
+
VALID - Static variable in interface io.micronaut.validation.validator.constraints.ConstraintValidator
+
+
A constraint validator that just returns the object as being valid.
+
+
validate(BeanIntrospection<T>, T, BeanValidationContext) - Method in interface io.micronaut.validation.validator.Validator
+
+
Validate the given introspection and object.
+
+
validate(BeanIntrospection<T>, T, Class<?>...) - Method in class io.micronaut.validation.validator.DefaultValidator
+
+
Validate the given introspection and object.
+
+
validate(BeanIntrospection<T>, T, Class<?>...) - Method in interface io.micronaut.validation.validator.Validator
+
+
Validate the given introspection and object.
+
+
validate(BeanIntrospection<T>, T, BeanValidationContext) - Method in class io.micronaut.validation.validator.DefaultValidator
+
 
+
validate(T, BeanValidationContext) - Method in interface io.micronaut.validation.validator.Validator
+
+
Validates all constraints on object.
+
+
validate(T, Class<?>...) - Method in class io.micronaut.validation.validator.DefaultValidator
+
 
+
validate(T, BeanValidationContext) - Method in class io.micronaut.validation.validator.DefaultValidator
+
 
+
validate(T, Class<?>...) - Method in interface io.micronaut.validation.validator.Validator
+
 
+
validateBean(BeanResolutionContext, BeanDefinition<T>, T) - Method in class io.micronaut.validation.validator.DefaultValidator
+
 
+
validateBeanArgument(BeanResolutionContext, InjectionPoint, Argument<T>, int, T) - Method in class io.micronaut.validation.validator.DefaultValidator
+
 
+
validateCompletionStage(CompletionStage<T>, Argument<T>, Class<?>...) - Method in class io.micronaut.validation.validator.DefaultValidator
+
 
+
validateCompletionStage(CompletionStage<T>, Argument<T>, Class<?>...) - Method in interface io.micronaut.validation.validator.ReactiveValidator
+
+
Validate the given CompletionStage by returning a new CompletionStage that validates the emitted value.
+
+
validateConstructorParameters(BeanIntrospection<? extends T>, Object[], Class<?>...) - Method in class io.micronaut.validation.validator.DefaultValidator
+
 
+
validateConstructorParameters(BeanIntrospection<? extends T>, Object[], Class<?>...) - Method in interface io.micronaut.validation.validator.ExecutableMethodValidator
+
+
Validates parameters for the given introspection and values.
+
+
validateConstructorParameters(Class<? extends T>, Argument<?>[], Object[], BeanValidationContext) - Method in interface io.micronaut.validation.validator.ExecutableMethodValidator
+
+
Validates arguments for the given bean type and constructor arguments.
+
+
validateConstructorParameters(Class<? extends T>, Argument<?>[], Object[], Class<?>[]) - Method in interface io.micronaut.validation.validator.ExecutableMethodValidator
+
+
Validates arguments for the given bean type and constructor arguments.
+
+
validateConstructorParameters(Constructor<? extends T>, Object[], Class<?>...) - Method in class io.micronaut.validation.validator.DefaultValidator
+
 
+
validateConstructorParameters(Constructor<? extends T>, Object[], Class<?>...) - Method in interface io.micronaut.validation.validator.ExecutableMethodValidator
+
 
+
validateConstructorParameters(Class<? extends T>, Argument<?>[], Object[], BeanValidationContext) - Method in class io.micronaut.validation.validator.DefaultValidator
+
 
+
validateConstructorParameters(Class<? extends T>, Argument<?>[], Object[], Class<?>[]) - Method in class io.micronaut.validation.validator.DefaultValidator
+
 
+
validateConstructorReturnValue(Constructor<? extends T>, T, Class<?>...) - Method in class io.micronaut.validation.validator.DefaultValidator
+
 
+
validateConstructorReturnValue(Constructor<? extends T>, T, Class<?>...) - Method in interface io.micronaut.validation.validator.ExecutableMethodValidator
+
 
+
Validated - Annotation Interface in io.micronaut.validation
+
+
Around advice that ensures an objects methods are validated.
+
+
validatedAnnotatedElement(AnnotatedElement, Object) - Method in class io.micronaut.validation.validator.DefaultValidator
+
 
+
ValidatedElement - Annotation Interface in io.micronaut.validation.annotation
+
+
Internal annotation used to trigger cascading.
+
+
validateParameters(T, ExecutableMethod, Object[], Class<?>...) - Method in class io.micronaut.validation.validator.DefaultValidator
+
 
+
validateParameters(T, ExecutableMethod, Object[], BeanValidationContext) - Method in interface io.micronaut.validation.validator.ExecutableMethodValidator
+
+
Validate the parameter values of the given ExecutableMethod.
+
+
validateParameters(T, ExecutableMethod, Object[], Class<?>...) - Method in interface io.micronaut.validation.validator.ExecutableMethodValidator
+
+
Validate the parameter values of the given ExecutableMethod.
+
+
validateParameters(T, ExecutableMethod, Collection<MutableArgumentValue<?>>, Class<?>...) - Method in class io.micronaut.validation.validator.DefaultValidator
+
 
+
validateParameters(T, ExecutableMethod, Collection<MutableArgumentValue<?>>, Class<?>...) - Method in interface io.micronaut.validation.validator.ExecutableMethodValidator
+
+
Validate the parameter values of the given ExecutableMethod.
+
+
validateParameters(T, Method, Object[], Class<?>...) - Method in class io.micronaut.validation.validator.DefaultValidator
+
 
+
validateParameters(T, Method, Object[], Class<?>...) - Method in interface io.micronaut.validation.validator.ExecutableMethodValidator
+
 
+
validateParameters(T, ExecutableMethod, Object[], BeanValidationContext) - Method in class io.micronaut.validation.validator.DefaultValidator
+
 
+
validateProperty(T, String, Class<?>...) - Method in class io.micronaut.validation.validator.DefaultValidator
+
 
+
validateProperty(T, String, BeanValidationContext) - Method in interface io.micronaut.validation.validator.Validator
+
+
Validates all constraints placed on the property of object + named propertyName.
+
+
validateProperty(T, String, Class<?>...) - Method in interface io.micronaut.validation.validator.Validator
+
 
+
validateProperty(T, String, BeanValidationContext) - Method in class io.micronaut.validation.validator.DefaultValidator
+
 
+
validatePublisher(ReturnType<?>, Publisher<T>, Class<?>...) - Method in class io.micronaut.validation.validator.DefaultValidator
+
 
+
validatePublisher(ReturnType<?>, Publisher<T>, Class<?>...) - Method in interface io.micronaut.validation.validator.ReactiveValidator
+
+
Validate the given publisher by returning a new Publisher that validates each emitted value.
+
+
validateReturnValue(T, ExecutableMethod<?, Object>, Object, Class<?>...) - Method in class io.micronaut.validation.validator.DefaultValidator
+
 
+
validateReturnValue(T, ExecutableMethod<?, Object>, Object, BeanValidationContext) - Method in interface io.micronaut.validation.validator.ExecutableMethodValidator
+
+
Validates the return value of a ExecutableMethod.
+
+
validateReturnValue(T, ExecutableMethod<?, Object>, Object, Class<?>...) - Method in interface io.micronaut.validation.validator.ExecutableMethodValidator
+
+
Validates the return value of a ExecutableMethod.
+
+
validateReturnValue(T, Method, Object, Class<?>...) - Method in class io.micronaut.validation.validator.DefaultValidator
+
 
+
validateReturnValue(T, Method, Object, Class<?>...) - Method in interface io.micronaut.validation.validator.ExecutableMethodValidator
+
 
+
validateReturnValue(T, ExecutableMethod<?, Object>, Object, BeanValidationContext) - Method in class io.micronaut.validation.validator.DefaultValidator
+
 
+
validateValue(Class<T>, String, Object, Class<?>...) - Method in class io.micronaut.validation.validator.DefaultValidator
+
 
+
validateValue(Class<T>, String, Object, BeanValidationContext) - Method in interface io.micronaut.validation.validator.Validator
+
+
Validates all constraints placed on the property named propertyName + of the class beanType would the property value be value.
+
+
validateValue(Class<T>, String, Object, Class<?>...) - Method in interface io.micronaut.validation.validator.Validator
+
 
+
validateValue(Class<T>, String, Object, BeanValidationContext) - Method in class io.micronaut.validation.validator.DefaultValidator
+
 
+
ValidatingInterceptor - Class in io.micronaut.validation
+
+
A MethodInterceptor that validates method invocations.
+
+
ValidatingInterceptor(Validator, ValidatorFactory, ConversionService) - Constructor for class io.micronaut.validation.ValidatingInterceptor
+
+
Creates ValidatingInterceptor from the validatorFactory.
+
+
ValidationAnnotationRemapper - Class in io.micronaut.validation.transformer
+
+
The validation annotations remapper.
+
+
ValidationAnnotationRemapper() - Constructor for class io.micronaut.validation.transformer.ValidationAnnotationRemapper
+
 
+
ValidationAnnotationUtil - Interface in io.micronaut.validation.validator
+
+
Internal validation utils.
+
+
ValidationVisitor - Class in io.micronaut.validation.visitor
+
+
The visitor creates annotations utilized by the Validator.
+
+
ValidationVisitor() - Constructor for class io.micronaut.validation.visitor.ValidationVisitor
+
 
+
Validator - Interface in io.micronaut.validation.validator
+
+
Extended version of the Valid interface for Micronaut's implementation.
+
+
ValidatorConfiguration - Interface in io.micronaut.validation.validator
+
+
Configuration for the Validator.
+
+
ValidatorKey(Class<?>, Class<?>) - Constructor for record class io.micronaut.validation.validator.constraints.DefaultConstraintValidators.ValidatorKey
+
+
Creates an instance of a ValidatorKey record class.
+
+
valueExtractor() - Method in record class io.micronaut.validation.validator.extractors.ValueExtractorDefinition
+
+
Returns the value of the valueExtractor record component.
+
+
ValueExtractorDefinition<T> - Record Class in io.micronaut.validation.validator.extractors
+
+
The value extractor definition.
+
+
ValueExtractorDefinition(Class<T>, Class<Object>, Integer, boolean, ValueExtractor<T>) - Constructor for record class io.micronaut.validation.validator.extractors.ValueExtractorDefinition
+
+
Creates an instance of a ValueExtractorDefinition record class.
+
+
ValueExtractorDefinition(Argument<ValueExtractor<T>>, ValueExtractor<T>) - Constructor for record class io.micronaut.validation.validator.extractors.ValueExtractorDefinition
+
 
+
ValueExtractorRegistry - Interface in io.micronaut.validation.validator.extractors
+
+
Registry of value extractors.
+
+
valueType() - Method in record class io.micronaut.validation.validator.extractors.ValueExtractorDefinition
+
+
Returns the value of the valueType record component.
+
+
visitClass(ClassElement, VisitorContext) - Method in class io.micronaut.validation.visitor.IntrospectedValidationIndexesVisitor
+
 
+
visitClass(ClassElement, VisitorContext) - Method in class io.micronaut.validation.visitor.ValidationVisitor
+
 
+
visitConstructor(ConstructorElement, VisitorContext) - Method in class io.micronaut.validation.visitor.ValidationVisitor
+
 
+
visitField(FieldElement, VisitorContext) - Method in class io.micronaut.validation.visitor.ValidationVisitor
+
 
+
visitMethod(MethodElement, VisitorContext) - Method in class io.micronaut.validation.visitor.ValidationVisitor
+
 
+
+A B C D E F G H I M P R S T U V 
All Classes and Interfaces|All Packages|Constant Field Values
+
+
+ + diff --git a/4.8.1/api/index.html b/4.8.1/api/index.html new file mode 100644 index 00000000..88d9a402 --- /dev/null +++ b/4.8.1/api/index.html @@ -0,0 +1,88 @@ + + + + +Overview (validation-parent 4.8.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

validation-parent 4.8.1 API

+
+ +
+
+
+ + diff --git a/4.8.1/api/io/micronaut/validation/Validated.html b/4.8.1/api/io/micronaut/validation/Validated.html new file mode 100644 index 00000000..c586ca08 --- /dev/null +++ b/4.8.1/api/io/micronaut/validation/Validated.html @@ -0,0 +1,140 @@ + + + + +Validated (validation-parent 4.8.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Interface Validated

+
+
+
+
@Documented +@Retention(RUNTIME) +@Target({TYPE,METHOD}) +@Around +@Inherited +@Type(ValidatingInterceptor.class) +public @interface Validated
+
Around advice that ensures an objects methods are validated.
+
+
Since:
+
1.0
+
Author:
+
Graeme Rocher
+
+
+
+
    + +
  • +
    +

    Optional Element Summary

    +
    Optional Elements
    +
    +
    Modifier and Type
    +
    Optional Element
    +
    Description
    +
    Class<?>[]
    + +
    +
    The validation groups that will be used for validation.
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Element Details

    +
      +
    • +
      +

      groups

      +
      Class<?>[] groups
      +
      The validation groups that will be used for validation.
      +
      +
      Returns:
      +
      The validation groups
      +
      Since:
      +
      3.5.0
      +
      +
      +
      Default:
      +
      {}
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/4.8.1/api/io/micronaut/validation/ValidatingInterceptor.html b/4.8.1/api/io/micronaut/validation/ValidatingInterceptor.html new file mode 100644 index 00000000..7cd1281a --- /dev/null +++ b/4.8.1/api/io/micronaut/validation/ValidatingInterceptor.html @@ -0,0 +1,245 @@ + + + + +ValidatingInterceptor (validation-parent 4.8.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ValidatingInterceptor

+
+
java.lang.Object +
io.micronaut.validation.ValidatingInterceptor
+
+
+
+
All Implemented Interfaces:
+
io.micronaut.aop.Interceptor<Object,Object>, io.micronaut.aop.MethodInterceptor<Object,Object>, io.micronaut.core.order.Ordered
+
+
+
@Singleton +public class ValidatingInterceptor +extends Object +implements io.micronaut.aop.MethodInterceptor<Object,Object>
+
A MethodInterceptor that validates method invocations.
+
+
Since:
+
1.0
+
Author:
+
Graeme Rocher
+
+
+
+
    + +
  • +
    +

    Field Summary

    +
    Fields
    +
    +
    Modifier and Type
    +
    Field
    +
    Description
    +
    static final int
    + +
    +
    The position of the interceptor.
    +
    +
    +
    +

    Fields inherited from interface io.micronaut.aop.Interceptor

    +ARGUMENT, CACHEABLE_LAZY_TARGET, HOTSWAP, LAZY, PROXY_TARGET
    +
    +

    Fields inherited from interface io.micronaut.core.order.Ordered

    +HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
    +
    +
  • + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    +
    ValidatingInterceptor(@Nullable Validator micronautValidator, + @Nullable jakarta.validation.ValidatorFactory validatorFactory, + io.micronaut.core.convert.ConversionService conversionService)
    +
    +
    Creates ValidatingInterceptor from the validatorFactory.
    +
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    int
    + +
     
    +
    @Nullable Object
    +
    intercept(io.micronaut.aop.MethodInvocationContext<Object,Object> context)
    +
     
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +

    Methods inherited from interface io.micronaut.aop.MethodInterceptor

    +intercept
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      POSITION

      +
      public static final int POSITION
      +
      The position of the interceptor. See Ordered
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      ValidatingInterceptor

      +
      public ValidatingInterceptor(@Nullable + @Nullable Validator micronautValidator, + @Nullable + @Nullable jakarta.validation.ValidatorFactory validatorFactory, + io.micronaut.core.convert.ConversionService conversionService)
      +
      Creates ValidatingInterceptor from the validatorFactory.
      +
      +
      Parameters:
      +
      micronautValidator - The micronaut validator use if no factory is available
      +
      validatorFactory - Factory returning initialized Validator instances
      +
      conversionService - The conversion service
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getOrder

      +
      public int getOrder()
      +
      +
      Specified by:
      +
      getOrder in interface io.micronaut.core.order.Ordered
      +
      +
      +
    • +
    • +
      +

      intercept

      +
      @Nullable +public @Nullable Object intercept(io.micronaut.aop.MethodInvocationContext<Object,Object> context)
      +
      +
      Specified by:
      +
      intercept in interface io.micronaut.aop.MethodInterceptor<Object,Object>
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/4.8.1/api/io/micronaut/validation/annotation/ValidatedElement.html b/4.8.1/api/io/micronaut/validation/annotation/ValidatedElement.html new file mode 100644 index 00000000..2cf86016 --- /dev/null +++ b/4.8.1/api/io/micronaut/validation/annotation/ValidatedElement.html @@ -0,0 +1,80 @@ + + + + +ValidatedElement (validation-parent 4.8.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Interface ValidatedElement

+
+
+
+
@Internal +@Retention(RUNTIME) +public @interface ValidatedElement
+
Internal annotation used to trigger cascading. Not for public usage.
+
+ +
+
+
+ + diff --git a/4.8.1/api/io/micronaut/validation/annotation/package-summary.html b/4.8.1/api/io/micronaut/validation/annotation/package-summary.html new file mode 100644 index 00000000..fb7c1553 --- /dev/null +++ b/4.8.1/api/io/micronaut/validation/annotation/package-summary.html @@ -0,0 +1,107 @@ + + + + +io.micronaut.validation.annotation (validation-parent 4.8.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Package io.micronaut.validation.annotation

+
+
+
package io.micronaut.validation.annotation
+
+ +
+
+
+
+ + diff --git a/4.8.1/api/io/micronaut/validation/annotation/package-tree.html b/4.8.1/api/io/micronaut/validation/annotation/package-tree.html new file mode 100644 index 00000000..a2aee85b --- /dev/null +++ b/4.8.1/api/io/micronaut/validation/annotation/package-tree.html @@ -0,0 +1,67 @@ + + + + +io.micronaut.validation.annotation Class Hierarchy (validation-parent 4.8.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package io.micronaut.validation.annotation

+Package Hierarchies: + +
+
+

Annotation Interface Hierarchy

+ +
+
+
+
+ + diff --git a/4.8.1/api/io/micronaut/validation/exceptions/ConstraintExceptionHandler.html b/4.8.1/api/io/micronaut/validation/exceptions/ConstraintExceptionHandler.html new file mode 100644 index 00000000..e8406cf6 --- /dev/null +++ b/4.8.1/api/io/micronaut/validation/exceptions/ConstraintExceptionHandler.html @@ -0,0 +1,205 @@ + + + + +ConstraintExceptionHandler (validation-parent 4.8.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ConstraintExceptionHandler

+
+
java.lang.Object +
io.micronaut.validation.exceptions.ConstraintExceptionHandler
+
+
+
+
All Implemented Interfaces:
+
io.micronaut.http.server.exceptions.ExceptionHandler<jakarta.validation.ConstraintViolationException,io.micronaut.http.HttpResponse<?>>
+
+
+
@Produces +@Singleton +@Requires(classes={jakarta.validation.ConstraintViolationException.class,io.micronaut.http.server.exceptions.ExceptionHandler.class}) +public class ConstraintExceptionHandler +extends Object +implements io.micronaut.http.server.exceptions.ExceptionHandler<jakarta.validation.ConstraintViolationException,io.micronaut.http.HttpResponse<?>>
+
Default ExceptionHandler for ConstraintViolationException.
+
+
Since:
+
1.0
+
Author:
+
Graeme Rocher
+
+
+
+
    + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    +
    ConstraintExceptionHandler(io.micronaut.http.server.exceptions.response.ErrorResponseProcessor<?> responseProcessor)
    +
    +
    Constructor.
    +
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    protected String
    +
    buildMessage(jakarta.validation.ConstraintViolation<?> violation)
    +
    +
    Builds a message based on the provided violation.
    +
    +
    io.micronaut.http.HttpResponse<?>
    +
    handle(io.micronaut.http.HttpRequest request, + jakarta.validation.ConstraintViolationException exception)
    +
     
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      ConstraintExceptionHandler

      +
      @Inject +public ConstraintExceptionHandler(io.micronaut.http.server.exceptions.response.ErrorResponseProcessor<?> responseProcessor)
      +
      Constructor.
      +
      +
      Parameters:
      +
      responseProcessor - Error Response Processor
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      handle

      +
      public io.micronaut.http.HttpResponse<?> handle(io.micronaut.http.HttpRequest request, + jakarta.validation.ConstraintViolationException exception)
      +
      +
      Specified by:
      +
      handle in interface io.micronaut.http.server.exceptions.ExceptionHandler<jakarta.validation.ConstraintViolationException,io.micronaut.http.HttpResponse<?>>
      +
      +
      +
    • +
    • +
      +

      buildMessage

      +
      protected String buildMessage(jakarta.validation.ConstraintViolation<?> violation)
      +
      Builds a message based on the provided violation.
      +
      +
      Parameters:
      +
      violation - The constraint violation
      +
      Returns:
      +
      The violation message
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/4.8.1/api/io/micronaut/validation/exceptions/package-summary.html b/4.8.1/api/io/micronaut/validation/exceptions/package-summary.html new file mode 100644 index 00000000..0f15f361 --- /dev/null +++ b/4.8.1/api/io/micronaut/validation/exceptions/package-summary.html @@ -0,0 +1,114 @@ + + + + +io.micronaut.validation.exceptions (validation-parent 4.8.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Package io.micronaut.validation.exceptions

+
+
+
package io.micronaut.validation.exceptions
+
+
Validation exceptions.
+
+
Since:
+
1.0
+
Author:
+
graemerocher
+
+
+
+ +
+
+
+
+ + diff --git a/4.8.1/api/io/micronaut/validation/exceptions/package-tree.html b/4.8.1/api/io/micronaut/validation/exceptions/package-tree.html new file mode 100644 index 00000000..5eb9ba97 --- /dev/null +++ b/4.8.1/api/io/micronaut/validation/exceptions/package-tree.html @@ -0,0 +1,71 @@ + + + + +io.micronaut.validation.exceptions Class Hierarchy (validation-parent 4.8.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package io.micronaut.validation.exceptions

+Package Hierarchies: + +
+
+

Class Hierarchy

+
    +
  • java.lang.Object +
      +
    • io.micronaut.validation.exceptions.ConstraintExceptionHandler (implements io.micronaut.http.server.exceptions.ExceptionHandler<T,R>)
    • +
    +
  • +
+
+
+
+
+ + diff --git a/4.8.1/api/io/micronaut/validation/package-summary.html b/4.8.1/api/io/micronaut/validation/package-summary.html new file mode 100644 index 00000000..99f5423d --- /dev/null +++ b/4.8.1/api/io/micronaut/validation/package-summary.html @@ -0,0 +1,124 @@ + + + + +io.micronaut.validation (validation-parent 4.8.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Package io.micronaut.validation

+
+
+
package io.micronaut.validation
+
+
Validation advice and interceptors.
+
+
Since:
+
1.0
+
Author:
+
graemerocher
+
+
+
+ +
+
+
+
+ + diff --git a/4.8.1/api/io/micronaut/validation/package-tree.html b/4.8.1/api/io/micronaut/validation/package-tree.html new file mode 100644 index 00000000..85711367 --- /dev/null +++ b/4.8.1/api/io/micronaut/validation/package-tree.html @@ -0,0 +1,77 @@ + + + + +io.micronaut.validation Class Hierarchy (validation-parent 4.8.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package io.micronaut.validation

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+
+

Annotation Interface Hierarchy

+ +
+
+
+
+ + diff --git a/4.8.1/api/io/micronaut/validation/transformer/ValidationAnnotationRemapper.html b/4.8.1/api/io/micronaut/validation/transformer/ValidationAnnotationRemapper.html new file mode 100644 index 00000000..c930f6fa --- /dev/null +++ b/4.8.1/api/io/micronaut/validation/transformer/ValidationAnnotationRemapper.html @@ -0,0 +1,196 @@ + + + + +ValidationAnnotationRemapper (validation-parent 4.8.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ValidationAnnotationRemapper

+
+
java.lang.Object +
io.micronaut.validation.transformer.ValidationAnnotationRemapper
+
+
+
+
All Implemented Interfaces:
+
io.micronaut.inject.annotation.AnnotationRemapper
+
+
+
public class ValidationAnnotationRemapper +extends Object +implements io.micronaut.inject.annotation.AnnotationRemapper
+
The validation annotations remapper.
+
+
Author:
+
Denis Stepanov
+
+
+
+
    + +
  • +
    +

    Field Summary

    +
    +

    Fields inherited from interface io.micronaut.inject.annotation.AnnotationRemapper

    +ALL_PACKAGES
    +
    +
  • + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    + +
     
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + + +
     
    +
    List<io.micronaut.core.annotation.AnnotationValue<?>>
    +
    remap(io.micronaut.core.annotation.AnnotationValue<?> annotation, + io.micronaut.inject.visitor.VisitorContext visitorContext)
    +
     
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      ValidationAnnotationRemapper

      +
      public ValidationAnnotationRemapper()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getPackageName

      +
      public String getPackageName()
      +
      +
      Specified by:
      +
      getPackageName in interface io.micronaut.inject.annotation.AnnotationRemapper
      +
      +
      +
    • +
    • +
      +

      remap

      +
      public List<io.micronaut.core.annotation.AnnotationValue<?>> remap(io.micronaut.core.annotation.AnnotationValue<?> annotation, + io.micronaut.inject.visitor.VisitorContext visitorContext)
      +
      +
      Specified by:
      +
      remap in interface io.micronaut.inject.annotation.AnnotationRemapper
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/4.8.1/api/io/micronaut/validation/transformer/package-summary.html b/4.8.1/api/io/micronaut/validation/transformer/package-summary.html new file mode 100644 index 00000000..a3993c65 --- /dev/null +++ b/4.8.1/api/io/micronaut/validation/transformer/package-summary.html @@ -0,0 +1,107 @@ + + + + +io.micronaut.validation.transformer (validation-parent 4.8.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Package io.micronaut.validation.transformer

+
+
+
package io.micronaut.validation.transformer
+
+ +
+
+
+
+ + diff --git a/4.8.1/api/io/micronaut/validation/transformer/package-tree.html b/4.8.1/api/io/micronaut/validation/transformer/package-tree.html new file mode 100644 index 00000000..d6e444a7 --- /dev/null +++ b/4.8.1/api/io/micronaut/validation/transformer/package-tree.html @@ -0,0 +1,71 @@ + + + + +io.micronaut.validation.transformer Class Hierarchy (validation-parent 4.8.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package io.micronaut.validation.transformer

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+
+
+
+ + diff --git a/4.8.1/api/io/micronaut/validation/validator/BeanValidationContext.html b/4.8.1/api/io/micronaut/validation/validator/BeanValidationContext.html new file mode 100644 index 00000000..b23c8c06 --- /dev/null +++ b/4.8.1/api/io/micronaut/validation/validator/BeanValidationContext.html @@ -0,0 +1,208 @@ + + + + +BeanValidationContext (validation-parent 4.8.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface BeanValidationContext

+
+
+
+
public interface BeanValidationContext
+
Context object to allow configuring validation behaviour.
+
+
+
    + +
  • +
    +

    Field Summary

    +
    Fields
    +
    +
    Modifier and Type
    +
    Field
    +
    Description
    + + +
    +
    The default validation context.
    +
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    static @NonNull BeanValidationContext
    +
    fromGroups(Class<?>... groups)
    +
    +
    Create a validation context from the given groups.
    +
    +
    default List<Class<?>>
    + +
    +
    The validation groups.
    +
    +
    default <T> boolean
    +
    isPropertyValidated(T object, + @NonNull io.micronaut.core.beans.BeanProperty<T,Object> property)
    +
    +
    Hook to allow exclusion of properties during validation.
    +
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Field Details

    + +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      groups

      +
      default List<Class<?>> groups()
      +
      The validation groups.
      +
      +
      Returns:
      +
      The groups
      +
      +
      +
    • +
    • +
      +

      fromGroups

      +
      @NonNull +static @NonNull BeanValidationContext fromGroups(Class<?>... groups)
      +
      Create a validation context from the given groups.
      +
      +
      Parameters:
      +
      groups - The groups
      +
      Returns:
      +
      The context
      +
      +
      +
    • +
    • +
      +

      isPropertyValidated

      +
      default <T> boolean isPropertyValidated(@NonNull + T object, + @NonNull + @NonNull io.micronaut.core.beans.BeanProperty<T,Object> property)
      +
      Hook to allow exclusion of properties during validation.
      +
      +
      Type Parameters:
      +
      T - The object type
      +
      Parameters:
      +
      object - The object being validated
      +
      property - The property being validated.
      +
      Returns:
      +
      True if it should be validated.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/4.8.1/api/io/micronaut/validation/validator/DefaultAnnotatedElementValidator.html b/4.8.1/api/io/micronaut/validation/validator/DefaultAnnotatedElementValidator.html new file mode 100644 index 00000000..4c2ade3b --- /dev/null +++ b/4.8.1/api/io/micronaut/validation/validator/DefaultAnnotatedElementValidator.html @@ -0,0 +1,164 @@ + + + + +DefaultAnnotatedElementValidator (validation-parent 4.8.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class DefaultAnnotatedElementValidator

+
+
java.lang.Object +
io.micronaut.validation.validator.DefaultValidator +
io.micronaut.validation.validator.DefaultAnnotatedElementValidator
+
+
+
+
+
All Implemented Interfaces:
+
io.micronaut.inject.annotation.AnnotatedElementValidator, io.micronaut.inject.validation.BeanDefinitionValidator, ExecutableMethodValidator, ReactiveValidator, Validator, jakarta.validation.executable.ExecutableValidator, jakarta.validation.Validator
+
+
+
@Internal +public class DefaultAnnotatedElementValidator +extends DefaultValidator +implements io.micronaut.inject.annotation.AnnotatedElementValidator
+
Default implementation of AnnotatedElementValidator. Used for discovery via + service loader and not for direct public consumption. Considered internal.
+
+
Since:
+
1.2
+
Author:
+
graemerocher
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      DefaultAnnotatedElementValidator

      +
      public DefaultAnnotatedElementValidator()
      +
      Default constructor.
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/4.8.1/api/io/micronaut/validation/validator/DefaultClockProvider.html b/4.8.1/api/io/micronaut/validation/validator/DefaultClockProvider.html new file mode 100644 index 00000000..2e84c43b --- /dev/null +++ b/4.8.1/api/io/micronaut/validation/validator/DefaultClockProvider.html @@ -0,0 +1,175 @@ + + + + +DefaultClockProvider (validation-parent 4.8.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class DefaultClockProvider

+
+
java.lang.Object +
io.micronaut.validation.validator.DefaultClockProvider
+
+
+
+
All Implemented Interfaces:
+
jakarta.validation.ClockProvider
+
+
+
@Singleton +public class DefaultClockProvider +extends Object +implements jakarta.validation.ClockProvider
+
The default clock provider.
+
+
Since:
+
1.2
+
Author:
+
graemerocher
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      DefaultClockProvider

      +
      public DefaultClockProvider()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getClock

      +
      public Clock getClock()
      +
      +
      Specified by:
      +
      getClock in interface jakarta.validation.ClockProvider
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/4.8.1/api/io/micronaut/validation/validator/DefaultValidator.html b/4.8.1/api/io/micronaut/validation/validator/DefaultValidator.html new file mode 100644 index 00000000..f7d9fc14 --- /dev/null +++ b/4.8.1/api/io/micronaut/validation/validator/DefaultValidator.html @@ -0,0 +1,1169 @@ + + + + +DefaultValidator (validation-parent 4.8.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class DefaultValidator

+
+
java.lang.Object +
io.micronaut.validation.validator.DefaultValidator
+
+
+
+
All Implemented Interfaces:
+
io.micronaut.inject.annotation.AnnotatedElementValidator, io.micronaut.inject.validation.BeanDefinitionValidator, ExecutableMethodValidator, ReactiveValidator, Validator, jakarta.validation.executable.ExecutableValidator, jakarta.validation.Validator
+
+
+
Direct Known Subclasses:
+
DefaultAnnotatedElementValidator
+
+
+
@Singleton +@Primary +@Requires(property="micronaut.validator.enabled", + value="true", + defaultValue="true") +public class DefaultValidator +extends Object +implements Validator, ExecutableMethodValidator, ReactiveValidator, io.micronaut.inject.annotation.AnnotatedElementValidator, io.micronaut.inject.validation.BeanDefinitionValidator
+
Default implementation of the Validator interface.
+
+
Since:
+
1.2
+
Author:
+
graemerocher, Andriy Dmytruk
+
+
+
+
    + +
  • +
    +

    Field Summary

    +
    +

    Fields inherited from interface io.micronaut.inject.validation.BeanDefinitionValidator

    +DEFAULT
    +
    +

    Fields inherited from interface io.micronaut.validation.validator.Validator

    +ANN_CONSTRAINT, ANN_VALID
    +
    +
  • + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    +
    DefaultValidator(@NonNull ValidatorConfiguration configuration)
    +
    +
    Default constructor.
    +
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    <T> T
    +
    createValid(@NonNull Class<T> beanType, + Object... arguments)
    +
    +
    Create a new valid instance.
    +
    + + +
    +
    Overridden variation that returns a ExecutableMethodValidator.
    +
    +
    protected <T> @Nullable io.micronaut.core.beans.BeanIntrospection<T>
    +
    getBeanIntrospection(@NonNull Class<T> type)
    +
    +
    Looks up a bean introspection for the given object.
    +
    +
    protected <T> @Nullable io.micronaut.core.beans.BeanIntrospection<T>
    + +
    +
    Looks up a bean introspection for the given object.
    +
    +
    protected <T> @Nullable io.micronaut.core.beans.BeanIntrospection<T>
    +
    getBeanIntrospection(T object, + @NonNull Class<T> definedClass)
    +
    +
    looks up a bean introspection for the given object by instance's class or defined class.
    +
    +
    io.micronaut.core.beans.BeanIntrospector
    + +
     
    +
    jakarta.validation.metadata.BeanDescriptor
    + +
     
    +
    static String
    +
    requireNonEmpty(String name, + String value)
    +
    +
    Deprecated. +
    It will be private in a future version.
    +
    +
    +
    static <T> T
    +
    requireNonNull(String name, + T value)
    +
    +
    Deprecated. +
    It will be private in a future version.
    +
    +
    +
    <T> T
    +
    unwrap(Class<T> type)
    +
     
    +
    <T> @NonNull Set<jakarta.validation.ConstraintViolation<T>>
    +
    validate(@NonNull io.micronaut.core.beans.BeanIntrospection<T> introspection, + T object, + @NonNull Class<?>... groups)
    +
    +
    Validate the given introspection and object.
    +
    +
    <T> Set<jakarta.validation.ConstraintViolation<T>>
    +
    validate(io.micronaut.core.beans.BeanIntrospection<T> introspection, + T object, + BeanValidationContext context)
    +
    +
    Validate the given introspection and object.
    +
    +
    <T> @NonNull Set<jakarta.validation.ConstraintViolation<T>>
    +
    validate(T object, + @Nullable Class<?>... groups)
    +
     
    +
    <T> Set<jakarta.validation.ConstraintViolation<T>>
    +
    validate(T object, + BeanValidationContext validationContext)
    +
    +
    Validates all constraints on object.
    +
    +
    <T> void
    +
    validateBean(@NonNull io.micronaut.context.BeanResolutionContext resolutionContext, + @NonNull io.micronaut.inject.BeanDefinition<T> definition, + T bean)
    +
     
    +
    <T> void
    +
    validateBeanArgument(@NonNull io.micronaut.context.BeanResolutionContext resolutionContext, + @NonNull io.micronaut.inject.InjectionPoint injectionPoint, + @NonNull io.micronaut.core.type.Argument<T> argument, + int index, + T value)
    +
     
    +
    <T> @NonNull CompletionStage<T>
    +
    validateCompletionStage(@NonNull CompletionStage<T> completionStage, + @NonNull io.micronaut.core.type.Argument<T> argument, + @NonNull Class<?>... groups)
    +
    +
    Validate the given CompletionStage by returning a new CompletionStage that validates the emitted value.
    +
    +
    <T> @NonNull Set<jakarta.validation.ConstraintViolation<T>>
    +
    validateConstructorParameters(@NonNull io.micronaut.core.beans.BeanIntrospection<? extends T> introspection, + @NonNull Object[] parameterValues, + @NonNull Class<?>... groups)
    +
    +
    Validates parameters for the given introspection and values.
    +
    +
    <T> @NonNull Set<jakarta.validation.ConstraintViolation<T>>
    +
    validateConstructorParameters(@NonNull Constructor<? extends T> constructor, + @NonNull Object[] parameterValues, + @NonNull Class<?>... groups)
    +
     
    +
    <T> Set<jakarta.validation.ConstraintViolation<T>>
    +
    validateConstructorParameters(Class<? extends T> beanType, + @NonNull io.micronaut.core.type.Argument<?>[] constructorArguments, + @NonNull Object[] parameterValues, + BeanValidationContext validationContext)
    +
    +
    Validates arguments for the given bean type and constructor arguments.
    +
    +
    <T> Set<jakarta.validation.ConstraintViolation<T>>
    +
    validateConstructorParameters(Class<? extends T> beanType, + io.micronaut.core.type.Argument<?>[] constructorArguments, + @NonNull Object[] parameterValues, + @NonNull Class<?>[] groups)
    +
    +
    Validates arguments for the given bean type and constructor arguments.
    +
    +
    <T> @NonNull Set<jakarta.validation.ConstraintViolation<T>>
    +
    validateConstructorReturnValue(@NonNull Constructor<? extends T> constructor, + T createdObject, + @NonNull Class<?>... groups)
    +
     
    +
    @NonNull Set<String>
    +
    validatedAnnotatedElement(@NonNull io.micronaut.core.annotation.AnnotatedElement element, + @Nullable Object value)
    +
     
    +
    <T> @NonNull Set<jakarta.validation.ConstraintViolation<T>>
    +
    validateParameters(T object, + @NonNull io.micronaut.inject.ExecutableMethod method, + @NonNull Object[] parameterValues, + @NonNull Class<?>... groups)
    +
    +
    Validate the parameter values of the given ExecutableMethod.
    +
    +
    <T> @NonNull Set<jakarta.validation.ConstraintViolation<T>>
    +
    validateParameters(T object, + @NonNull io.micronaut.inject.ExecutableMethod method, + @NonNull Collection<io.micronaut.core.type.MutableArgumentValue<?>> argumentValues, + @NonNull Class<?>... groups)
    +
    +
    Validate the parameter values of the given ExecutableMethod.
    +
    +
    <T> @NonNull Set<jakarta.validation.ConstraintViolation<T>>
    +
    validateParameters(T object, + @NonNull Method method, + @NonNull Object[] parameterValues, + @NonNull Class<?>... groups)
    +
     
    +
    <T> Set<jakarta.validation.ConstraintViolation<T>>
    +
    validateParameters(T object, + io.micronaut.inject.ExecutableMethod method, + @NonNull Object[] parameterValues, + BeanValidationContext validationContext)
    +
    +
    Validate the parameter values of the given ExecutableMethod.
    +
    +
    <T> @NonNull Set<jakarta.validation.ConstraintViolation<T>>
    +
    validateProperty(T object, + @NonNull String propertyName, + @NonNull Class<?>... groups)
    +
     
    +
    <T> Set<jakarta.validation.ConstraintViolation<T>>
    +
    validateProperty(T object, + String propertyName, + BeanValidationContext context)
    +
    +
    Validates all constraints placed on the property of object + named propertyName.
    +
    +
    <T> @NonNull org.reactivestreams.Publisher<T>
    +
    validatePublisher(@NonNull io.micronaut.core.type.ReturnType<?> returnType, + @NonNull org.reactivestreams.Publisher<T> publisher, + @NonNull Class<?>... groups)
    +
    +
    Validate the given publisher by returning a new Publisher that validates each emitted value.
    +
    +
    <T> @NonNull Set<jakarta.validation.ConstraintViolation<T>>
    +
    validateReturnValue(T bean, + @NonNull io.micronaut.inject.ExecutableMethod<?,Object> executableMethod, + @Nullable Object returnValue, + @NonNull Class<?>... groups)
    +
    +
    Validates the return value of a ExecutableMethod.
    +
    +
    <T> @NonNull Set<jakarta.validation.ConstraintViolation<T>>
    +
    validateReturnValue(T object, + @NonNull Method method, + @Nullable Object returnValue, + @NonNull Class<?>... groups)
    +
     
    +
    <T> Set<jakarta.validation.ConstraintViolation<T>>
    +
    validateReturnValue(T bean, + io.micronaut.inject.ExecutableMethod<?,Object> executableMethod, + Object returnValue, + BeanValidationContext validationContext)
    +
    +
    Validates the return value of a ExecutableMethod.
    +
    +
    <T> @NonNull Set<jakarta.validation.ConstraintViolation<T>>
    +
    validateValue(@NonNull Class<T> beanType, + @NonNull String propertyName, + @Nullable Object value, + @NonNull Class<?>... groups)
    +
     
    +
    <T> Set<jakarta.validation.ConstraintViolation<T>>
    +
    validateValue(Class<T> beanType, + String propertyName, + Object value, + BeanValidationContext context)
    +
    +
    Validates all constraints placed on the property named propertyName + of the class beanType would the property value be value.
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      DefaultValidator

      +
      public DefaultValidator(@NonNull + @NonNull ValidatorConfiguration configuration)
      +
      Default constructor.
      +
      +
      Parameters:
      +
      configuration - The validator configuration
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getBeanIntrospector

      +
      public io.micronaut.core.beans.BeanIntrospector getBeanIntrospector()
      +
      +
      Returns:
      +
      The bean introspector
      +
      +
      +
    • +
    • +
      +

      validate

      +
      @NonNull +public <T> +@NonNull Set<jakarta.validation.ConstraintViolation<T>> validate(@NonNull + T object, + @Nullable + @Nullable Class<?>... groups)
      +
      +
      Specified by:
      +
      validate in interface Validator
      +
      Specified by:
      +
      validate in interface jakarta.validation.Validator
      +
      +
      +
    • +
    • +
      +

      validate

      +
      public <T> +Set<jakarta.validation.ConstraintViolation<T>> validate(T object, + BeanValidationContext validationContext)
      +
      Description copied from interface: Validator
      +
      Validates all constraints on object.
      +
      +
      Specified by:
      +
      validate in interface Validator
      +
      Type Parameters:
      +
      T - the type of the object to validate
      +
      Parameters:
      +
      object - object to validate
      +
      validationContext - The context
      +
      Returns:
      +
      constraint violations or an empty set if none
      +
      +
      +
    • +
    • +
      +

      validate

      +
      @NonNull +public <T> +@NonNull Set<jakarta.validation.ConstraintViolation<T>> validate(@NonNull + @NonNull io.micronaut.core.beans.BeanIntrospection<T> introspection, + @NonNull + T object, + @NonNull + @NonNull Class<?>... groups)
      +
      Validate the given introspection and object.
      +
      +
      Specified by:
      +
      validate in interface Validator
      +
      Type Parameters:
      +
      T - The object type
      +
      Parameters:
      +
      introspection - The introspection
      +
      object - The object
      +
      groups - The groups
      +
      Returns:
      +
      The constraint violations
      +
      +
      +
    • +
    • +
      +

      validate

      +
      public <T> +Set<jakarta.validation.ConstraintViolation<T>> validate(io.micronaut.core.beans.BeanIntrospection<T> introspection, + T object, + BeanValidationContext context)
      +
      Description copied from interface: Validator
      +
      Validate the given introspection and object.
      +
      +
      Specified by:
      +
      validate in interface Validator
      +
      Type Parameters:
      +
      T - The object type
      +
      Parameters:
      +
      introspection - The introspection
      +
      object - The object
      +
      context - The context
      +
      Returns:
      +
      The constraint violations
      +
      +
      +
    • +
    • +
      +

      validateProperty

      +
      @NonNull +public <T> +@NonNull Set<jakarta.validation.ConstraintViolation<T>> validateProperty(@NonNull + T object, + @NonNull + @NonNull String propertyName, + @NonNull + @NonNull Class<?>... groups)
      +
      +
      Specified by:
      +
      validateProperty in interface Validator
      +
      Specified by:
      +
      validateProperty in interface jakarta.validation.Validator
      +
      +
      +
    • +
    • +
      +

      validateProperty

      +
      public <T> +Set<jakarta.validation.ConstraintViolation<T>> validateProperty(T object, + String propertyName, + BeanValidationContext context)
      +
      Description copied from interface: Validator
      +
      Validates all constraints placed on the property of object + named propertyName.
      +
      +
      Specified by:
      +
      validateProperty in interface Validator
      +
      Type Parameters:
      +
      T - the type of the object to validate
      +
      Parameters:
      +
      object - object to validate
      +
      propertyName - property to validate (i.e. field and getter constraints)
      +
      context - The context
      +
      Returns:
      +
      constraint violations or an empty set if none
      +
      +
      +
    • +
    • +
      +

      validateValue

      +
      @NonNull +public <T> +@NonNull Set<jakarta.validation.ConstraintViolation<T>> validateValue(@NonNull + @NonNull Class<T> beanType, + @NonNull + @NonNull String propertyName, + @Nullable + @Nullable Object value, + @NonNull + @NonNull Class<?>... groups)
      +
      +
      Specified by:
      +
      validateValue in interface Validator
      +
      Specified by:
      +
      validateValue in interface jakarta.validation.Validator
      +
      +
      +
    • +
    • +
      +

      validateValue

      +
      public <T> +Set<jakarta.validation.ConstraintViolation<T>> validateValue(Class<T> beanType, + String propertyName, + Object value, + BeanValidationContext context)
      +
      Description copied from interface: Validator
      +
      Validates all constraints placed on the property named propertyName + of the class beanType would the property value be value. +

      + ConstraintViolation objects return null for + ConstraintViolation.getRootBean() and + ConstraintViolation.getLeafBean().

      +
      +
      Specified by:
      +
      validateValue in interface Validator
      +
      Type Parameters:
      +
      T - the type of the object to validate
      +
      Parameters:
      +
      beanType - the bean type
      +
      propertyName - property to validate
      +
      value - property value to validate
      +
      context - The context
      +
      Returns:
      +
      constraint violations or an empty set if none
      +
      +
      +
    • +
    • +
      +

      validatedAnnotatedElement

      +
      @NonNull +public @NonNull Set<String> validatedAnnotatedElement(@NonNull + @NonNull io.micronaut.core.annotation.AnnotatedElement element, + @Nullable + @Nullable Object value)
      +
      +
      Specified by:
      +
      validatedAnnotatedElement in interface io.micronaut.inject.annotation.AnnotatedElementValidator
      +
      +
      +
    • +
    • +
      +

      createValid

      +
      @NonNull +public <T> T createValid(@NonNull + @NonNull Class<T> beanType, + Object... arguments) + throws jakarta.validation.ConstraintViolationException
      +
      Description copied from interface: ExecutableMethodValidator
      +
      Create a new valid instance.
      +
      +
      Specified by:
      +
      createValid in interface ExecutableMethodValidator
      +
      Type Parameters:
      +
      T - the generic type
      +
      Parameters:
      +
      beanType - The type
      +
      arguments - The arguments
      +
      Returns:
      +
      The instance
      +
      Throws:
      +
      jakarta.validation.ConstraintViolationException - If a valid instance couldn't be constructed
      +
      +
      +
    • +
    • +
      +

      getConstraintsForClass

      +
      public jakarta.validation.metadata.BeanDescriptor getConstraintsForClass(Class<?> clazz)
      +
      +
      Specified by:
      +
      getConstraintsForClass in interface jakarta.validation.Validator
      +
      +
      +
    • +
    • +
      +

      unwrap

      +
      public <T> T unwrap(Class<T> type)
      +
      +
      Specified by:
      +
      unwrap in interface jakarta.validation.Validator
      +
      +
      +
    • +
    • +
      +

      forExecutables

      +
      @NonNull +public @NonNull ExecutableMethodValidator forExecutables()
      +
      Description copied from interface: Validator
      +
      Overridden variation that returns a ExecutableMethodValidator.
      +
      +
      Specified by:
      +
      forExecutables in interface Validator
      +
      Specified by:
      +
      forExecutables in interface jakarta.validation.Validator
      +
      Returns:
      +
      The validator
      +
      +
      +
    • +
    • +
      +

      validateParameters

      +
      @NonNull +public <T> +@NonNull Set<jakarta.validation.ConstraintViolation<T>> validateParameters(@NonNull + T object, + @NonNull + @NonNull io.micronaut.inject.ExecutableMethod method, + @NonNull + @NonNull Object[] parameterValues, + @NonNull + @NonNull Class<?>... groups)
      +
      Description copied from interface: ExecutableMethodValidator
      +
      Validate the parameter values of the given ExecutableMethod.
      +
      +
      Specified by:
      +
      validateParameters in interface ExecutableMethodValidator
      +
      Type Parameters:
      +
      T - The object type
      +
      Parameters:
      +
      object - The object
      +
      method - The method
      +
      parameterValues - The values
      +
      groups - The groups
      +
      Returns:
      +
      The constraint violations.
      +
      +
      +
    • +
    • +
      +

      validateParameters

      +
      public <T> +Set<jakarta.validation.ConstraintViolation<T>> validateParameters(T object, + io.micronaut.inject.ExecutableMethod method, + @NonNull + @NonNull Object[] parameterValues, + BeanValidationContext validationContext)
      +
      Description copied from interface: ExecutableMethodValidator
      +
      Validate the parameter values of the given ExecutableMethod.
      +
      +
      Specified by:
      +
      validateParameters in interface ExecutableMethodValidator
      +
      Type Parameters:
      +
      T - The object type
      +
      Parameters:
      +
      object - The object
      +
      method - The method
      +
      parameterValues - The values
      +
      validationContext - The context
      +
      Returns:
      +
      The constraint violations.
      +
      +
      +
    • +
    • +
      +

      validateParameters

      +
      @NonNull +public <T> +@NonNull Set<jakarta.validation.ConstraintViolation<T>> validateParameters(@NonNull + T object, + @NonNull + @NonNull io.micronaut.inject.ExecutableMethod method, + @NonNull + @NonNull Collection<io.micronaut.core.type.MutableArgumentValue<?>> argumentValues, + @NonNull + @NonNull Class<?>... groups)
      +
      Description copied from interface: ExecutableMethodValidator
      +
      Validate the parameter values of the given ExecutableMethod.
      +
      +
      Specified by:
      +
      validateParameters in interface ExecutableMethodValidator
      +
      Type Parameters:
      +
      T - The object type
      +
      Parameters:
      +
      object - The object
      +
      method - The method
      +
      argumentValues - The values
      +
      groups - The groups
      +
      Returns:
      +
      The constraint violations.
      +
      +
      +
    • +
    • +
      +

      validateParameters

      +
      @NonNull +public <T> +@NonNull Set<jakarta.validation.ConstraintViolation<T>> validateParameters(@NonNull + T object, + @NonNull + @NonNull Method method, + @NonNull + @NonNull Object[] parameterValues, + @NonNull + @NonNull Class<?>... groups)
      +
      +
      Specified by:
      +
      validateParameters in interface ExecutableMethodValidator
      +
      Specified by:
      +
      validateParameters in interface jakarta.validation.executable.ExecutableValidator
      +
      +
      +
    • +
    • +
      +

      validateReturnValue

      +
      @NonNull +public <T> +@NonNull Set<jakarta.validation.ConstraintViolation<T>> validateReturnValue(@NonNull + T object, + @NonNull + @NonNull Method method, + @Nullable + @Nullable Object returnValue, + @NonNull + @NonNull Class<?>... groups)
      +
      +
      Specified by:
      +
      validateReturnValue in interface ExecutableMethodValidator
      +
      Specified by:
      +
      validateReturnValue in interface jakarta.validation.executable.ExecutableValidator
      +
      +
      +
    • +
    • +
      +

      validateReturnValue

      +
      @NonNull +public <T> +@NonNull Set<jakarta.validation.ConstraintViolation<T>> validateReturnValue(@NonNull + T bean, + @NonNull + @NonNull io.micronaut.inject.ExecutableMethod<?,Object> executableMethod, + @Nullable + @Nullable Object returnValue, + @NonNull + @NonNull Class<?>... groups)
      +
      Description copied from interface: ExecutableMethodValidator
      +
      Validates the return value of a ExecutableMethod.
      +
      +
      Specified by:
      +
      validateReturnValue in interface ExecutableMethodValidator
      +
      Type Parameters:
      +
      T - The object type
      +
      Parameters:
      +
      bean - The object
      +
      executableMethod - The method
      +
      returnValue - The return value
      +
      groups - The groups
      +
      Returns:
      +
      A set of contstraint violations
      +
      +
      +
    • +
    • +
      +

      validateReturnValue

      +
      public <T> +Set<jakarta.validation.ConstraintViolation<T>> validateReturnValue(T bean, + io.micronaut.inject.ExecutableMethod<?,Object> executableMethod, + Object returnValue, + BeanValidationContext validationContext)
      +
      Description copied from interface: ExecutableMethodValidator
      +
      Validates the return value of a ExecutableMethod.
      +
      +
      Specified by:
      +
      validateReturnValue in interface ExecutableMethodValidator
      +
      Type Parameters:
      +
      T - The object type
      +
      Parameters:
      +
      bean - The object
      +
      executableMethod - The method
      +
      returnValue - The return value
      +
      validationContext - The validation context
      +
      Returns:
      +
      A set of contstraint violations
      +
      +
      +
    • +
    • +
      +

      validateConstructorParameters

      +
      @NonNull +public <T> +@NonNull Set<jakarta.validation.ConstraintViolation<T>> validateConstructorParameters(@NonNull + @NonNull Constructor<? extends T> constructor, + @NonNull + @NonNull Object[] parameterValues, + @NonNull + @NonNull Class<?>... groups)
      +
      +
      Specified by:
      +
      validateConstructorParameters in interface ExecutableMethodValidator
      +
      Specified by:
      +
      validateConstructorParameters in interface jakarta.validation.executable.ExecutableValidator
      +
      +
      +
    • +
    • +
      +

      validateConstructorParameters

      +
      @NonNull +public <T> +@NonNull Set<jakarta.validation.ConstraintViolation<T>> validateConstructorParameters(@NonNull + @NonNull io.micronaut.core.beans.BeanIntrospection<? extends T> introspection, + @NonNull + @NonNull Object[] parameterValues, + @NonNull + @NonNull Class<?>... groups)
      +
      Description copied from interface: ExecutableMethodValidator
      +
      Validates parameters for the given introspection and values.
      +
      +
      Specified by:
      +
      validateConstructorParameters in interface ExecutableMethodValidator
      +
      Type Parameters:
      +
      T - The bean type.
      +
      Parameters:
      +
      introspection - The introspection
      +
      parameterValues - The parameter values
      +
      groups - The groups
      +
      Returns:
      +
      The constraint violations
      +
      +
      +
    • +
    • +
      +

      validateConstructorParameters

      +
      public <T> +Set<jakarta.validation.ConstraintViolation<T>> validateConstructorParameters(Class<? extends T> beanType, + io.micronaut.core.type.Argument<?>[] constructorArguments, + @NonNull + @NonNull Object[] parameterValues, + @NonNull + @NonNull Class<?>[] groups)
      +
      Description copied from interface: ExecutableMethodValidator
      +
      Validates arguments for the given bean type and constructor arguments.
      +
      +
      Specified by:
      +
      validateConstructorParameters in interface ExecutableMethodValidator
      +
      Type Parameters:
      +
      T - The generic type of the bean
      +
      Parameters:
      +
      beanType - The bean type
      +
      constructorArguments - The constructor arguments
      +
      parameterValues - The parameter values
      +
      groups - The validation groups
      +
      Returns:
      +
      A set of constraint violations, if any
      +
      +
      +
    • +
    • +
      +

      validateConstructorParameters

      +
      public <T> +Set<jakarta.validation.ConstraintViolation<T>> validateConstructorParameters(Class<? extends T> beanType, + @NonNull + @NonNull io.micronaut.core.type.Argument<?>[] constructorArguments, + @NonNull + @NonNull Object[] parameterValues, + BeanValidationContext validationContext)
      +
      Description copied from interface: ExecutableMethodValidator
      +
      Validates arguments for the given bean type and constructor arguments.
      +
      +
      Specified by:
      +
      validateConstructorParameters in interface ExecutableMethodValidator
      +
      Type Parameters:
      +
      T - The generic type of the bean
      +
      Parameters:
      +
      beanType - The bean type
      +
      constructorArguments - The constructor arguments
      +
      parameterValues - The parameter values
      +
      validationContext - The validation context
      +
      Returns:
      +
      A set of constraint violations, if any
      +
      +
      +
    • +
    • +
      +

      validateConstructorReturnValue

      +
      @NonNull +public <T> +@NonNull Set<jakarta.validation.ConstraintViolation<T>> validateConstructorReturnValue(@NonNull + @NonNull Constructor<? extends T> constructor, + @NonNull + T createdObject, + @NonNull + @NonNull Class<?>... groups)
      +
      +
      Specified by:
      +
      validateConstructorReturnValue in interface ExecutableMethodValidator
      +
      Specified by:
      +
      validateConstructorReturnValue in interface jakarta.validation.executable.ExecutableValidator
      +
      +
      +
    • +
    • +
      +

      validatePublisher

      +
      @NonNull +public <T> +@NonNull org.reactivestreams.Publisher<T> validatePublisher(@NonNull + @NonNull io.micronaut.core.type.ReturnType<?> returnType, + @NonNull + @NonNull org.reactivestreams.Publisher<T> publisher, + @NonNull + @NonNull Class<?>... groups)
      +
      Description copied from interface: ReactiveValidator
      +
      Validate the given publisher by returning a new Publisher that validates each emitted value. If a + constraint violation error occurs a ConstraintViolationException will be thrown.
      +
      +
      Specified by:
      +
      validatePublisher in interface ReactiveValidator
      +
      Type Parameters:
      +
      T - The generic type
      +
      Parameters:
      +
      returnType - The required type of publisher
      +
      publisher - The publisher
      +
      groups - The groups
      +
      Returns:
      +
      The publisher
      +
      +
      +
    • +
    • +
      +

      validateCompletionStage

      +
      @NonNull +public <T> @NonNull CompletionStage<T> validateCompletionStage(@NonNull + @NonNull CompletionStage<T> completionStage, + @NonNull + @NonNull io.micronaut.core.type.Argument<T> argument, + @NonNull + @NonNull Class<?>... groups)
      +
      Description copied from interface: ReactiveValidator
      +
      Validate the given CompletionStage by returning a new CompletionStage that validates the emitted value. If a + constraint violation error occurs a ConstraintViolationException will be thrown.
      +
      +
      Specified by:
      +
      validateCompletionStage in interface ReactiveValidator
      +
      Type Parameters:
      +
      T - The generic type
      +
      Parameters:
      +
      completionStage - The completion stage
      +
      argument - The completion stage element argument
      +
      groups - The groups
      +
      Returns:
      +
      The publisher
      +
      +
      +
    • +
    • +
      +

      validateBeanArgument

      +
      public <T> void validateBeanArgument(@NonNull + @NonNull io.micronaut.context.BeanResolutionContext resolutionContext, + @NonNull + @NonNull io.micronaut.inject.InjectionPoint injectionPoint, + @NonNull + @NonNull io.micronaut.core.type.Argument<T> argument, + int index, + @Nullable + T value) + throws io.micronaut.context.exceptions.BeanInstantiationException
      +
      +
      Specified by:
      +
      validateBeanArgument in interface io.micronaut.inject.validation.BeanDefinitionValidator
      +
      Throws:
      +
      io.micronaut.context.exceptions.BeanInstantiationException
      +
      +
      +
    • +
    • +
      +

      validateBean

      +
      public <T> void validateBean(@NonNull + @NonNull io.micronaut.context.BeanResolutionContext resolutionContext, + @NonNull + @NonNull io.micronaut.inject.BeanDefinition<T> definition, + @NonNull + T bean) + throws io.micronaut.context.exceptions.BeanInstantiationException
      +
      +
      Specified by:
      +
      validateBean in interface io.micronaut.inject.validation.BeanDefinitionValidator
      +
      Throws:
      +
      io.micronaut.context.exceptions.BeanInstantiationException
      +
      +
      +
    • +
    • +
      +

      getBeanIntrospection

      +
      @Nullable +protected <T> +@Nullable io.micronaut.core.beans.BeanIntrospection<T> getBeanIntrospection(@NonNull + T object, + @NonNull + @NonNull Class<T> definedClass)
      +
      looks up a bean introspection for the given object by instance's class or defined class.
      +
      +
      Type Parameters:
      +
      T - The introspection type
      +
      Parameters:
      +
      object - The object, never null
      +
      definedClass - The defined class of the object, never null
      +
      Returns:
      +
      The introspection or null
      +
      +
      +
    • +
    • +
      +

      getBeanIntrospection

      +
      @Nullable +protected <T> +@Nullable io.micronaut.core.beans.BeanIntrospection<T> getBeanIntrospection(@NonNull + T object)
      +
      Looks up a bean introspection for the given object.
      +
      +
      Type Parameters:
      +
      T - The introspection type
      +
      Parameters:
      +
      object - The object, never null
      +
      Returns:
      +
      The introspection or null
      +
      +
      +
    • +
    • +
      +

      getBeanIntrospection

      +
      @Nullable +protected <T> +@Nullable io.micronaut.core.beans.BeanIntrospection<T> getBeanIntrospection(@NonNull + @NonNull Class<T> type)
      +
      Looks up a bean introspection for the given object.
      +
      +
      Type Parameters:
      +
      T - The introspection type
      +
      Parameters:
      +
      type - The object type
      +
      Returns:
      +
      The introspection or null
      +
      +
      +
    • +
    • +
      +

      requireNonNull

      +
      @Deprecated(since="4.3.0") +public static <T> T requireNonNull(String name, + T value)
      +
      Deprecated. +
      It will be private in a future version.
      +
      +
      Throws a IllegalArgumentException if the value is null.
      +
      +
      Type Parameters:
      +
      T - value Type
      +
      Parameters:
      +
      name - check name
      +
      value - value being checked
      +
      Returns:
      +
      the value
      +
      +
      +
    • +
    • +
      +

      requireNonEmpty

      +
      @Deprecated(since="4.3.0") +public static String requireNonEmpty(String name, + String value)
      +
      Deprecated. +
      It will be private in a future version.
      +
      +
      Throws a IllegalArgumentException if the value null or an empty string.
      +
      +
      Parameters:
      +
      name - check name
      +
      value - value being checked
      +
      Returns:
      +
      the value
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/4.8.1/api/io/micronaut/validation/validator/DefaultValidatorConfiguration.html b/4.8.1/api/io/micronaut/validation/validator/DefaultValidatorConfiguration.html new file mode 100644 index 00000000..b28cd3b4 --- /dev/null +++ b/4.8.1/api/io/micronaut/validation/validator/DefaultValidatorConfiguration.html @@ -0,0 +1,644 @@ + + + + +DefaultValidatorConfiguration (validation-parent 4.8.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class DefaultValidatorConfiguration

+
+
java.lang.Object +
io.micronaut.validation.validator.DefaultValidatorConfiguration
+
+
+
+
All Implemented Interfaces:
+
io.micronaut.core.convert.ConversionServiceAware, io.micronaut.core.convert.ConversionServiceProvider, io.micronaut.core.util.Toggleable, ValidatorConfiguration, jakarta.validation.ValidatorContext
+
+
+
@ConfigurationProperties("micronaut.validator") +public class DefaultValidatorConfiguration +extends Object +implements ValidatorConfiguration, io.micronaut.core.util.Toggleable, jakarta.validation.ValidatorContext, io.micronaut.core.convert.ConversionServiceAware
+
The default configuration for the validator.
+
+
Since:
+
1.2
+
Author:
+
graemerocher
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      DefaultValidatorConfiguration

      +
      public DefaultValidatorConfiguration()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      setConversionService

      +
      @Inject +public void setConversionService(io.micronaut.core.convert.ConversionService conversionService)
      +
      Sets the conversion service.
      +
      +
      Specified by:
      +
      setConversionService in interface io.micronaut.core.convert.ConversionServiceAware
      +
      Parameters:
      +
      conversionService - The conversion service
      +
      +
      +
    • +
    • +
      +

      getConversionService

      +
      public io.micronaut.core.convert.ConversionService getConversionService()
      +
      +
      Specified by:
      +
      getConversionService in interface io.micronaut.core.convert.ConversionServiceProvider
      +
      +
      +
    • +
    • +
      +

      getConstraintValidatorRegistry

      +
      @NonNull +public @NonNull ConstraintValidatorRegistry getConstraintValidatorRegistry()
      +
      +
      Specified by:
      +
      getConstraintValidatorRegistry in interface ValidatorConfiguration
      +
      Returns:
      +
      The constraint registry to use.
      +
      +
      +
    • +
    • +
      +

      getConstraintValidatorFactory

      +
      public jakarta.validation.ConstraintValidatorFactory getConstraintValidatorFactory()
      +
      +
      Specified by:
      +
      getConstraintValidatorFactory in interface ValidatorConfiguration
      +
      Returns:
      +
      The constraint factory to use.
      +
      +
      +
    • +
    • +
      +

      isEnabled

      +
      public boolean isEnabled()
      +
      +
      Specified by:
      +
      isEnabled in interface io.micronaut.core.util.Toggleable
      +
      +
      +
    • +
    • +
      +

      setEnabled

      +
      public DefaultValidatorConfiguration setEnabled(boolean enabled)
      +
      Sets whether Micronaut's validator is enabled.
      +
      +
      Parameters:
      +
      enabled - True if it is
      +
      Returns:
      +
      this configuration
      +
      +
      +
    • +
    • +
      +

      setConstraintValidatorRegistry

      +
      @Inject +public DefaultValidatorConfiguration setConstraintValidatorRegistry(@Nullable + @Nullable ConstraintValidatorRegistry constraintValidatorRegistry)
      +
      Sets the constraint validator registry to use.
      +
      +
      Parameters:
      +
      constraintValidatorRegistry - The registry to use
      +
      Returns:
      +
      this configuration
      +
      +
      +
    • +
    • +
      +

      getValueExtractorRegistry

      +
      @NonNull +public @NonNull ValueExtractorRegistry getValueExtractorRegistry()
      +
      +
      Specified by:
      +
      getValueExtractorRegistry in interface ValidatorConfiguration
      +
      Returns:
      +
      The value extractor registry
      +
      +
      +
    • +
    • +
      +

      setValueExtractorRegistry

      +
      @Inject +public DefaultValidatorConfiguration setValueExtractorRegistry(@Nullable + @Nullable ValueExtractorRegistry valueExtractorRegistry)
      +
      Sets the value extractor registry use.
      +
      +
      Parameters:
      +
      valueExtractorRegistry - The registry
      +
      Returns:
      +
      this configuration
      +
      +
      +
    • +
    • +
      +

      getClockProvider

      +
      @NonNull +public @NonNull jakarta.validation.ClockProvider getClockProvider()
      +
      +
      Specified by:
      +
      getClockProvider in interface ValidatorConfiguration
      +
      Returns:
      +
      The clock provider
      +
      +
      +
    • +
    • +
      +

      getDefaultClockProvider

      +
      public jakarta.validation.ClockProvider getDefaultClockProvider()
      +
      +
      Specified by:
      +
      getDefaultClockProvider in interface ValidatorConfiguration
      +
      Returns:
      +
      The default clock provider
      +
      +
      +
    • +
    • +
      +

      setClockProvider

      +
      @Inject +public DefaultValidatorConfiguration setClockProvider(@Nullable + @Nullable jakarta.validation.ClockProvider clockProvider)
      +
      Sets the clock provider to use.
      +
      +
      Parameters:
      +
      clockProvider - The clock provider
      +
      Returns:
      +
      this configuration
      +
      +
      +
    • +
    • +
      +

      getDefaultTraversableResolver

      +
      @NonNull +public @NonNull jakarta.validation.TraversableResolver getDefaultTraversableResolver()
      +
      +
      Specified by:
      +
      getDefaultTraversableResolver in interface ValidatorConfiguration
      +
      Returns:
      +
      The default traversable resolver to use
      +
      +
      +
    • +
    • +
      +

      getTraversableResolver

      +
      @NonNull +public @NonNull jakarta.validation.TraversableResolver getTraversableResolver()
      +
      +
      Specified by:
      +
      getTraversableResolver in interface ValidatorConfiguration
      +
      Returns:
      +
      The traversable resolver to use
      +
      +
      +
    • +
    • +
      +

      setTraversableResolver

      +
      @Inject +public DefaultValidatorConfiguration setTraversableResolver(@Nullable + @Nullable jakarta.validation.TraversableResolver traversableResolver)
      +
      Sets the traversable resolver to use.
      +
      +
      Parameters:
      +
      traversableResolver - The resolver
      +
      Returns:
      +
      This configuration
      +
      +
      +
    • +
    • +
      +

      getMessageInterpolator

      +
      @NonNull +public @NonNull jakarta.validation.MessageInterpolator getMessageInterpolator()
      +
      +
      Specified by:
      +
      getMessageInterpolator in interface ValidatorConfiguration
      +
      Returns:
      +
      The message interpolator
      +
      +
      +
    • +
    • +
      +

      getDefaultMessageInterpolator

      +
      @NonNull +public @NonNull jakarta.validation.MessageInterpolator getDefaultMessageInterpolator()
      +
      +
      Specified by:
      +
      getDefaultMessageInterpolator in interface ValidatorConfiguration
      +
      Returns:
      +
      The default message interpolator
      +
      +
      +
    • +
    • +
      +

      setMessageInterpolator

      +
      @Inject +public DefaultValidatorConfiguration setMessageInterpolator(@Nullable + @Nullable jakarta.validation.MessageInterpolator messageInterpolator)
      +
      Sets the message interpolator to use.
      +
      +
      Parameters:
      +
      messageInterpolator - The message interpolator
      +
      Returns:
      +
      this configuration
      +
      +
      +
    • +
    • +
      +

      getExecutionHandleLocator

      +
      @NonNull +public @NonNull io.micronaut.context.ExecutionHandleLocator getExecutionHandleLocator()
      +
      Description copied from interface: ValidatorConfiguration
      +
      The execution handler locator to use.
      +
      +
      Specified by:
      +
      getExecutionHandleLocator in interface ValidatorConfiguration
      +
      Returns:
      +
      The locator
      +
      +
      +
    • +
    • +
      +

      setExecutionHandleLocator

      +
      @Inject +public DefaultValidatorConfiguration setExecutionHandleLocator(@Nullable + @Nullable io.micronaut.context.BeanContext beanContext)
      +
      Sets the execution handler locator to use.
      +
      +
      Parameters:
      +
      beanContext - The beanContext
      +
      Returns:
      +
      this configuration
      +
      +
      +
    • +
    • +
      +

      messageInterpolator

      +
      public jakarta.validation.ValidatorContext messageInterpolator(jakarta.validation.MessageInterpolator messageInterpolator)
      +
      +
      Specified by:
      +
      messageInterpolator in interface jakarta.validation.ValidatorContext
      +
      +
      +
    • +
    • +
      +

      traversableResolver

      +
      public jakarta.validation.ValidatorContext traversableResolver(jakarta.validation.TraversableResolver traversableResolver)
      +
      +
      Specified by:
      +
      traversableResolver in interface jakarta.validation.ValidatorContext
      +
      +
      +
    • +
    • +
      +

      constraintValidatorFactory

      +
      public jakarta.validation.ValidatorContext constraintValidatorFactory(jakarta.validation.ConstraintValidatorFactory factory)
      +
      +
      Specified by:
      +
      constraintValidatorFactory in interface jakarta.validation.ValidatorContext
      +
      +
      +
    • +
    • +
      +

      parameterNameProvider

      +
      public jakarta.validation.ValidatorContext parameterNameProvider(jakarta.validation.ParameterNameProvider parameterNameProvider)
      +
      +
      Specified by:
      +
      parameterNameProvider in interface jakarta.validation.ValidatorContext
      +
      +
      +
    • +
    • +
      +

      clockProvider

      +
      public jakarta.validation.ValidatorContext clockProvider(jakarta.validation.ClockProvider clockProvider)
      +
      +
      Specified by:
      +
      clockProvider in interface jakarta.validation.ValidatorContext
      +
      +
      +
    • +
    • +
      +

      addValueExtractor

      +
      public jakarta.validation.ValidatorContext addValueExtractor(jakarta.validation.valueextraction.ValueExtractor<?> extractor)
      +
      +
      Specified by:
      +
      addValueExtractor in interface jakarta.validation.ValidatorContext
      +
      +
      +
    • +
    • +
      +

      getValidator

      +
      public jakarta.validation.Validator getValidator()
      +
      +
      Specified by:
      +
      getValidator in interface jakarta.validation.ValidatorContext
      +
      +
      +
    • +
    • +
      +

      getBeanIntrospector

      +
      public io.micronaut.core.beans.BeanIntrospector getBeanIntrospector()
      +
      Description copied from interface: ValidatorConfiguration
      +
      The bean introspector.
      +
      +
      Specified by:
      +
      getBeanIntrospector in interface ValidatorConfiguration
      +
      Returns:
      +
      The introspector
      +
      +
      +
    • +
    • +
      +

      setBeanIntrospector

      +
      public final void setBeanIntrospector(io.micronaut.core.beans.BeanIntrospector beanIntrospector)
      +
      +
    • +
    • +
      +

      getClassFromType

      +
      public static Class<?> getClassFromType(Type type)
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/4.8.1/api/io/micronaut/validation/validator/DefaultValidatorFactory.html b/4.8.1/api/io/micronaut/validation/validator/DefaultValidatorFactory.html new file mode 100644 index 00000000..7b40de85 --- /dev/null +++ b/4.8.1/api/io/micronaut/validation/validator/DefaultValidatorFactory.html @@ -0,0 +1,320 @@ + + + + +DefaultValidatorFactory (validation-parent 4.8.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class DefaultValidatorFactory

+
+
java.lang.Object +
io.micronaut.validation.validator.DefaultValidatorFactory
+
+
+
+
All Implemented Interfaces:
+
jakarta.validation.ValidatorFactory, AutoCloseable
+
+
+
@Requires(missingBeans=jakarta.validation.ValidatorFactory.class) +@Internal +@Singleton +public class DefaultValidatorFactory +extends Object +implements jakarta.validation.ValidatorFactory
+
Default validator factory implementation.
+
+
Since:
+
1.2.0
+
Author:
+
graemerocher
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      DefaultValidatorFactory

      +
      public DefaultValidatorFactory()
      +
      The constructor.
      +
      +
    • +
    • +
      +

      DefaultValidatorFactory

      +
      public DefaultValidatorFactory(ValidatorConfiguration configuration)
      +
      The constructor.
      +
      +
      Parameters:
      +
      configuration - The configuration.
      +
      +
      +
    • +
    • +
      +

      DefaultValidatorFactory

      +
      @Inject +public DefaultValidatorFactory(Validator validator, + ValidatorConfiguration configuration)
      +
      Default constructor.
      +
      +
      Parameters:
      +
      validator - The validator.
      +
      configuration - The configuration.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getValidator

      +
      public jakarta.validation.Validator getValidator()
      +
      +
      Specified by:
      +
      getValidator in interface jakarta.validation.ValidatorFactory
      +
      +
      +
    • +
    • +
      +

      usingContext

      +
      public jakarta.validation.ValidatorContext usingContext()
      +
      +
      Specified by:
      +
      usingContext in interface jakarta.validation.ValidatorFactory
      +
      +
      +
    • +
    • +
      +

      getMessageInterpolator

      +
      public jakarta.validation.MessageInterpolator getMessageInterpolator()
      +
      +
      Specified by:
      +
      getMessageInterpolator in interface jakarta.validation.ValidatorFactory
      +
      +
      +
    • +
    • +
      +

      getTraversableResolver

      +
      public jakarta.validation.TraversableResolver getTraversableResolver()
      +
      +
      Specified by:
      +
      getTraversableResolver in interface jakarta.validation.ValidatorFactory
      +
      +
      +
    • +
    • +
      +

      getConstraintValidatorFactory

      +
      public jakarta.validation.ConstraintValidatorFactory getConstraintValidatorFactory()
      +
      +
      Specified by:
      +
      getConstraintValidatorFactory in interface jakarta.validation.ValidatorFactory
      +
      +
      +
    • +
    • +
      +

      getParameterNameProvider

      +
      public jakarta.validation.ParameterNameProvider getParameterNameProvider()
      +
      +
      Specified by:
      +
      getParameterNameProvider in interface jakarta.validation.ValidatorFactory
      +
      +
      +
    • +
    • +
      +

      getClockProvider

      +
      public jakarta.validation.ClockProvider getClockProvider()
      +
      +
      Specified by:
      +
      getClockProvider in interface jakarta.validation.ValidatorFactory
      +
      +
      +
    • +
    • +
      +

      unwrap

      +
      public <T> T unwrap(Class<T> type)
      +
      +
      Specified by:
      +
      unwrap in interface jakarta.validation.ValidatorFactory
      +
      +
      +
    • +
    • +
      +

      close

      +
      public void close()
      +
      +
      Specified by:
      +
      close in interface AutoCloseable
      +
      Specified by:
      +
      close in interface jakarta.validation.ValidatorFactory
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/4.8.1/api/io/micronaut/validation/validator/ExecutableMethodValidator.html b/4.8.1/api/io/micronaut/validation/validator/ExecutableMethodValidator.html new file mode 100644 index 00000000..38d0821b --- /dev/null +++ b/4.8.1/api/io/micronaut/validation/validator/ExecutableMethodValidator.html @@ -0,0 +1,526 @@ + + + + +ExecutableMethodValidator (validation-parent 4.8.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface ExecutableMethodValidator

+
+
+
+
All Superinterfaces:
+
jakarta.validation.executable.ExecutableValidator
+
+
+
All Known Implementing Classes:
+
DefaultAnnotatedElementValidator, DefaultValidator
+
+
+
public interface ExecutableMethodValidator +extends jakarta.validation.executable.ExecutableValidator
+
Extended version of ExecutableValidator that operates on ExecutableMethod instances.
+
+
Since:
+
1.2
+
Author:
+
graemerocher
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    <T> T
    +
    createValid(@NonNull Class<T> type, + Object... arguments)
    +
    +
    Create a new valid instance.
    +
    +
    <T> @NonNull Set<jakarta.validation.ConstraintViolation<T>>
    +
    validateConstructorParameters(@NonNull io.micronaut.core.beans.BeanIntrospection<? extends T> introspection, + @NonNull Object[] parameterValues, + @Nullable Class<?>... groups)
    +
    +
    Validates parameters for the given introspection and values.
    +
    +
    <T> Set<jakarta.validation.ConstraintViolation<T>>
    +
    validateConstructorParameters(@NonNull Class<? extends T> beanType, + @NonNull io.micronaut.core.type.Argument<?>[] constructorArguments, + @NonNull Object[] parameterValues, + @Nullable BeanValidationContext validationContext)
    +
    +
    Validates arguments for the given bean type and constructor arguments.
    +
    +
    <T> Set<jakarta.validation.ConstraintViolation<T>>
    +
    validateConstructorParameters(@NonNull Class<? extends T> beanType, + @NonNull io.micronaut.core.type.Argument<?>[] constructorArguments, + @NonNull Object[] parameterValues, + @Nullable Class<?>[] groups)
    +
    +
    Validates arguments for the given bean type and constructor arguments.
    +
    +
    <T> @NonNull Set<jakarta.validation.ConstraintViolation<T>>
    +
    validateConstructorParameters(@NonNull Constructor<? extends T> constructor, + @NonNull Object[] parameterValues, + @Nullable Class<?>... groups)
    +
     
    +
    <T> @NonNull Set<jakarta.validation.ConstraintViolation<T>>
    +
    validateConstructorReturnValue(@NonNull Constructor<? extends T> constructor, + T createdObject, + @Nullable Class<?>... groups)
    +
     
    +
    <T> @NonNull Set<jakarta.validation.ConstraintViolation<T>>
    +
    validateParameters(T object, + @NonNull io.micronaut.inject.ExecutableMethod method, + @NonNull Object[] parameterValues, + @Nullable BeanValidationContext context)
    +
    +
    Validate the parameter values of the given ExecutableMethod.
    +
    +
    <T> @NonNull Set<jakarta.validation.ConstraintViolation<T>>
    +
    validateParameters(T object, + @NonNull io.micronaut.inject.ExecutableMethod method, + @NonNull Object[] parameterValues, + @Nullable Class<?>... groups)
    +
    +
    Validate the parameter values of the given ExecutableMethod.
    +
    +
    <T> @NonNull Set<jakarta.validation.ConstraintViolation<T>>
    +
    validateParameters(T object, + @NonNull io.micronaut.inject.ExecutableMethod method, + @NonNull Collection<io.micronaut.core.type.MutableArgumentValue<?>> argumentValues, + @Nullable Class<?>... groups)
    +
    +
    Validate the parameter values of the given ExecutableMethod.
    +
    +
    <T> @NonNull Set<jakarta.validation.ConstraintViolation<T>>
    +
    validateParameters(T object, + @NonNull Method method, + @NonNull Object[] parameterValues, + @Nullable Class<?>... groups)
    +
     
    +
    <T> @NonNull Set<jakarta.validation.ConstraintViolation<T>>
    +
    validateReturnValue(T object, + @NonNull io.micronaut.inject.ExecutableMethod<?,Object> executableMethod, + @Nullable Object returnValue, + @Nullable BeanValidationContext validationContext)
    +
    +
    Validates the return value of a ExecutableMethod.
    +
    +
    <T> @NonNull Set<jakarta.validation.ConstraintViolation<T>>
    +
    validateReturnValue(T object, + @NonNull io.micronaut.inject.ExecutableMethod<?,Object> executableMethod, + @Nullable Object returnValue, + @Nullable Class<?>... groups)
    +
    +
    Validates the return value of a ExecutableMethod.
    +
    +
    <T> @NonNull Set<jakarta.validation.ConstraintViolation<T>>
    +
    validateReturnValue(T object, + @NonNull Method method, + @Nullable Object returnValue, + @Nullable Class<?>... groups)
    +
     
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      createValid

      +
      @NonNull +<T> T createValid(@NonNull + @NonNull Class<T> type, + Object... arguments) + throws jakarta.validation.ConstraintViolationException
      +
      Create a new valid instance.
      +
      +
      Type Parameters:
      +
      T - the generic type
      +
      Parameters:
      +
      type - The type
      +
      arguments - The arguments
      +
      Returns:
      +
      The instance
      +
      Throws:
      +
      jakarta.validation.ConstraintViolationException - If a valid instance couldn't be constructed
      +
      IllegalArgumentException - If an argument is invalid
      +
      +
      +
    • +
    • +
      +

      validateParameters

      +
      @NonNull +<T> +@NonNull Set<jakarta.validation.ConstraintViolation<T>> validateParameters(@NonNull + T object, + @NonNull + @NonNull io.micronaut.inject.ExecutableMethod method, + @NonNull + @NonNull Object[] parameterValues, + @Nullable + @Nullable Class<?>... groups)
      +
      Validate the parameter values of the given ExecutableMethod.
      +
      +
      Type Parameters:
      +
      T - The object type
      +
      Parameters:
      +
      object - The object
      +
      method - The method
      +
      parameterValues - The values
      +
      groups - The groups
      +
      Returns:
      +
      The constraint violations.
      +
      +
      +
    • +
    • +
      +

      validateParameters

      +
      @NonNull +<T> +@NonNull Set<jakarta.validation.ConstraintViolation<T>> validateParameters(@NonNull + T object, + @NonNull + @NonNull io.micronaut.inject.ExecutableMethod method, + @NonNull + @NonNull Object[] parameterValues, + @Nullable + @Nullable BeanValidationContext context)
      +
      Validate the parameter values of the given ExecutableMethod.
      +
      +
      Type Parameters:
      +
      T - The object type
      +
      Parameters:
      +
      object - The object
      +
      method - The method
      +
      parameterValues - The values
      +
      context - The context
      +
      Returns:
      +
      The constraint violations.
      +
      +
      +
    • +
    • +
      +

      validateParameters

      +
      @NonNull +<T> +@NonNull Set<jakarta.validation.ConstraintViolation<T>> validateParameters(@NonNull + T object, + @NonNull + @NonNull io.micronaut.inject.ExecutableMethod method, + @NonNull + @NonNull Collection<io.micronaut.core.type.MutableArgumentValue<?>> argumentValues, + @Nullable + @Nullable Class<?>... groups)
      +
      Validate the parameter values of the given ExecutableMethod.
      +
      +
      Type Parameters:
      +
      T - The object type
      +
      Parameters:
      +
      object - The object
      +
      method - The method
      +
      argumentValues - The values
      +
      groups - The groups
      +
      Returns:
      +
      The constraint violations.
      +
      +
      +
    • +
    • +
      +

      validateReturnValue

      +
      @NonNull +<T> +@NonNull Set<jakarta.validation.ConstraintViolation<T>> validateReturnValue(@NonNull + T object, + @NonNull + @NonNull io.micronaut.inject.ExecutableMethod<?,Object> executableMethod, + @Nullable + @Nullable Object returnValue, + @Nullable + @Nullable Class<?>... groups)
      +
      Validates the return value of a ExecutableMethod.
      +
      +
      Type Parameters:
      +
      T - The object type
      +
      Parameters:
      +
      object - The object
      +
      executableMethod - The method
      +
      returnValue - The return value
      +
      groups - The groups
      +
      Returns:
      +
      A set of contstraint violations
      +
      +
      +
    • +
    • +
      +

      validateReturnValue

      +
      @NonNull +<T> +@NonNull Set<jakarta.validation.ConstraintViolation<T>> validateReturnValue(@NonNull + T object, + @NonNull + @NonNull io.micronaut.inject.ExecutableMethod<?,Object> executableMethod, + @Nullable + @Nullable Object returnValue, + @Nullable + @Nullable BeanValidationContext validationContext)
      +
      Validates the return value of a ExecutableMethod.
      +
      +
      Type Parameters:
      +
      T - The object type
      +
      Parameters:
      +
      object - The object
      +
      executableMethod - The method
      +
      returnValue - The return value
      +
      validationContext - The validation context
      +
      Returns:
      +
      A set of contstraint violations
      +
      +
      +
    • +
    • +
      +

      validateConstructorParameters

      +
      @NonNull +<T> +@NonNull Set<jakarta.validation.ConstraintViolation<T>> validateConstructorParameters(@NonNull + @NonNull io.micronaut.core.beans.BeanIntrospection<? extends T> introspection, + @NonNull + @NonNull Object[] parameterValues, + @Nullable + @Nullable Class<?>... groups)
      +
      Validates parameters for the given introspection and values.
      +
      +
      Type Parameters:
      +
      T - The bean type.
      +
      Parameters:
      +
      introspection - The introspection
      +
      parameterValues - The parameter values
      +
      groups - The groups
      +
      Returns:
      +
      The constraint violations
      +
      +
      +
    • +
    • +
      +

      validateConstructorParameters

      +
      <T> Set<jakarta.validation.ConstraintViolation<T>> validateConstructorParameters(@NonNull + @NonNull Class<? extends T> beanType, + @NonNull + @NonNull io.micronaut.core.type.Argument<?>[] constructorArguments, + @NonNull + @NonNull Object[] parameterValues, + @Nullable + @Nullable Class<?>[] groups)
      +
      Validates arguments for the given bean type and constructor arguments.
      +
      +
      Type Parameters:
      +
      T - The generic type of the bean
      +
      Parameters:
      +
      beanType - The bean type
      +
      constructorArguments - The constructor arguments
      +
      parameterValues - The parameter values
      +
      groups - The validation groups
      +
      Returns:
      +
      A set of constraint violations, if any
      +
      +
      +
    • +
    • +
      +

      validateConstructorParameters

      +
      <T> Set<jakarta.validation.ConstraintViolation<T>> validateConstructorParameters(@NonNull + @NonNull Class<? extends T> beanType, + @NonNull + @NonNull io.micronaut.core.type.Argument<?>[] constructorArguments, + @NonNull + @NonNull Object[] parameterValues, + @Nullable + @Nullable BeanValidationContext validationContext)
      +
      Validates arguments for the given bean type and constructor arguments.
      +
      +
      Type Parameters:
      +
      T - The generic type of the bean
      +
      Parameters:
      +
      beanType - The bean type
      +
      constructorArguments - The constructor arguments
      +
      parameterValues - The parameter values
      +
      validationContext - The validation context
      +
      Returns:
      +
      A set of constraint violations, if any
      +
      +
      +
    • +
    • +
      +

      validateParameters

      +
      @NonNull +<T> +@NonNull Set<jakarta.validation.ConstraintViolation<T>> validateParameters(@NonNull + T object, + @NonNull + @NonNull Method method, + @NonNull + @NonNull Object[] parameterValues, + @Nullable + @Nullable Class<?>... groups)
      +
      +
      Specified by:
      +
      validateParameters in interface jakarta.validation.executable.ExecutableValidator
      +
      +
      +
    • +
    • +
      +

      validateReturnValue

      +
      @NonNull +<T> +@NonNull Set<jakarta.validation.ConstraintViolation<T>> validateReturnValue(@NonNull + T object, + @NonNull + @NonNull Method method, + @Nullable + @Nullable Object returnValue, + @Nullable + @Nullable Class<?>... groups)
      +
      +
      Specified by:
      +
      validateReturnValue in interface jakarta.validation.executable.ExecutableValidator
      +
      +
      +
    • +
    • +
      +

      validateConstructorParameters

      +
      @NonNull +<T> +@NonNull Set<jakarta.validation.ConstraintViolation<T>> validateConstructorParameters(@NonNull + @NonNull Constructor<? extends T> constructor, + @NonNull + @NonNull Object[] parameterValues, + @Nullable + @Nullable Class<?>... groups)
      +
      +
      Specified by:
      +
      validateConstructorParameters in interface jakarta.validation.executable.ExecutableValidator
      +
      +
      +
    • +
    • +
      +

      validateConstructorReturnValue

      +
      @NonNull +<T> +@NonNull Set<jakarta.validation.ConstraintViolation<T>> validateConstructorReturnValue(@NonNull + @NonNull Constructor<? extends T> constructor, + @NonNull + T createdObject, + @Nullable + @Nullable Class<?>... groups)
      +
      +
      Specified by:
      +
      validateConstructorReturnValue in interface jakarta.validation.executable.ExecutableValidator
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/4.8.1/api/io/micronaut/validation/validator/ReactiveValidator.html b/4.8.1/api/io/micronaut/validation/validator/ReactiveValidator.html new file mode 100644 index 00000000..3e69d85f --- /dev/null +++ b/4.8.1/api/io/micronaut/validation/validator/ReactiveValidator.html @@ -0,0 +1,186 @@ + + + + +ReactiveValidator (validation-parent 4.8.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface ReactiveValidator

+
+
+
+
All Known Implementing Classes:
+
DefaultAnnotatedElementValidator, DefaultValidator
+
+
+
public interface ReactiveValidator
+
Interface for reactive bean validation.
+
+
Since:
+
1.2
+
Author:
+
graemerocher
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    <T> @NonNull CompletionStage<T>
    +
    validateCompletionStage(@NonNull CompletionStage<T> completionStage, + @NonNull io.micronaut.core.type.Argument<T> argument, + Class<?>... groups)
    +
    +
    Validate the given CompletionStage by returning a new CompletionStage that validates the emitted value.
    +
    +
    <T> @NonNull org.reactivestreams.Publisher<T>
    +
    validatePublisher(@NonNull io.micronaut.core.type.ReturnType<?> returnType, + @NonNull org.reactivestreams.Publisher<T> publisher, + Class<?>... groups)
    +
    +
    Validate the given publisher by returning a new Publisher that validates each emitted value.
    +
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      validatePublisher

      +
      @NonNull +<T> @NonNull org.reactivestreams.Publisher<T> validatePublisher(@NonNull + @NonNull io.micronaut.core.type.ReturnType<?> returnType, + @NonNull + @NonNull org.reactivestreams.Publisher<T> publisher, + Class<?>... groups)
      +
      Validate the given publisher by returning a new Publisher that validates each emitted value. If a + constraint violation error occurs a ConstraintViolationException will be thrown.
      +
      +
      Type Parameters:
      +
      T - The generic type
      +
      Parameters:
      +
      returnType - The required type of publisher
      +
      publisher - The publisher
      +
      groups - The groups
      +
      Returns:
      +
      The publisher
      +
      +
      +
    • +
    • +
      +

      validateCompletionStage

      +
      @NonNull +<T> @NonNull CompletionStage<T> validateCompletionStage(@NonNull + @NonNull CompletionStage<T> completionStage, + @NonNull + @NonNull io.micronaut.core.type.Argument<T> argument, + Class<?>... groups)
      +
      Validate the given CompletionStage by returning a new CompletionStage that validates the emitted value. If a + constraint violation error occurs a ConstraintViolationException will be thrown.
      +
      +
      Type Parameters:
      +
      T - The generic type
      +
      Parameters:
      +
      completionStage - The completion stage
      +
      argument - The completion stage element argument
      +
      groups - The groups
      +
      Returns:
      +
      The publisher
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/4.8.1/api/io/micronaut/validation/validator/ValidationAnnotationUtil.html b/4.8.1/api/io/micronaut/validation/validator/ValidationAnnotationUtil.html new file mode 100644 index 00000000..a8bd3271 --- /dev/null +++ b/4.8.1/api/io/micronaut/validation/validator/ValidationAnnotationUtil.html @@ -0,0 +1,130 @@ + + + + +ValidationAnnotationUtil (validation-parent 4.8.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface ValidationAnnotationUtil

+
+
+
+
@Internal +public interface ValidationAnnotationUtil
+
Internal validation utils.
+
+
Author:
+
Denis Stepanov
+
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    + +
    +
  • +
+
+ +
+
+
+ + diff --git a/4.8.1/api/io/micronaut/validation/validator/Validator.html b/4.8.1/api/io/micronaut/validation/validator/Validator.html new file mode 100644 index 00000000..cd784aa4 --- /dev/null +++ b/4.8.1/api/io/micronaut/validation/validator/Validator.html @@ -0,0 +1,459 @@ + + + + +Validator (validation-parent 4.8.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface Validator

+
+
+
+
All Superinterfaces:
+
jakarta.validation.Validator
+
+
+
All Known Implementing Classes:
+
DefaultAnnotatedElementValidator, DefaultValidator
+
+
+
public interface Validator +extends jakarta.validation.Validator
+
Extended version of the Valid interface for Micronaut's implementation. + +

The Validator.getConstraintsForClass(Class) method is not supported by the implementation.

+
+
Since:
+
1.2
+
Author:
+
graemerocher
+
+
+
+
    + +
  • +
    +

    Field Summary

    +
    Fields
    +
    +
    Modifier and Type
    +
    Field
    +
    Description
    +
    static final String
    + +
    +
    Annotation used to define a constraint.
    +
    +
    static final String
    + +
    +
    Annotation used to define an object as valid.
    +
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + + +
    +
    Overridden variation that returns a ExecutableMethodValidator.
    +
    +
    static @NonNull Validator
    + +
    +
    Constructs a new default instance.
    +
    +
    <T> @NonNull Set<jakarta.validation.ConstraintViolation<T>>
    +
    validate(@NonNull io.micronaut.core.beans.BeanIntrospection<T> introspection, + T object, + @NonNull BeanValidationContext context)
    +
    +
    Validate the given introspection and object.
    +
    +
    <T> @NonNull Set<jakarta.validation.ConstraintViolation<T>>
    +
    validate(@NonNull io.micronaut.core.beans.BeanIntrospection<T> introspection, + T object, + @Nullable Class<?>... groups)
    +
    +
    Validate the given introspection and object.
    +
    +
    <T> @NonNull Set<jakarta.validation.ConstraintViolation<T>>
    +
    validate(T object, + @NonNull BeanValidationContext validationContext)
    +
    +
    Validates all constraints on object.
    +
    +
    <T> @NonNull Set<jakarta.validation.ConstraintViolation<T>>
    +
    validate(T object, + Class<?>... groups)
    +
     
    +
    <T> @NonNull Set<jakarta.validation.ConstraintViolation<T>>
    +
    validateProperty(T object, + @NonNull String propertyName, + BeanValidationContext context)
    +
    +
    Validates all constraints placed on the property of object + named propertyName.
    +
    +
    <T> @NonNull Set<jakarta.validation.ConstraintViolation<T>>
    +
    validateProperty(T object, + @NonNull String propertyName, + Class<?>... groups)
    +
     
    +
    <T> @NonNull Set<jakarta.validation.ConstraintViolation<T>>
    +
    validateValue(@NonNull Class<T> beanType, + @NonNull String propertyName, + @Nullable Object value, + BeanValidationContext context)
    +
    +
    Validates all constraints placed on the property named propertyName + of the class beanType would the property value be value.
    +
    +
    <T> @NonNull Set<jakarta.validation.ConstraintViolation<T>>
    +
    validateValue(@NonNull Class<T> beanType, + @NonNull String propertyName, + @Nullable Object value, + Class<?>... groups)
    +
     
    +
    +
    +
    +
    +

    Methods inherited from interface jakarta.validation.Validator

    +getConstraintsForClass, unwrap
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      ANN_VALID

      +
      static final String ANN_VALID
      +
      Annotation used to define an object as valid.
      +
      +
    • +
    • +
      +

      ANN_CONSTRAINT

      +
      static final String ANN_CONSTRAINT
      +
      Annotation used to define a constraint.
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      forExecutables

      +
      @NonNull +@NonNull ExecutableMethodValidator forExecutables()
      +
      Overridden variation that returns a ExecutableMethodValidator.
      +
      +
      Specified by:
      +
      forExecutables in interface jakarta.validation.Validator
      +
      Returns:
      +
      The validator
      +
      +
      +
    • +
    • +
      +

      validate

      +
      @NonNull +<T> +@NonNull Set<jakarta.validation.ConstraintViolation<T>> validate(@NonNull + T object, + Class<?>... groups)
      +
      +
      Specified by:
      +
      validate in interface jakarta.validation.Validator
      +
      +
      +
    • +
    • +
      +

      validate

      +
      @NonNull +<T> +@NonNull Set<jakarta.validation.ConstraintViolation<T>> validate(@NonNull + T object, + @NonNull + @NonNull BeanValidationContext validationContext)
      +
      Validates all constraints on object.
      +
      +
      Type Parameters:
      +
      T - the type of the object to validate
      +
      Parameters:
      +
      object - object to validate
      +
      validationContext - The context
      +
      Returns:
      +
      constraint violations or an empty set if none
      +
      Throws:
      +
      IllegalArgumentException - if object is null + or if null is passed to the varargs groups
      +
      jakarta.validation.ValidationException - if a non recoverable error happens + during the validation process
      +
      +
      +
    • +
    • +
      +

      validate

      +
      @NonNull +<T> +@NonNull Set<jakarta.validation.ConstraintViolation<T>> validate(@NonNull + @NonNull io.micronaut.core.beans.BeanIntrospection<T> introspection, + @NonNull + T object, + @Nullable + @Nullable Class<?>... groups)
      +
      Validate the given introspection and object.
      +
      +
      Type Parameters:
      +
      T - The object type
      +
      Parameters:
      +
      introspection - The introspection
      +
      object - The object
      +
      groups - The groups
      +
      Returns:
      +
      The constraint violations
      +
      +
      +
    • +
    • +
      +

      validate

      +
      @NonNull +<T> +@NonNull Set<jakarta.validation.ConstraintViolation<T>> validate(@NonNull + @NonNull io.micronaut.core.beans.BeanIntrospection<T> introspection, + @NonNull + T object, + @NonNull + @NonNull BeanValidationContext context)
      +
      Validate the given introspection and object.
      +
      +
      Type Parameters:
      +
      T - The object type
      +
      Parameters:
      +
      introspection - The introspection
      +
      object - The object
      +
      context - The context
      +
      Returns:
      +
      The constraint violations
      +
      +
      +
    • +
    • +
      +

      validateProperty

      +
      @NonNull +<T> +@NonNull Set<jakarta.validation.ConstraintViolation<T>> validateProperty(@NonNull + T object, + @NonNull + @NonNull String propertyName, + Class<?>... groups)
      +
      +
      Specified by:
      +
      validateProperty in interface jakarta.validation.Validator
      +
      +
      +
    • +
    • +
      +

      validateProperty

      +
      @NonNull +<T> +@NonNull Set<jakarta.validation.ConstraintViolation<T>> validateProperty(@NonNull + T object, + @NonNull + @NonNull String propertyName, + BeanValidationContext context)
      +
      Validates all constraints placed on the property of object + named propertyName.
      +
      +
      Type Parameters:
      +
      T - the type of the object to validate
      +
      Parameters:
      +
      object - object to validate
      +
      propertyName - property to validate (i.e. field and getter constraints)
      +
      context - The context
      +
      Returns:
      +
      constraint violations or an empty set if none
      +
      Throws:
      +
      IllegalArgumentException - if object is null, + if propertyName is null, empty or not a valid object property + or if null is passed to the varargs groups
      +
      jakarta.validation.ValidationException - if a non recoverable error happens + during the validation process
      +
      +
      +
    • +
    • +
      +

      validateValue

      +
      @NonNull +<T> +@NonNull Set<jakarta.validation.ConstraintViolation<T>> validateValue(@NonNull + @NonNull Class<T> beanType, + @NonNull + @NonNull String propertyName, + @Nullable + @Nullable Object value, + Class<?>... groups)
      +
      +
      Specified by:
      +
      validateValue in interface jakarta.validation.Validator
      +
      +
      +
    • +
    • +
      +

      validateValue

      +
      @NonNull +<T> +@NonNull Set<jakarta.validation.ConstraintViolation<T>> validateValue(@NonNull + @NonNull Class<T> beanType, + @NonNull + @NonNull String propertyName, + @Nullable + @Nullable Object value, + BeanValidationContext context)
      +
      Validates all constraints placed on the property named propertyName + of the class beanType would the property value be value. +

      + ConstraintViolation objects return null for + ConstraintViolation.getRootBean() and + ConstraintViolation.getLeafBean().

      +
      +
      Type Parameters:
      +
      T - the type of the object to validate
      +
      Parameters:
      +
      beanType - the bean type
      +
      propertyName - property to validate
      +
      value - property value to validate
      +
      context - The context
      +
      Returns:
      +
      constraint violations or an empty set if none
      +
      Throws:
      +
      IllegalArgumentException - if beanType is null, + if propertyName is null, empty or not a valid object property + or if null is passed to the varargs groups
      +
      jakarta.validation.ValidationException - if a non recoverable error happens + during the validation process
      +
      +
      +
    • +
    • +
      +

      getInstance

      +
      @NonNull +static @NonNull Validator getInstance()
      +
      Constructs a new default instance. Note that the returned instance will not contain + managed ConstraintValidator instances and using + Inject should be preferred.
      +
      +
      Returns:
      +
      The validator.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/4.8.1/api/io/micronaut/validation/validator/ValidatorConfiguration.html b/4.8.1/api/io/micronaut/validation/validator/ValidatorConfiguration.html new file mode 100644 index 00000000..441084fc --- /dev/null +++ b/4.8.1/api/io/micronaut/validation/validator/ValidatorConfiguration.html @@ -0,0 +1,355 @@ + + + + +ValidatorConfiguration (validation-parent 4.8.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface ValidatorConfiguration

+
+
+
+
All Superinterfaces:
+
io.micronaut.core.convert.ConversionServiceProvider
+
+
+
All Known Implementing Classes:
+
DefaultValidatorConfiguration
+
+
+
public interface ValidatorConfiguration +extends io.micronaut.core.convert.ConversionServiceProvider
+
Configuration for the Validator.
+
+
Since:
+
1.2
+
Author:
+
graemerocher
+
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    + +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getConstraintValidatorRegistry

      +
      @NonNull +@NonNull ConstraintValidatorRegistry getConstraintValidatorRegistry()
      +
      +
      Returns:
      +
      The constraint registry to use.
      +
      +
      +
    • +
    • +
      +

      getConstraintValidatorFactory

      +
      @NonNull +@NonNull jakarta.validation.ConstraintValidatorFactory getConstraintValidatorFactory()
      +
      +
      Returns:
      +
      The constraint factory to use.
      +
      Since:
      +
      4.3.0
      +
      +
      +
    • +
    • +
      +

      getValueExtractorRegistry

      +
      @NonNull +@NonNull ValueExtractorRegistry getValueExtractorRegistry()
      +
      +
      Returns:
      +
      The value extractor registry
      +
      +
      +
    • +
    • +
      +

      getClockProvider

      +
      @NonNull +@NonNull jakarta.validation.ClockProvider getClockProvider()
      +
      +
      Returns:
      +
      The clock provider
      +
      +
      +
    • +
    • +
      +

      getDefaultClockProvider

      +
      @NonNull +@NonNull jakarta.validation.ClockProvider getDefaultClockProvider()
      +
      +
      Returns:
      +
      The default clock provider
      +
      +
      +
    • +
    • +
      +

      getTraversableResolver

      +
      @NonNull +@NonNull jakarta.validation.TraversableResolver getTraversableResolver()
      +
      +
      Returns:
      +
      The traversable resolver to use
      +
      +
      +
    • +
    • +
      +

      getDefaultTraversableResolver

      +
      @NonNull +@NonNull jakarta.validation.TraversableResolver getDefaultTraversableResolver()
      +
      +
      Returns:
      +
      The default traversable resolver to use
      +
      +
      +
    • +
    • +
      +

      getMessageInterpolator

      +
      @NonNull +@NonNull jakarta.validation.MessageInterpolator getMessageInterpolator()
      +
      +
      Returns:
      +
      The message interpolator
      +
      +
      +
    • +
    • +
      +

      getDefaultMessageInterpolator

      +
      @NonNull +@NonNull jakarta.validation.MessageInterpolator getDefaultMessageInterpolator()
      +
      +
      Returns:
      +
      The default message interpolator
      +
      +
      +
    • +
    • +
      +

      getExecutionHandleLocator

      +
      @NonNull +@NonNull io.micronaut.context.ExecutionHandleLocator getExecutionHandleLocator()
      +
      The execution handler locator to use.
      +
      +
      Returns:
      +
      The locator
      +
      +
      +
    • +
    • +
      +

      getBeanIntrospector

      +
      default io.micronaut.core.beans.BeanIntrospector getBeanIntrospector()
      +
      The bean introspector.
      +
      +
      Returns:
      +
      The introspector
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/4.8.1/api/io/micronaut/validation/validator/constraints/ConstraintValidator.html b/4.8.1/api/io/micronaut/validation/validator/constraints/ConstraintValidator.html new file mode 100644 index 00000000..4f1c1a8f --- /dev/null +++ b/4.8.1/api/io/micronaut/validation/validator/constraints/ConstraintValidator.html @@ -0,0 +1,222 @@ + + + + +ConstraintValidator (validation-parent 4.8.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface ConstraintValidator<A extends Annotation,T>

+
+
+
+
Type Parameters:
+
A - The annotation type
+
T - The supported validation types
+
+
+
All Superinterfaces:
+
jakarta.validation.ConstraintValidator<A,T>
+
+
+
All Known Subinterfaces:
+
DecimalMaxValidator<T>, DecimalMinValidator<T>, DigitsValidator<T>, SizeValidator<T>
+
+
+
All Known Implementing Classes:
+
EmailValidator, PatternValidator
+
+
+
Functional Interface:
+
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
+
+
+
@Indexed(ConstraintValidator.class) +@FunctionalInterface +public interface ConstraintValidator<A extends Annotation,T> +extends jakarta.validation.ConstraintValidator<A,T>
+
Constraint validator that can be used at either runtime or compilation time and + is capable of validation Constraint instances. Allows defining validators that work with both Hibernate validator and Micronaut's validator. + +

Unlike the specification's interface this one can uses as a functional interface. Implementor should not implement the ConstraintValidator.initialize(Annotation) method and should instead read the passed AnnotationValue.

+
+
+
    + +
  • +
    +

    Field Summary

    +
    Fields
    +
    +
    Modifier and Type
    +
    Field
    +
    Description
    + + +
    +
    A constraint validator that just returns the object as being valid.
    +
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    boolean
    +
    isValid(T value, + @NonNull io.micronaut.core.annotation.AnnotationValue<A> annotationMetadata, + @NonNull ConstraintValidatorContext context)
    +
    +
    Implements the validation logic.
    +
    +
    default boolean
    +
    isValid(T value, + jakarta.validation.ConstraintValidatorContext context)
    +
     
    +
    +
    +
    +
    +

    Methods inherited from interface jakarta.validation.ConstraintValidator

    +initialize
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Field Details

    + +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      isValid

      +
      boolean isValid(@Nullable + T value, + @NonNull + @NonNull io.micronaut.core.annotation.AnnotationValue<A> annotationMetadata, + @NonNull + @NonNull ConstraintValidatorContext context)
      +
      Implements the validation logic. + +

      Implementations should be thread-safe and immutable.

      +
      +
      Parameters:
      +
      value - object to validate
      +
      annotationMetadata - The annotation metadata
      +
      context - The context object
      +
      Returns:
      +
      false if value does not pass the constraint
      +
      +
      +
    • +
    • +
      +

      isValid

      +
      default boolean isValid(T value, + jakarta.validation.ConstraintValidatorContext context)
      +
      +
      Specified by:
      +
      isValid in interface jakarta.validation.ConstraintValidator<A extends Annotation,T>
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/4.8.1/api/io/micronaut/validation/validator/constraints/ConstraintValidatorContext.html b/4.8.1/api/io/micronaut/validation/validator/constraints/ConstraintValidatorContext.html new file mode 100644 index 00000000..98289f6b --- /dev/null +++ b/4.8.1/api/io/micronaut/validation/validator/constraints/ConstraintValidatorContext.html @@ -0,0 +1,203 @@ + + + + +ConstraintValidatorContext (validation-parent 4.8.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface ConstraintValidatorContext

+
+
+
+
All Superinterfaces:
+
jakarta.validation.ConstraintValidatorContext
+
+
+
public interface ConstraintValidatorContext +extends jakarta.validation.ConstraintValidatorContext
+
Subset of the ConstraintValidatorContext interface without the unnecessary parts.
+
+
Since:
+
1.2
+
Author:
+
graemerocher
+
+
+
+
    + +
  • +
    +

    Nested Class Summary

    +
    +

    Nested classes/interfaces inherited from interface jakarta.validation.ConstraintValidatorContext

    +jakarta.validation.ConstraintValidatorContext.ConstraintViolationBuilder
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    @NonNull jakarta.validation.ClockProvider
    + +
    +
    Returns the provider for obtaining the current time in the form of a Clock, + e.g.
    +
    +
    @Nullable Object
    + +
    +
    In case of using this constraint validator with jakarta.validation.ConstraintValidator returns null, because JRS-303 doesn't + support passing a root bean in their validation context.
    +
    +
    default void
    +
    messageTemplate(@Nullable String messageTemplate)
    +
    +
    Sets a message template to be used for the validation error message.
    +
    +
    +
    +
    +
    +

    Methods inherited from interface jakarta.validation.ConstraintValidatorContext

    +buildConstraintViolationWithTemplate, disableDefaultConstraintViolation, getDefaultConstraintMessageTemplate, unwrap
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getClockProvider

      +
      @NonNull +@NonNull jakarta.validation.ClockProvider getClockProvider()
      +
      Returns the provider for obtaining the current time in the form of a Clock, + e.g. when validating the Future and Past constraints.
      +
      +
      Specified by:
      +
      getClockProvider in interface jakarta.validation.ConstraintValidatorContext
      +
      Returns:
      +
      the provider for obtaining the current time, never null. If no + specific provider has been configured during bootstrap, a default implementation using + the current system time and the current default time zone as returned by + Clock.systemDefaultZone() will be returned.
      +
      Since:
      +
      2.0
      +
      +
      +
    • +
    • +
      +

      getRootBean

      +
      @Nullable +@Nullable Object getRootBean()
      +
      In case of using this constraint validator with jakarta.validation.ConstraintValidator returns null, because JRS-303 doesn't + support passing a root bean in their validation context.
      +
      +
      Returns:
      +
      The root bean under validation.
      +
      +
      +
    • +
    • +
      +

      messageTemplate

      +
      default void messageTemplate(@Nullable + @Nullable String messageTemplate)
      +
      Sets a message template to be used for the validation error message.
      +
      +
      Parameters:
      +
      messageTemplate - the message template
      +
      Since:
      +
      2.5.0
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/4.8.1/api/io/micronaut/validation/validator/constraints/ConstraintValidatorRegistry.html b/4.8.1/api/io/micronaut/validation/validator/constraints/ConstraintValidatorRegistry.html new file mode 100644 index 00000000..2336e939 --- /dev/null +++ b/4.8.1/api/io/micronaut/validation/validator/constraints/ConstraintValidatorRegistry.html @@ -0,0 +1,188 @@ + + + + +ConstraintValidatorRegistry (validation-parent 4.8.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface ConstraintValidatorRegistry

+
+
+
+
All Known Implementing Classes:
+
DefaultConstraintValidators
+
+
+
public interface ConstraintValidatorRegistry
+
Interface for a class that is a registry of contraint validator.
+
+
Since:
+
1.2
+
Author:
+
graemerocher
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      findConstraintValidator

      +
      @NonNull +<A extends Annotation, +T> +@NonNull Optional<ConstraintValidator<A,T>> findConstraintValidator(@NonNull + @NonNull Class<A> constraintType, + @NonNull + @NonNull Class<T> targetType)
      +
      Finds a constraint validator for the given type and target type.
      +
      +
      Type Parameters:
      +
      A - The annotation type
      +
      T - The target type
      +
      Parameters:
      +
      constraintType - The annotation type of the constraint.
      +
      targetType - The type being validated.
      +
      Returns:
      +
      The validator
      +
      +
      +
    • +
    • +
      +

      getConstraintValidator

      +
      @NonNull +default <A extends Annotation, +T> +@NonNull ConstraintValidator<A,T> getConstraintValidator(@NonNull + @NonNull Class<A> constraintType, + @NonNull + @NonNull Class<T> targetType)
      +
      Finds a constraint validator for the given type and target type.
      +
      +
      Type Parameters:
      +
      A - The annotation type
      +
      T - The target type
      +
      Parameters:
      +
      constraintType - The annotation type of the constraint.
      +
      targetType - The type being validated.
      +
      Returns:
      +
      The validator
      +
      Throws:
      +
      jakarta.validation.ValidationException - if no validator is present
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/4.8.1/api/io/micronaut/validation/validator/constraints/DecimalMaxValidator.html b/4.8.1/api/io/micronaut/validation/validator/constraints/DecimalMaxValidator.html new file mode 100644 index 00000000..c1beaf43 --- /dev/null +++ b/4.8.1/api/io/micronaut/validation/validator/constraints/DecimalMaxValidator.html @@ -0,0 +1,201 @@ + + + + +DecimalMaxValidator (validation-parent 4.8.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface DecimalMaxValidator<T>

+
+
+
+
Type Parameters:
+
T - The type to constrain
+
+
+
All Superinterfaces:
+
ConstraintValidator<jakarta.validation.constraints.DecimalMax,T>, jakarta.validation.ConstraintValidator<jakarta.validation.constraints.DecimalMax,T>
+
+
+
public interface DecimalMaxValidator<T> +extends ConstraintValidator<jakarta.validation.constraints.DecimalMax,T>
+
Abstract implementation of a validator for DecimalMax.
+
+
Since:
+
1.2
+
Author:
+
graemerocher
+
+
+
+
    + +
  • +
    +

    Field Summary

    +
    +

    Fields inherited from interface io.micronaut.validation.validator.constraints.ConstraintValidator

    +VALID
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    int
    +
    doComparison(T value, + @NonNull BigDecimal bigDecimal)
    +
    +
    Perform the comparison for the given value.
    +
    +
    default boolean
    +
    isValid(T value, + @NonNull io.micronaut.core.annotation.AnnotationValue<jakarta.validation.constraints.DecimalMax> annotationMetadata, + @NonNull ConstraintValidatorContext context)
    +
    +
    Implements the validation logic.
    +
    +
    +
    +
    +
    +

    Methods inherited from interface io.micronaut.validation.validator.constraints.ConstraintValidator

    +isValid
    +
    +

    Methods inherited from interface jakarta.validation.ConstraintValidator

    +initialize
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      isValid

      +
      default boolean isValid(@Nullable + T value, + @NonNull + @NonNull io.micronaut.core.annotation.AnnotationValue<jakarta.validation.constraints.DecimalMax> annotationMetadata, + @NonNull + @NonNull ConstraintValidatorContext context)
      +
      Description copied from interface: ConstraintValidator
      +
      Implements the validation logic. + +

      Implementations should be thread-safe and immutable.

      +
      +
      Specified by:
      +
      isValid in interface ConstraintValidator<jakarta.validation.constraints.DecimalMax,T>
      +
      Parameters:
      +
      value - object to validate
      +
      annotationMetadata - The annotation metadata
      +
      context - The context object
      +
      Returns:
      +
      false if value does not pass the constraint
      +
      +
      +
    • +
    • +
      +

      doComparison

      +
      int doComparison(@NonNull + T value, + @NonNull + @NonNull BigDecimal bigDecimal)
      +
      Perform the comparison for the given value.
      +
      +
      Parameters:
      +
      value - The value
      +
      bigDecimal - The big decimal
      +
      Returns:
      +
      The result
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/4.8.1/api/io/micronaut/validation/validator/constraints/DecimalMinValidator.html b/4.8.1/api/io/micronaut/validation/validator/constraints/DecimalMinValidator.html new file mode 100644 index 00000000..6bf171ae --- /dev/null +++ b/4.8.1/api/io/micronaut/validation/validator/constraints/DecimalMinValidator.html @@ -0,0 +1,206 @@ + + + + +DecimalMinValidator (validation-parent 4.8.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface DecimalMinValidator<T>

+
+
+
+
Type Parameters:
+
T - The target type.
+
+
+
All Superinterfaces:
+
ConstraintValidator<jakarta.validation.constraints.DecimalMin,T>, jakarta.validation.ConstraintValidator<jakarta.validation.constraints.DecimalMin,T>
+
+
+
Functional Interface:
+
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
+
+
+
@FunctionalInterface +public interface DecimalMinValidator<T> +extends ConstraintValidator<jakarta.validation.constraints.DecimalMin,T>
+
Abstract implementation of a validator for DecimalMin.
+
+
Since:
+
1.2
+
Author:
+
graemerocher
+
+
+
+
    + +
  • +
    +

    Field Summary

    +
    +

    Fields inherited from interface io.micronaut.validation.validator.constraints.ConstraintValidator

    +VALID
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    int
    +
    doComparison(T value, + @NonNull BigDecimal bigDecimal)
    +
    +
    Perform the comparison for the given value.
    +
    +
    default boolean
    +
    isValid(T value, + @NonNull io.micronaut.core.annotation.AnnotationValue<jakarta.validation.constraints.DecimalMin> annotationMetadata, + @NonNull ConstraintValidatorContext context)
    +
    +
    Implements the validation logic.
    +
    +
    +
    +
    +
    +

    Methods inherited from interface io.micronaut.validation.validator.constraints.ConstraintValidator

    +isValid
    +
    +

    Methods inherited from interface jakarta.validation.ConstraintValidator

    +initialize
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      isValid

      +
      default boolean isValid(@Nullable + T value, + @NonNull + @NonNull io.micronaut.core.annotation.AnnotationValue<jakarta.validation.constraints.DecimalMin> annotationMetadata, + @NonNull + @NonNull ConstraintValidatorContext context)
      +
      Description copied from interface: ConstraintValidator
      +
      Implements the validation logic. + +

      Implementations should be thread-safe and immutable.

      +
      +
      Specified by:
      +
      isValid in interface ConstraintValidator<jakarta.validation.constraints.DecimalMin,T>
      +
      Parameters:
      +
      value - object to validate
      +
      annotationMetadata - The annotation metadata
      +
      context - The context object
      +
      Returns:
      +
      false if value does not pass the constraint
      +
      +
      +
    • +
    • +
      +

      doComparison

      +
      int doComparison(@NonNull + T value, + @NonNull + @NonNull BigDecimal bigDecimal)
      +
      Perform the comparison for the given value.
      +
      +
      Parameters:
      +
      value - The value
      +
      bigDecimal - The big decimal
      +
      Returns:
      +
      The result
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/4.8.1/api/io/micronaut/validation/validator/constraints/DefaultConstraintValidators.ValidatorKey.html b/4.8.1/api/io/micronaut/validation/validator/constraints/DefaultConstraintValidators.ValidatorKey.html new file mode 100644 index 00000000..d9716889 --- /dev/null +++ b/4.8.1/api/io/micronaut/validation/validator/constraints/DefaultConstraintValidators.ValidatorKey.html @@ -0,0 +1,263 @@ + + + + +DefaultConstraintValidators.ValidatorKey (validation-parent 4.8.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Record Class DefaultConstraintValidators.ValidatorKey

+
+
java.lang.Object +
java.lang.Record +
io.micronaut.validation.validator.constraints.DefaultConstraintValidators.ValidatorKey
+
+
+
+
+
Record Components:
+
constraintType - The constraint type
+
targetType - The target type
+
+
+
Enclosing class:
+
DefaultConstraintValidators
+
+
+
public static record DefaultConstraintValidators.ValidatorKey(@NonNull Class<?> constraintType, @NonNull Class<?> targetType) +extends Record
+
Key for caching validators.
+
+
+
    + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    +
    ValidatorKey(@NonNull Class<?> constraintType, + @NonNull Class<?> targetType)
    +
    +
    Creates an instance of a ValidatorKey record class.
    +
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    @NonNull Class<?>
    + +
    +
    Returns the value of the constraintType record component.
    +
    +
    final boolean
    + +
    +
    Indicates whether some other object is "equal to" this one.
    +
    +
    final int
    + +
    +
    Returns a hash code value for this object.
    +
    +
    @NonNull Class<?>
    + +
    +
    Returns the value of the targetType record component.
    +
    +
    final String
    + +
    +
    Returns a string representation of this record class.
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      ValidatorKey

      +
      public ValidatorKey(@NonNull + @NonNull Class<?> constraintType, + @NonNull + @NonNull Class<?> targetType)
      +
      Creates an instance of a ValidatorKey record class.
      +
      +
      Parameters:
      +
      constraintType - the value for the constraintType record component
      +
      targetType - the value for the targetType record component
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      toString

      +
      public final String toString()
      +
      Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.
      +
      +
      Specified by:
      +
      toString in class Record
      +
      Returns:
      +
      a string representation of this object
      +
      +
      +
    • +
    • +
      +

      hashCode

      +
      public final int hashCode()
      +
      Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
      +
      +
      Specified by:
      +
      hashCode in class Record
      +
      Returns:
      +
      a hash code value for this object
      +
      +
      +
    • +
    • +
      +

      equals

      +
      public final boolean equals(Object o)
      +
      Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. All components in this record class are compared with Objects::equals(Object,Object).
      +
      +
      Specified by:
      +
      equals in class Record
      +
      Parameters:
      +
      o - the object with which to compare
      +
      Returns:
      +
      true if this object is the same as the o argument; false otherwise.
      +
      +
      +
    • +
    • +
      +

      constraintType

      +
      @NonNull +public @NonNull Class<?> constraintType()
      +
      Returns the value of the constraintType record component.
      +
      +
      Returns:
      +
      the value of the constraintType record component
      +
      +
      +
    • +
    • +
      +

      targetType

      +
      @NonNull +public @NonNull Class<?> targetType()
      +
      Returns the value of the targetType record component.
      +
      +
      Returns:
      +
      the value of the targetType record component
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/4.8.1/api/io/micronaut/validation/validator/constraints/DefaultConstraintValidators.html b/4.8.1/api/io/micronaut/validation/validator/constraints/DefaultConstraintValidators.html new file mode 100644 index 00000000..279af5e2 --- /dev/null +++ b/4.8.1/api/io/micronaut/validation/validator/constraints/DefaultConstraintValidators.html @@ -0,0 +1,267 @@ + + + + +DefaultConstraintValidators (validation-parent 4.8.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class DefaultConstraintValidators

+
+
java.lang.Object +
io.micronaut.validation.validator.constraints.DefaultConstraintValidators
+
+
+
+
All Implemented Interfaces:
+
ConstraintValidatorRegistry
+
+
+
@Singleton +@Introspected +public class DefaultConstraintValidators +extends Object +implements ConstraintValidatorRegistry
+
A factory bean that contains implementation for many of the default validations. + This approach is preferred as it generates fewer classes and smaller byte code than defining a + validator class for each case.
+
+
Since:
+
1.2
+
Author:
+
graemerocher
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      DefaultConstraintValidators

      +
      public DefaultConstraintValidators()
      +
      Default constructor.
      +
      +
    • +
    • +
      +

      DefaultConstraintValidators

      +
      @Inject +public DefaultConstraintValidators(@Nullable + @Nullable io.micronaut.context.BeanContext beanContext)
      +
      Constructor used for DI.
      +
      +
      Parameters:
      +
      beanContext - The bean context
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      findConstraintValidator

      +
      @NonNull +public <A extends Annotation, +T> +@NonNull Optional<ConstraintValidator<A,T>> findConstraintValidator(@NonNull + @NonNull Class<A> constraintType, + @NonNull + @NonNull Class<T> targetType)
      +
      Description copied from interface: ConstraintValidatorRegistry
      +
      Finds a constraint validator for the given type and target type.
      +
      +
      Specified by:
      +
      findConstraintValidator in interface ConstraintValidatorRegistry
      +
      Type Parameters:
      +
      A - The annotation type
      +
      T - The target type
      +
      Parameters:
      +
      constraintType - The annotation type of the constraint.
      +
      targetType - The type being validated.
      +
      Returns:
      +
      The validator
      +
      +
      +
    • +
    • +
      +

      findLocalConstraintValidator

      +
      protected <A extends Annotation, +T> +Optional<ConstraintValidator<A,T>> findLocalConstraintValidator(@NonNull + @NonNull Class<A> constraintType, + @NonNull + @NonNull Class<T> targetType)
      +
      Last chance resolve for constraint validator.
      +
      +
      Type Parameters:
      +
      A - The annotation type
      +
      T - The target type
      +
      Parameters:
      +
      constraintType - The constraint type
      +
      targetType - The target type
      +
      Returns:
      +
      The validator if present
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/4.8.1/api/io/micronaut/validation/validator/constraints/DefaultInternalConstraintValidatorFactory.html b/4.8.1/api/io/micronaut/validation/validator/constraints/DefaultInternalConstraintValidatorFactory.html new file mode 100644 index 00000000..dd1aaa31 --- /dev/null +++ b/4.8.1/api/io/micronaut/validation/validator/constraints/DefaultInternalConstraintValidatorFactory.html @@ -0,0 +1,237 @@ + + + + +DefaultInternalConstraintValidatorFactory (validation-parent 4.8.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class DefaultInternalConstraintValidatorFactory

+
+
java.lang.Object +
io.micronaut.validation.validator.constraints.DefaultInternalConstraintValidatorFactory
+
+
+
+
All Implemented Interfaces:
+
InternalConstraintValidatorFactory, jakarta.validation.ConstraintValidatorFactory
+
+
+
@Bean(typed=InternalConstraintValidatorFactory.class) +@Singleton +@Internal +public class DefaultInternalConstraintValidatorFactory +extends Object +implements InternalConstraintValidatorFactory
+
The default implementation of InternalConstraintValidatorFactory.
+
+
Since:
+
4.3.0
+
Author:
+
Denis Stepanov
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      DefaultInternalConstraintValidatorFactory

      +
      public DefaultInternalConstraintValidatorFactory(io.micronaut.core.beans.BeanIntrospector beanIntrospector, + @Nullable + @Nullable io.micronaut.context.BeanContext beanContext)
      +
      +
    • +
    • +
      +

      DefaultInternalConstraintValidatorFactory

      +
      @Inject +public DefaultInternalConstraintValidatorFactory(io.micronaut.context.BeanContext beanContext)
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getInstance

      +
      public <T extends jakarta.validation.ConstraintValidator<?, +?>> +T getInstance(Class<T> type)
      +
      +
      Specified by:
      +
      getInstance in interface jakarta.validation.ConstraintValidatorFactory
      +
      +
      +
    • +
    • +
      +

      releaseInstance

      +
      public void releaseInstance(jakarta.validation.ConstraintValidator<?,?> constraintValidator)
      +
      +
      Specified by:
      +
      releaseInstance in interface jakarta.validation.ConstraintValidatorFactory
      +
      +
      +
    • +
    • +
      +

      getInstance

      +
      public <T extends jakarta.validation.ConstraintValidator<?, +?>> +T getInstance(Class<T> type, + Class<?> targetType, + jakarta.validation.ConstraintTarget constraintTarget)
      +
      Description copied from interface: InternalConstraintValidatorFactory
      +
      Find an instance ConstraintValidator.
      +
      +
      Specified by:
      +
      getInstance in interface InternalConstraintValidatorFactory
      +
      Type Parameters:
      +
      T - The validator type
      +
      Parameters:
      +
      type - The validator type
      +
      targetType - The target type
      +
      constraintTarget - The constraint target
      +
      Returns:
      +
      a new instance or null if not supported
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/4.8.1/api/io/micronaut/validation/validator/constraints/DigitsValidator.html b/4.8.1/api/io/micronaut/validation/validator/constraints/DigitsValidator.html new file mode 100644 index 00000000..a800d415 --- /dev/null +++ b/4.8.1/api/io/micronaut/validation/validator/constraints/DigitsValidator.html @@ -0,0 +1,202 @@ + + + + +DigitsValidator (validation-parent 4.8.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface DigitsValidator<T>

+
+
+
+
Type Parameters:
+
T - The target type
+
+
+
All Superinterfaces:
+
ConstraintValidator<jakarta.validation.constraints.Digits,T>, jakarta.validation.ConstraintValidator<jakarta.validation.constraints.Digits,T>
+
+
+
Functional Interface:
+
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
+
+
+
@FunctionalInterface +public interface DigitsValidator<T> +extends ConstraintValidator<jakarta.validation.constraints.Digits,T>
+
Abstract Digits validator implementation.
+
+
Since:
+
1.2
+
Author:
+
graemerocher
+
+
+
+
    + +
  • +
    +

    Field Summary

    +
    +

    Fields inherited from interface io.micronaut.validation.validator.constraints.ConstraintValidator

    +VALID
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + + +
    +
    Resolve a big decimal for the given value.
    +
    +
    default boolean
    +
    isValid(T value, + @NonNull io.micronaut.core.annotation.AnnotationValue<jakarta.validation.constraints.Digits> annotationMetadata, + @NonNull ConstraintValidatorContext context)
    +
    +
    Implements the validation logic.
    +
    +
    +
    +
    +
    +

    Methods inherited from interface io.micronaut.validation.validator.constraints.ConstraintValidator

    +isValid
    +
    +

    Methods inherited from interface jakarta.validation.ConstraintValidator

    +initialize
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      isValid

      +
      default boolean isValid(@Nullable + T value, + @NonNull + @NonNull io.micronaut.core.annotation.AnnotationValue<jakarta.validation.constraints.Digits> annotationMetadata, + @NonNull + @NonNull ConstraintValidatorContext context)
      +
      Description copied from interface: ConstraintValidator
      +
      Implements the validation logic. + +

      Implementations should be thread-safe and immutable.

      +
      +
      Specified by:
      +
      isValid in interface ConstraintValidator<jakarta.validation.constraints.Digits,T>
      +
      Parameters:
      +
      value - object to validate
      +
      annotationMetadata - The annotation metadata
      +
      context - The context object
      +
      Returns:
      +
      false if value does not pass the constraint
      +
      +
      +
    • +
    • +
      +

      getBigDecimal

      +
      BigDecimal getBigDecimal(@NonNull + T value)
      +
      Resolve a big decimal for the given value.
      +
      +
      Parameters:
      +
      value - The value
      +
      Returns:
      +
      The big decimal
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/4.8.1/api/io/micronaut/validation/validator/constraints/DomainNameUtil.html b/4.8.1/api/io/micronaut/validation/validator/constraints/DomainNameUtil.html new file mode 100644 index 00000000..7455dc9c --- /dev/null +++ b/4.8.1/api/io/micronaut/validation/validator/constraints/DomainNameUtil.html @@ -0,0 +1,164 @@ + + + + +DomainNameUtil (validation-parent 4.8.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class DomainNameUtil

+
+
java.lang.Object +
io.micronaut.validation.validator.constraints.DomainNameUtil
+
+
+
+
public final class DomainNameUtil +extends Object
+
Forked from Hibernate Validator.
+
+
Author:
+
Marko Bekhta, Guillaume Smet
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      isValidEmailDomainAddress

      +
      public static boolean isValidEmailDomainAddress(String domain)
      +
      Checks the validity of the domain name used in an email. To be valid it should be either a valid host name, or an + IP address wrapped in [].
      +
      +
      Parameters:
      +
      domain - domain to check for validity
      +
      Returns:
      +
      true if the provided string is a valid domain, false otherwise
      +
      +
      +
    • +
    • +
      +

      isValidDomainAddress

      +
      public static boolean isValidDomainAddress(String domain)
      +
      Checks validity of a domain name.
      +
      +
      Parameters:
      +
      domain - the domain to check for validity
      +
      Returns:
      +
      true if the provided string is a valid domain, false otherwise
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/4.8.1/api/io/micronaut/validation/validator/constraints/EmailValidator.html b/4.8.1/api/io/micronaut/validation/validator/constraints/EmailValidator.html new file mode 100644 index 00000000..fd963126 --- /dev/null +++ b/4.8.1/api/io/micronaut/validation/validator/constraints/EmailValidator.html @@ -0,0 +1,204 @@ + + + + +EmailValidator (validation-parent 4.8.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class EmailValidator

+
+
java.lang.Object +
io.micronaut.validation.validator.constraints.EmailValidator
+
+
+
+
All Implemented Interfaces:
+
ConstraintValidator<jakarta.validation.constraints.Email,CharSequence>, jakarta.validation.ConstraintValidator<jakarta.validation.constraints.Email,CharSequence>
+
+
+
@Singleton +public class EmailValidator +extends Object
+
Provides Email validation. Largely based off the Hibernate validator implementation.
+
+
Author:
+
Emmanuel Bernard, Hardy Ferentschik, Guillaume Smet, graemerocher
+
+
+
+
    + +
  • +
    +

    Field Summary

    +
    +

    Fields inherited from interface io.micronaut.validation.validator.constraints.ConstraintValidator

    +VALID
    +
    +
  • + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    + +
     
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    boolean
    +
    isValid(@Nullable CharSequence value, + @NonNull io.micronaut.core.annotation.AnnotationValue<jakarta.validation.constraints.Email> annotationMetadata, + @NonNull ConstraintValidatorContext context)
    +
    +
    Implements the validation logic.
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +

    Methods inherited from interface io.micronaut.validation.validator.constraints.ConstraintValidator

    +isValid
    +
    +

    Methods inherited from interface jakarta.validation.ConstraintValidator

    +initialize
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      EmailValidator

      +
      public EmailValidator()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      isValid

      +
      public boolean isValid(@Nullable + @Nullable CharSequence value, + @NonNull + @NonNull io.micronaut.core.annotation.AnnotationValue<jakarta.validation.constraints.Email> annotationMetadata, + @NonNull + @NonNull ConstraintValidatorContext context)
      +
      Description copied from interface: ConstraintValidator
      +
      Implements the validation logic. + +

      Implementations should be thread-safe and immutable.

      +
      +
      Parameters:
      +
      value - object to validate
      +
      annotationMetadata - The annotation metadata
      +
      context - The context object
      +
      Returns:
      +
      false if value does not pass the constraint
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/4.8.1/api/io/micronaut/validation/validator/constraints/InternalConstraintValidatorFactory.html b/4.8.1/api/io/micronaut/validation/validator/constraints/InternalConstraintValidatorFactory.html new file mode 100644 index 00000000..7bce8681 --- /dev/null +++ b/4.8.1/api/io/micronaut/validation/validator/constraints/InternalConstraintValidatorFactory.html @@ -0,0 +1,168 @@ + + + + +InternalConstraintValidatorFactory (validation-parent 4.8.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface InternalConstraintValidatorFactory

+
+
+
+
All Superinterfaces:
+
jakarta.validation.ConstraintValidatorFactory
+
+
+
All Known Implementing Classes:
+
DefaultInternalConstraintValidatorFactory
+
+
+
@Internal +public interface InternalConstraintValidatorFactory +extends jakarta.validation.ConstraintValidatorFactory
+
Internal version of ConstraintValidatorFactory.
+
+
Since:
+
4.3.0
+
Author:
+
Denis Stepanov
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    <T extends jakarta.validation.ConstraintValidator<?, +?>>
    T
    +
    getInstance(@NonNull Class<T> validatorType, + @NonNull Class<?> targetType, + @NonNull jakarta.validation.ConstraintTarget constraintTarget)
    +
    +
    Find an instance ConstraintValidator.
    +
    +
    +
    +
    +
    +

    Methods inherited from interface jakarta.validation.ConstraintValidatorFactory

    +getInstance, releaseInstance
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getInstance

      +
      @Nullable +<T extends jakarta.validation.ConstraintValidator<?, +?>> +T getInstance(@NonNull + @NonNull Class<T> validatorType, + @NonNull + @NonNull Class<?> targetType, + @NonNull + @NonNull jakarta.validation.ConstraintTarget constraintTarget)
      +
      Find an instance ConstraintValidator.
      +
      +
      Type Parameters:
      +
      T - The validator type
      +
      Parameters:
      +
      validatorType - The validator type
      +
      targetType - The target type
      +
      constraintTarget - The constraint target
      +
      Returns:
      +
      a new instance or null if not supported
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/4.8.1/api/io/micronaut/validation/validator/constraints/PatternValidator.html b/4.8.1/api/io/micronaut/validation/validator/constraints/PatternValidator.html new file mode 100644 index 00000000..61b0bb19 --- /dev/null +++ b/4.8.1/api/io/micronaut/validation/validator/constraints/PatternValidator.html @@ -0,0 +1,206 @@ + + + + +PatternValidator (validation-parent 4.8.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class PatternValidator

+
+
java.lang.Object +
io.micronaut.validation.validator.constraints.PatternValidator
+
+
+
+
All Implemented Interfaces:
+
ConstraintValidator<jakarta.validation.constraints.Pattern,CharSequence>, jakarta.validation.ConstraintValidator<jakarta.validation.constraints.Pattern,CharSequence>
+
+
+
@Singleton +public class PatternValidator +extends Object
+
Validator for the Pattern annotation.
+
+
Since:
+
1.2
+
Author:
+
graemerocher
+
+
+
+
    + +
  • +
    +

    Field Summary

    +
    +

    Fields inherited from interface io.micronaut.validation.validator.constraints.ConstraintValidator

    +VALID
    +
    +
  • + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    + +
     
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    boolean
    +
    isValid(@Nullable CharSequence value, + @NonNull io.micronaut.core.annotation.AnnotationValue<jakarta.validation.constraints.Pattern> annotationMetadata, + @NonNull ConstraintValidatorContext context)
    +
    +
    Implements the validation logic.
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +

    Methods inherited from interface io.micronaut.validation.validator.constraints.ConstraintValidator

    +isValid
    +
    +

    Methods inherited from interface jakarta.validation.ConstraintValidator

    +initialize
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      PatternValidator

      +
      public PatternValidator()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      isValid

      +
      public boolean isValid(@Nullable + @Nullable CharSequence value, + @NonNull + @NonNull io.micronaut.core.annotation.AnnotationValue<jakarta.validation.constraints.Pattern> annotationMetadata, + @NonNull + @NonNull ConstraintValidatorContext context)
      +
      Description copied from interface: ConstraintValidator
      +
      Implements the validation logic. + +

      Implementations should be thread-safe and immutable.

      +
      +
      Parameters:
      +
      value - object to validate
      +
      annotationMetadata - The annotation metadata
      +
      context - The context object
      +
      Returns:
      +
      false if value does not pass the constraint
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/4.8.1/api/io/micronaut/validation/validator/constraints/SizeValidator.html b/4.8.1/api/io/micronaut/validation/validator/constraints/SizeValidator.html new file mode 100644 index 00000000..e31676c2 --- /dev/null +++ b/4.8.1/api/io/micronaut/validation/validator/constraints/SizeValidator.html @@ -0,0 +1,202 @@ + + + + +SizeValidator (validation-parent 4.8.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface SizeValidator<T>

+
+
+
+
Type Parameters:
+
T - The type to constrain
+
+
+
All Superinterfaces:
+
ConstraintValidator<jakarta.validation.constraints.Size,T>, jakarta.validation.ConstraintValidator<jakarta.validation.constraints.Size,T>
+
+
+
Functional Interface:
+
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
+
+
+
@FunctionalInterface +public interface SizeValidator<T> +extends ConstraintValidator<jakarta.validation.constraints.Size,T>
+
Abstract implementation of a Size validator.
+
+
Since:
+
1.2
+
Author:
+
graemerocher
+
+
+
+
    + +
  • +
    +

    Field Summary

    +
    +

    Fields inherited from interface io.micronaut.validation.validator.constraints.ConstraintValidator

    +VALID
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    int
    +
    getSize(T value)
    +
    +
    Evaluate the size for the given value.
    +
    +
    default boolean
    +
    isValid(T value, + @NonNull io.micronaut.core.annotation.AnnotationValue<jakarta.validation.constraints.Size> annotationMetadata, + @NonNull ConstraintValidatorContext context)
    +
    +
    Implements the validation logic.
    +
    +
    +
    +
    +
    +

    Methods inherited from interface io.micronaut.validation.validator.constraints.ConstraintValidator

    +isValid
    +
    +

    Methods inherited from interface jakarta.validation.ConstraintValidator

    +initialize
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      isValid

      +
      default boolean isValid(@Nullable + T value, + @NonNull + @NonNull io.micronaut.core.annotation.AnnotationValue<jakarta.validation.constraints.Size> annotationMetadata, + @NonNull + @NonNull ConstraintValidatorContext context)
      +
      Description copied from interface: ConstraintValidator
      +
      Implements the validation logic. + +

      Implementations should be thread-safe and immutable.

      +
      +
      Specified by:
      +
      isValid in interface ConstraintValidator<jakarta.validation.constraints.Size,T>
      +
      Parameters:
      +
      value - object to validate
      +
      annotationMetadata - The annotation metadata
      +
      context - The context object
      +
      Returns:
      +
      false if value does not pass the constraint
      +
      +
      +
    • +
    • +
      +

      getSize

      +
      int getSize(@NonNull + T value)
      +
      Evaluate the size for the given value.
      +
      +
      Parameters:
      +
      value - The value
      +
      Returns:
      +
      The size
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/4.8.1/api/io/micronaut/validation/validator/constraints/package-summary.html b/4.8.1/api/io/micronaut/validation/validator/constraints/package-summary.html new file mode 100644 index 00000000..586ec627 --- /dev/null +++ b/4.8.1/api/io/micronaut/validation/validator/constraints/package-summary.html @@ -0,0 +1,160 @@ + + + + +io.micronaut.validation.validator.constraints (validation-parent 4.8.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Package io.micronaut.validation.validator.constraints

+
+
+
package io.micronaut.validation.validator.constraints
+
+ +
+
+
+
+ + diff --git a/4.8.1/api/io/micronaut/validation/validator/constraints/package-tree.html b/4.8.1/api/io/micronaut/validation/validator/constraints/package-tree.html new file mode 100644 index 00000000..fea4a87f --- /dev/null +++ b/4.8.1/api/io/micronaut/validation/validator/constraints/package-tree.html @@ -0,0 +1,108 @@ + + + + +io.micronaut.validation.validator.constraints Class Hierarchy (validation-parent 4.8.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package io.micronaut.validation.validator.constraints

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+
+
+ + diff --git a/4.8.1/api/io/micronaut/validation/validator/extractors/DefaultValueExtractors.html b/4.8.1/api/io/micronaut/validation/validator/extractors/DefaultValueExtractors.html new file mode 100644 index 00000000..c2cb5690 --- /dev/null +++ b/4.8.1/api/io/micronaut/validation/validator/extractors/DefaultValueExtractors.html @@ -0,0 +1,226 @@ + + + + +DefaultValueExtractors (validation-parent 4.8.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class DefaultValueExtractors

+
+
java.lang.Object +
io.micronaut.validation.validator.extractors.DefaultValueExtractors
+
+
+
+
All Implemented Interfaces:
+
ValueExtractorRegistry
+
+
+
@Internal +@Singleton +@Introspected +public final class DefaultValueExtractors +extends Object +implements ValueExtractorRegistry
+
The default value extractors.
+
+
Since:
+
1.2
+
Author:
+
graemerocher
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      DefaultValueExtractors

      +
      public DefaultValueExtractors()
      +
      Default constructor.
      +
      +
    • +
    • +
      +

      DefaultValueExtractors

      +
      @Inject +protected DefaultValueExtractors(@Nullable + @Nullable io.micronaut.context.BeanContext beanContext)
      +
      Constructor used during DI.
      +
      +
      Parameters:
      +
      beanContext - The bean context
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    + +
    +
  • +
+
+ +
+
+
+ + diff --git a/4.8.1/api/io/micronaut/validation/validator/extractors/ValueExtractorDefinition.html b/4.8.1/api/io/micronaut/validation/validator/extractors/ValueExtractorDefinition.html new file mode 100644 index 00000000..5918ba90 --- /dev/null +++ b/4.8.1/api/io/micronaut/validation/validator/extractors/ValueExtractorDefinition.html @@ -0,0 +1,339 @@ + + + + +ValueExtractorDefinition (validation-parent 4.8.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Record Class ValueExtractorDefinition<T>

+
+
java.lang.Object +
java.lang.Record +
io.micronaut.validation.validator.extractors.ValueExtractorDefinition<T>
+
+
+
+
+
Type Parameters:
+
T - The value type
+
Record Components:
+
containerType - The container type
+
valueType - The value type
+
typeArgumentIndex - The type argument
+
unwrapByDefault - Is unwrapped by default
+
valueExtractor - The value extractor
+
+
+
public record ValueExtractorDefinition<T>(@NonNull Class<T> containerType, @NonNull Class<Object> valueType, @Nullable Integer typeArgumentIndex, boolean unwrapByDefault, jakarta.validation.valueextraction.ValueExtractor<T> valueExtractor) +extends Record
+
The value extractor definition.
+
+
Author:
+
Denis Stepanov
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      ValueExtractorDefinition

      +
      public ValueExtractorDefinition(@NotNull + @NotNull io.micronaut.core.type.Argument<jakarta.validation.valueextraction.ValueExtractor<T>> argument, + @NotNull + @NotNull jakarta.validation.valueextraction.ValueExtractor<T> valueExtractor)
      +
      +
    • +
    • +
      +

      ValueExtractorDefinition

      +
      public ValueExtractorDefinition(@NonNull + @NonNull Class<T> containerType, + @NonNull + @NonNull Class<Object> valueType, + @Nullable + @Nullable Integer typeArgumentIndex, + boolean unwrapByDefault, + jakarta.validation.valueextraction.ValueExtractor<T> valueExtractor)
      +
      Creates an instance of a ValueExtractorDefinition record class.
      +
      +
      Parameters:
      +
      containerType - the value for the containerType record component
      +
      valueType - the value for the valueType record component
      +
      typeArgumentIndex - the value for the typeArgumentIndex record component
      +
      unwrapByDefault - the value for the unwrapByDefault record component
      +
      valueExtractor - the value for the valueExtractor record component
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      toString

      +
      public final String toString()
      +
      Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.
      +
      +
      Specified by:
      +
      toString in class Record
      +
      Returns:
      +
      a string representation of this object
      +
      +
      +
    • +
    • +
      +

      hashCode

      +
      public final int hashCode()
      +
      Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
      +
      +
      Specified by:
      +
      hashCode in class Record
      +
      Returns:
      +
      a hash code value for this object
      +
      +
      +
    • +
    • +
      +

      equals

      +
      public final boolean equals(Object o)
      +
      Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. Reference components are compared with Objects::equals(Object,Object); primitive components are compared with '=='.
      +
      +
      Specified by:
      +
      equals in class Record
      +
      Parameters:
      +
      o - the object with which to compare
      +
      Returns:
      +
      true if this object is the same as the o argument; false otherwise.
      +
      +
      +
    • +
    • +
      +

      containerType

      +
      @NonNull +public @NonNull Class<T> containerType()
      +
      Returns the value of the containerType record component.
      +
      +
      Returns:
      +
      the value of the containerType record component
      +
      +
      +
    • +
    • +
      +

      valueType

      +
      @NonNull +public @NonNull Class<Object> valueType()
      +
      Returns the value of the valueType record component.
      +
      +
      Returns:
      +
      the value of the valueType record component
      +
      +
      +
    • +
    • +
      +

      typeArgumentIndex

      +
      @Nullable +public @Nullable Integer typeArgumentIndex()
      +
      Returns the value of the typeArgumentIndex record component.
      +
      +
      Returns:
      +
      the value of the typeArgumentIndex record component
      +
      +
      +
    • +
    • +
      +

      unwrapByDefault

      +
      public boolean unwrapByDefault()
      +
      Returns the value of the unwrapByDefault record component.
      +
      +
      Returns:
      +
      the value of the unwrapByDefault record component
      +
      +
      +
    • +
    • +
      +

      valueExtractor

      +
      public jakarta.validation.valueextraction.ValueExtractor<T> valueExtractor()
      +
      Returns the value of the valueExtractor record component.
      +
      +
      Returns:
      +
      the value of the valueExtractor record component
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/4.8.1/api/io/micronaut/validation/validator/extractors/ValueExtractorRegistry.html b/4.8.1/api/io/micronaut/validation/validator/extractors/ValueExtractorRegistry.html new file mode 100644 index 00000000..cc84c628 --- /dev/null +++ b/4.8.1/api/io/micronaut/validation/validator/extractors/ValueExtractorRegistry.html @@ -0,0 +1,157 @@ + + + + +ValueExtractorRegistry (validation-parent 4.8.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface ValueExtractorRegistry

+
+
+
+
All Known Implementing Classes:
+
DefaultValueExtractors
+
+
+
public interface ValueExtractorRegistry
+
Registry of value extractors.
+
+
Since:
+
1.2
+
Author:
+
graemerocher
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      addValueExtractor

      +
      <T> void addValueExtractor(ValueExtractorDefinition<T> valueExtractorDefinition)
      +
      +
    • +
    • +
      +

      findValueExtractors

      +
      @NonNull +<T> @NonNull List<ValueExtractorDefinition<T>> findValueExtractors(@NonNull + @NonNull Class<T> targetType)
      +
      Finds ValueExtractors for the given type.
      +
      +
      Type Parameters:
      +
      T - The target type
      +
      Parameters:
      +
      targetType - The target type of the value
      +
      Returns:
      +
      The extractor
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/4.8.1/api/io/micronaut/validation/validator/extractors/package-summary.html b/4.8.1/api/io/micronaut/validation/validator/extractors/package-summary.html new file mode 100644 index 00000000..b5ca0cc1 --- /dev/null +++ b/4.8.1/api/io/micronaut/validation/validator/extractors/package-summary.html @@ -0,0 +1,115 @@ + + + + +io.micronaut.validation.validator.extractors (validation-parent 4.8.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Package io.micronaut.validation.validator.extractors

+
+
+
package io.micronaut.validation.validator.extractors
+
+ +
+
+
+
+ + diff --git a/4.8.1/api/io/micronaut/validation/validator/extractors/package-tree.html b/4.8.1/api/io/micronaut/validation/validator/extractors/package-tree.html new file mode 100644 index 00000000..9208ded7 --- /dev/null +++ b/4.8.1/api/io/micronaut/validation/validator/extractors/package-tree.html @@ -0,0 +1,82 @@ + + + + +io.micronaut.validation.validator.extractors Class Hierarchy (validation-parent 4.8.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package io.micronaut.validation.validator.extractors

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+
+
+ + diff --git a/4.8.1/api/io/micronaut/validation/validator/messages/DefaultMessageInterpolator.html b/4.8.1/api/io/micronaut/validation/validator/messages/DefaultMessageInterpolator.html new file mode 100644 index 00000000..472d03b8 --- /dev/null +++ b/4.8.1/api/io/micronaut/validation/validator/messages/DefaultMessageInterpolator.html @@ -0,0 +1,233 @@ + + + + +DefaultMessageInterpolator (validation-parent 4.8.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class DefaultMessageInterpolator

+
+
java.lang.Object +
io.micronaut.validation.validator.messages.DefaultMessageInterpolator
+
+
+
+
All Implemented Interfaces:
+
jakarta.validation.MessageInterpolator
+
+
+
@Singleton +public class DefaultMessageInterpolator +extends Object +implements jakarta.validation.MessageInterpolator
+
The default error messages.
+
+
Since:
+
1.2
+
Author:
+
graemerocher
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      DefaultMessageInterpolator

      +
      @Inject +public DefaultMessageInterpolator(io.micronaut.context.MessageSource messageSource, + @Nullable + @Nullable InterpolatorLocaleResolver interpolatorLocaleResolver)
      +
      +
      Parameters:
      +
      messageSource - Message Source
      +
      interpolatorLocaleResolver - Interpolator Locale Resolver
      +
      +
      +
    • +
    • +
      +

      DefaultMessageInterpolator

      +
      @Deprecated(forRemoval=true, + since="4.9.0") +public DefaultMessageInterpolator(io.micronaut.context.MessageSource messageSource)
      +
      Deprecated, for removal: This API element is subject to removal in a future version. + +
      +
      +
      Parameters:
      +
      messageSource - Message Source
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      interpolate

      +
      public String interpolate(String messageTemplate, + jakarta.validation.MessageInterpolator.Context context)
      +
      +
      Specified by:
      +
      interpolate in interface jakarta.validation.MessageInterpolator
      +
      +
      +
    • +
    • +
      +

      interpolate

      +
      public String interpolate(String messageTemplate, + jakarta.validation.MessageInterpolator.Context context, + Locale locale)
      +
      +
      Specified by:
      +
      interpolate in interface jakarta.validation.MessageInterpolator
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/4.8.1/api/io/micronaut/validation/validator/messages/DefaultMessages.html b/4.8.1/api/io/micronaut/validation/validator/messages/DefaultMessages.html new file mode 100644 index 00000000..21ca9141 --- /dev/null +++ b/4.8.1/api/io/micronaut/validation/validator/messages/DefaultMessages.html @@ -0,0 +1,181 @@ + + + + +DefaultMessages (validation-parent 4.8.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class DefaultMessages

+
+
java.lang.Object +
io.micronaut.context.AbstractMessageSource +
io.micronaut.context.StaticMessageSource +
io.micronaut.validation.validator.messages.DefaultMessages
+
+
+
+
+
+
All Implemented Interfaces:
+
io.micronaut.context.MessageSource, io.micronaut.core.order.Ordered
+
+
+
@Internal +@Prototype +public final class DefaultMessages +extends io.micronaut.context.StaticMessageSource
+
The default error messages.
+
+
Author:
+
Denis Stepanov
+
+
+
+
    + +
  • +
    +

    Nested Class Summary

    +
    +

    Nested classes/interfaces inherited from class io.micronaut.context.AbstractMessageSource

    +io.micronaut.context.AbstractMessageSource.MessageKey
    +
    +

    Nested classes/interfaces inherited from interface io.micronaut.context.MessageSource

    +io.micronaut.context.MessageSource.MessageContext
    +
    +
  • + +
  • +
    +

    Field Summary

    +
    +

    Fields inherited from interface io.micronaut.context.MessageSource

    +EMPTY
    +
    +

    Fields inherited from interface io.micronaut.core.order.Ordered

    +HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
    +
    +
  • + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    + +
    +
    Constructs the default error messages.
    +
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +

    Methods inherited from class io.micronaut.context.StaticMessageSource

    +addMessage, addMessage, getRawMessage
    +
    +

    Methods inherited from class io.micronaut.context.AbstractMessageSource

    +interpolate
    +
    +

    Methods inherited from class java.lang.Object

    +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +

    Methods inherited from interface io.micronaut.context.MessageSource

    +getMessage, getMessage, getMessage, getMessage, getMessage, getMessage, getMessage, getMessage, getRawMessage, getRequiredMessage, getRequiredRawMessage
    +
    +

    Methods inherited from interface io.micronaut.core.order.Ordered

    +getOrder
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      DefaultMessages

      +
      public DefaultMessages()
      +
      Constructs the default error messages.
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/4.8.1/api/io/micronaut/validation/validator/messages/InterpolatorLocaleResolver.html b/4.8.1/api/io/micronaut/validation/validator/messages/InterpolatorLocaleResolver.html new file mode 100644 index 00000000..3d7e1bd6 --- /dev/null +++ b/4.8.1/api/io/micronaut/validation/validator/messages/InterpolatorLocaleResolver.html @@ -0,0 +1,136 @@ + + + + +InterpolatorLocaleResolver (validation-parent 4.8.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface InterpolatorLocaleResolver

+
+
+
+
public interface InterpolatorLocaleResolver
+
Resolves the Locale for the DefaultMessageInterpolator.
+
+
Since:
+
4.9.
+
Author:
+
Sergio del Amo
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    @NonNull Optional<Locale>
    + +
     
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      resolve

      +
      @NonNull +@NonNull Optional<Locale> resolve()
      +
      +
      Returns:
      +
      If the locale could be resolved.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/4.8.1/api/io/micronaut/validation/validator/messages/package-summary.html b/4.8.1/api/io/micronaut/validation/validator/messages/package-summary.html new file mode 100644 index 00000000..364c1a18 --- /dev/null +++ b/4.8.1/api/io/micronaut/validation/validator/messages/package-summary.html @@ -0,0 +1,115 @@ + + + + +io.micronaut.validation.validator.messages (validation-parent 4.8.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Package io.micronaut.validation.validator.messages

+
+
+
package io.micronaut.validation.validator.messages
+
+ +
+
+
+
+ + diff --git a/4.8.1/api/io/micronaut/validation/validator/messages/package-tree.html b/4.8.1/api/io/micronaut/validation/validator/messages/package-tree.html new file mode 100644 index 00000000..56318d40 --- /dev/null +++ b/4.8.1/api/io/micronaut/validation/validator/messages/package-tree.html @@ -0,0 +1,86 @@ + + + + +io.micronaut.validation.validator.messages Class Hierarchy (validation-parent 4.8.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package io.micronaut.validation.validator.messages

+Package Hierarchies: + +
+
+

Class Hierarchy

+
    +
  • java.lang.Object +
      +
    • io.micronaut.context.AbstractMessageSource (implements io.micronaut.context.MessageSource) +
        +
      • io.micronaut.context.StaticMessageSource + +
      • +
      +
    • +
    • io.micronaut.validation.validator.messages.DefaultMessageInterpolator (implements jakarta.validation.MessageInterpolator)
    • +
    +
  • +
+
+
+

Interface Hierarchy

+ +
+
+
+
+ + diff --git a/4.8.1/api/io/micronaut/validation/validator/package-summary.html b/4.8.1/api/io/micronaut/validation/validator/package-summary.html new file mode 100644 index 00000000..8e956914 --- /dev/null +++ b/4.8.1/api/io/micronaut/validation/validator/package-summary.html @@ -0,0 +1,161 @@ + + + + +io.micronaut.validation.validator (validation-parent 4.8.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Package io.micronaut.validation.validator

+
+
+
package io.micronaut.validation.validator
+
+ +
+
+
+
+ + diff --git a/4.8.1/api/io/micronaut/validation/validator/package-tree.html b/4.8.1/api/io/micronaut/validation/validator/package-tree.html new file mode 100644 index 00000000..3c09112b --- /dev/null +++ b/4.8.1/api/io/micronaut/validation/validator/package-tree.html @@ -0,0 +1,101 @@ + + + + +io.micronaut.validation.validator Class Hierarchy (validation-parent 4.8.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package io.micronaut.validation.validator

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+
+
+ + diff --git a/4.8.1/api/io/micronaut/validation/validator/resolver/CompositeTraversableResolver.html b/4.8.1/api/io/micronaut/validation/validator/resolver/CompositeTraversableResolver.html new file mode 100644 index 00000000..119b8b8b --- /dev/null +++ b/4.8.1/api/io/micronaut/validation/validator/resolver/CompositeTraversableResolver.html @@ -0,0 +1,213 @@ + + + + +CompositeTraversableResolver (validation-parent 4.8.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class CompositeTraversableResolver

+
+
java.lang.Object +
io.micronaut.validation.validator.resolver.CompositeTraversableResolver
+
+
+
+
All Implemented Interfaces:
+
jakarta.validation.TraversableResolver
+
+
+
@Primary +@Singleton +@Internal +public class CompositeTraversableResolver +extends Object +implements jakarta.validation.TraversableResolver
+
Primary TraversableResolver that takes into account all configured TraversableResolver instances.
+
+
Since:
+
1.2.0
+
Author:
+
graemerocher
+
+
+
+
    + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    +
    CompositeTraversableResolver(List<jakarta.validation.TraversableResolver> traversableResolvers)
    +
    +
    Default constructor.
    +
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    boolean
    +
    isCascadable(Object traversableObject, + jakarta.validation.Path.Node traversableProperty, + Class<?> rootBeanType, + jakarta.validation.Path pathToTraversableObject, + ElementType elementType)
    +
     
    +
    boolean
    +
    isReachable(Object traversableObject, + jakarta.validation.Path.Node traversableProperty, + Class<?> rootBeanType, + jakarta.validation.Path pathToTraversableObject, + ElementType elementType)
    +
     
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      CompositeTraversableResolver

      +
      public CompositeTraversableResolver(List<jakarta.validation.TraversableResolver> traversableResolvers)
      +
      Default constructor.
      +
      +
      Parameters:
      +
      traversableResolvers - The traversable resolvers
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      isReachable

      +
      public boolean isReachable(Object traversableObject, + jakarta.validation.Path.Node traversableProperty, + Class<?> rootBeanType, + jakarta.validation.Path pathToTraversableObject, + ElementType elementType)
      +
      +
      Specified by:
      +
      isReachable in interface jakarta.validation.TraversableResolver
      +
      +
      +
    • +
    • +
      +

      isCascadable

      +
      public boolean isCascadable(Object traversableObject, + jakarta.validation.Path.Node traversableProperty, + Class<?> rootBeanType, + jakarta.validation.Path pathToTraversableObject, + ElementType elementType)
      +
      +
      Specified by:
      +
      isCascadable in interface jakarta.validation.TraversableResolver
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/4.8.1/api/io/micronaut/validation/validator/resolver/package-summary.html b/4.8.1/api/io/micronaut/validation/validator/resolver/package-summary.html new file mode 100644 index 00000000..8c6ef5e8 --- /dev/null +++ b/4.8.1/api/io/micronaut/validation/validator/resolver/package-summary.html @@ -0,0 +1,101 @@ + + + + +io.micronaut.validation.validator.resolver (validation-parent 4.8.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Package io.micronaut.validation.validator.resolver

+
+
+
package io.micronaut.validation.validator.resolver
+
+ +
+
+
+
+ + diff --git a/4.8.1/api/io/micronaut/validation/validator/resolver/package-tree.html b/4.8.1/api/io/micronaut/validation/validator/resolver/package-tree.html new file mode 100644 index 00000000..c873bd90 --- /dev/null +++ b/4.8.1/api/io/micronaut/validation/validator/resolver/package-tree.html @@ -0,0 +1,71 @@ + + + + +io.micronaut.validation.validator.resolver Class Hierarchy (validation-parent 4.8.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package io.micronaut.validation.validator.resolver

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+
+
+
+ + diff --git a/4.8.1/api/io/micronaut/validation/visitor/IntrospectedValidationIndexesVisitor.html b/4.8.1/api/io/micronaut/validation/visitor/IntrospectedValidationIndexesVisitor.html new file mode 100644 index 00000000..5b4cc5ce --- /dev/null +++ b/4.8.1/api/io/micronaut/validation/visitor/IntrospectedValidationIndexesVisitor.html @@ -0,0 +1,241 @@ + + + + +IntrospectedValidationIndexesVisitor (validation-parent 4.8.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class IntrospectedValidationIndexesVisitor

+
+
java.lang.Object +
io.micronaut.validation.visitor.IntrospectedValidationIndexesVisitor
+
+
+
+
All Implemented Interfaces:
+
io.micronaut.core.order.Ordered, io.micronaut.core.util.Toggleable, io.micronaut.inject.visitor.TypeElementVisitor<Object,Object>
+
+
+
@Internal +public class IntrospectedValidationIndexesVisitor +extends Object +implements io.micronaut.inject.visitor.TypeElementVisitor<Object,Object>
+
The visitor add property indexes for the validated annotations.
+
+
Since:
+
4.0.0
+
Author:
+
Denis Stepanov
+
+
+
+
    + +
  • +
    +

    Nested Class Summary

    +
    +

    Nested classes/interfaces inherited from interface io.micronaut.inject.visitor.TypeElementVisitor

    +io.micronaut.inject.visitor.TypeElementVisitor.VisitorKind
    +
    +
  • + +
  • +
    +

    Field Summary

    +
    +

    Fields inherited from interface io.micronaut.core.order.Ordered

    +HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
    +
    +
  • + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    + +
     
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    int
    + +
     
    + + +
     
    +
    @NonNull io.micronaut.inject.visitor.TypeElementVisitor.VisitorKind
    + +
     
    +
    void
    +
    visitClass(io.micronaut.inject.ast.ClassElement element, + io.micronaut.inject.visitor.VisitorContext context)
    +
     
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +

    Methods inherited from interface io.micronaut.core.util.Toggleable

    +isEnabled
    +
    +

    Methods inherited from interface io.micronaut.inject.visitor.TypeElementVisitor

    +finish, getClassType, getElementType, getSupportedOptions, start, visitConstructor, visitEnumConstant, visitField, visitMethod
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      IntrospectedValidationIndexesVisitor

      +
      public IntrospectedValidationIndexesVisitor()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getOrder

      +
      public int getOrder()
      +
      +
      Specified by:
      +
      getOrder in interface io.micronaut.core.order.Ordered
      +
      +
      +
    • +
    • +
      +

      getSupportedAnnotationNames

      +
      public Set<String> getSupportedAnnotationNames()
      +
      +
      Specified by:
      +
      getSupportedAnnotationNames in interface io.micronaut.inject.visitor.TypeElementVisitor<Object,Object>
      +
      +
      +
    • +
    • +
      +

      getVisitorKind

      +
      @NonNull +public @NonNull io.micronaut.inject.visitor.TypeElementVisitor.VisitorKind getVisitorKind()
      +
      +
      Specified by:
      +
      getVisitorKind in interface io.micronaut.inject.visitor.TypeElementVisitor<Object,Object>
      +
      +
      +
    • +
    • +
      +

      visitClass

      +
      public void visitClass(io.micronaut.inject.ast.ClassElement element, + io.micronaut.inject.visitor.VisitorContext context)
      +
      +
      Specified by:
      +
      visitClass in interface io.micronaut.inject.visitor.TypeElementVisitor<Object,Object>
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/4.8.1/api/io/micronaut/validation/visitor/ValidationVisitor.html b/4.8.1/api/io/micronaut/validation/visitor/ValidationVisitor.html new file mode 100644 index 00000000..e461f2ea --- /dev/null +++ b/4.8.1/api/io/micronaut/validation/visitor/ValidationVisitor.html @@ -0,0 +1,288 @@ + + + + +ValidationVisitor (validation-parent 4.8.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ValidationVisitor

+
+
java.lang.Object +
io.micronaut.validation.visitor.ValidationVisitor
+
+
+
+
All Implemented Interfaces:
+
io.micronaut.core.order.Ordered, io.micronaut.core.util.Toggleable, io.micronaut.inject.visitor.TypeElementVisitor<Object,Object>
+
+
+
@Internal +public class ValidationVisitor +extends Object +implements io.micronaut.inject.visitor.TypeElementVisitor<Object,Object>
+
The visitor creates annotations utilized by the Validator. + It adds @RequiresValidation annotation to fields if they require validation, and to methods + if one of the parameters or return value require validation.
+
+
Since:
+
4.0.0
+
Author:
+
Denis Stepanov
+
+
+
+
    + +
  • +
    +

    Nested Class Summary

    +
    +

    Nested classes/interfaces inherited from interface io.micronaut.inject.visitor.TypeElementVisitor

    +io.micronaut.inject.visitor.TypeElementVisitor.VisitorKind
    +
    +
  • + +
  • +
    +

    Field Summary

    +
    +

    Fields inherited from interface io.micronaut.core.order.Ordered

    +HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
    +
    +
  • + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    + +
     
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    int
    + +
     
    + + +
     
    +
    @NonNull io.micronaut.inject.visitor.TypeElementVisitor.VisitorKind
    + +
     
    +
    void
    +
    visitClass(io.micronaut.inject.ast.ClassElement element, + io.micronaut.inject.visitor.VisitorContext context)
    +
     
    +
    void
    +
    visitConstructor(io.micronaut.inject.ast.ConstructorElement element, + io.micronaut.inject.visitor.VisitorContext context)
    +
     
    +
    void
    +
    visitField(io.micronaut.inject.ast.FieldElement element, + io.micronaut.inject.visitor.VisitorContext context)
    +
     
    +
    void
    +
    visitMethod(io.micronaut.inject.ast.MethodElement element, + io.micronaut.inject.visitor.VisitorContext context)
    +
     
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +

    Methods inherited from interface io.micronaut.core.util.Toggleable

    +isEnabled
    +
    +

    Methods inherited from interface io.micronaut.inject.visitor.TypeElementVisitor

    +finish, getClassType, getElementType, getSupportedOptions, start, visitEnumConstant
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      ValidationVisitor

      +
      public ValidationVisitor()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getSupportedAnnotationNames

      +
      public Set<String> getSupportedAnnotationNames()
      +
      +
      Specified by:
      +
      getSupportedAnnotationNames in interface io.micronaut.inject.visitor.TypeElementVisitor<Object,Object>
      +
      +
      +
    • +
    • +
      +

      getOrder

      +
      public int getOrder()
      +
      +
      Specified by:
      +
      getOrder in interface io.micronaut.core.order.Ordered
      +
      +
      +
    • +
    • +
      +

      getVisitorKind

      +
      @NonNull +public @NonNull io.micronaut.inject.visitor.TypeElementVisitor.VisitorKind getVisitorKind()
      +
      +
      Specified by:
      +
      getVisitorKind in interface io.micronaut.inject.visitor.TypeElementVisitor<Object,Object>
      +
      +
      +
    • +
    • +
      +

      visitClass

      +
      public void visitClass(io.micronaut.inject.ast.ClassElement element, + io.micronaut.inject.visitor.VisitorContext context)
      +
      +
      Specified by:
      +
      visitClass in interface io.micronaut.inject.visitor.TypeElementVisitor<Object,Object>
      +
      +
      +
    • +
    • +
      +

      visitConstructor

      +
      public void visitConstructor(io.micronaut.inject.ast.ConstructorElement element, + io.micronaut.inject.visitor.VisitorContext context)
      +
      +
      Specified by:
      +
      visitConstructor in interface io.micronaut.inject.visitor.TypeElementVisitor<Object,Object>
      +
      +
      +
    • +
    • +
      +

      visitMethod

      +
      public void visitMethod(io.micronaut.inject.ast.MethodElement element, + io.micronaut.inject.visitor.VisitorContext context)
      +
      +
      Specified by:
      +
      visitMethod in interface io.micronaut.inject.visitor.TypeElementVisitor<Object,Object>
      +
      +
      +
    • +
    • +
      +

      visitField

      +
      public void visitField(io.micronaut.inject.ast.FieldElement element, + io.micronaut.inject.visitor.VisitorContext context)
      +
      +
      Specified by:
      +
      visitField in interface io.micronaut.inject.visitor.TypeElementVisitor<Object,Object>
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/4.8.1/api/io/micronaut/validation/visitor/package-summary.html b/4.8.1/api/io/micronaut/validation/visitor/package-summary.html new file mode 100644 index 00000000..207fa158 --- /dev/null +++ b/4.8.1/api/io/micronaut/validation/visitor/package-summary.html @@ -0,0 +1,111 @@ + + + + +io.micronaut.validation.visitor (validation-parent 4.8.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Package io.micronaut.validation.visitor

+
+
+
package io.micronaut.validation.visitor
+
+ +
+
+
+
+ + diff --git a/4.8.1/api/io/micronaut/validation/visitor/package-tree.html b/4.8.1/api/io/micronaut/validation/visitor/package-tree.html new file mode 100644 index 00000000..6823123a --- /dev/null +++ b/4.8.1/api/io/micronaut/validation/visitor/package-tree.html @@ -0,0 +1,72 @@ + + + + +io.micronaut.validation.visitor Class Hierarchy (validation-parent 4.8.1 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package io.micronaut.validation.visitor

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+
+
+
+ + diff --git a/4.8.1/api/jquery-ui.overrides.css b/4.8.1/api/jquery-ui.overrides.css new file mode 100644 index 00000000..facf852c --- /dev/null +++ b/4.8.1/api/jquery-ui.overrides.css @@ -0,0 +1,35 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +.ui-state-active, +.ui-widget-content .ui-state-active, +.ui-widget-header .ui-state-active, +a.ui-button:active, +.ui-button:active, +.ui-button.ui-state-active:hover { + /* Overrides the color of selection used in jQuery UI */ + background: #F8981D; + border: 1px solid #F8981D; +} diff --git a/4.8.1/api/legal/ADDITIONAL_LICENSE_INFO b/4.8.1/api/legal/ADDITIONAL_LICENSE_INFO new file mode 100644 index 00000000..ff700cd0 --- /dev/null +++ b/4.8.1/api/legal/ADDITIONAL_LICENSE_INFO @@ -0,0 +1,37 @@ + ADDITIONAL INFORMATION ABOUT LICENSING + +Certain files distributed by Oracle America, Inc. and/or its affiliates are +subject to the following clarification and special exception to the GPLv2, +based on the GNU Project exception for its Classpath libraries, known as the +GNU Classpath Exception. + +Note that Oracle includes multiple, independent programs in this software +package. Some of those programs are provided under licenses deemed +incompatible with the GPLv2 by the Free Software Foundation and others. +For example, the package includes programs licensed under the Apache +License, Version 2.0 and may include FreeType. Such programs are licensed +to you under their original licenses. + +Oracle facilitates your further distribution of this package by adding the +Classpath Exception to the necessary parts of its GPLv2 code, which permits +you to use that code in combination with other independent modules not +licensed under the GPLv2. However, note that this would not permit you to +commingle code under an incompatible license with Oracle's GPLv2 licensed +code by, for example, cutting and pasting such code into a file also +containing Oracle's GPLv2 licensed code and then distributing the result. + +Additionally, if you were to remove the Classpath Exception from any of the +files to which it applies and distribute the result, you would likely be +required to license some or all of the other code in that distribution under +the GPLv2 as well, and since the GPLv2 is incompatible with the license terms +of some items included in the distribution by Oracle, removing the Classpath +Exception could therefore effectively compromise your ability to further +distribute the package. + +Failing to distribute notices associated with some files may also create +unexpected legal consequences. + +Proceed with caution and we recommend that you obtain the advice of a lawyer +skilled in open source matters before removing the Classpath Exception or +making modifications to this package which may subsequently be redistributed +and/or involve the use of third party software. diff --git a/4.8.1/api/legal/ASSEMBLY_EXCEPTION b/4.8.1/api/legal/ASSEMBLY_EXCEPTION new file mode 100644 index 00000000..065b8d90 --- /dev/null +++ b/4.8.1/api/legal/ASSEMBLY_EXCEPTION @@ -0,0 +1,27 @@ + +OPENJDK ASSEMBLY EXCEPTION + +The OpenJDK source code made available by Oracle America, Inc. (Oracle) at +openjdk.java.net ("OpenJDK Code") is distributed under the terms of the GNU +General Public License version 2 +only ("GPL2"), with the following clarification and special exception. + + Linking this OpenJDK Code statically or dynamically with other code + is making a combined work based on this library. Thus, the terms + and conditions of GPL2 cover the whole combination. + + As a special exception, Oracle gives you permission to link this + OpenJDK Code with certain code licensed by Oracle as indicated at + http://openjdk.java.net/legal/exception-modules-2007-05-08.html + ("Designated Exception Modules") to produce an executable, + regardless of the license terms of the Designated Exception Modules, + and to copy and distribute the resulting executable under GPL2, + provided that the Designated Exception Modules continue to be + governed by the licenses under which they were offered by Oracle. + +As such, it allows licensees and sublicensees of Oracle's GPL2 OpenJDK Code +to build an executable that includes those portions of necessary code that +Oracle could not provide under GPL2 (or that Oracle has provided under GPL2 +with the Classpath exception). If you modify or add to the OpenJDK code, +that new GPL2 code may still be combined with Designated Exception Modules +if the new code is made subject to this exception by its copyright holder. diff --git a/4.8.1/api/legal/LICENSE b/4.8.1/api/legal/LICENSE new file mode 100644 index 00000000..8b400c7a --- /dev/null +++ b/4.8.1/api/legal/LICENSE @@ -0,0 +1,347 @@ +The GNU General Public License (GPL) + +Version 2, June 1991 + +Copyright (C) 1989, 1991 Free Software Foundation, Inc. +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +Everyone is permitted to copy and distribute verbatim copies of this license +document, but changing it is not allowed. + +Preamble + +The licenses for most software are designed to take away your freedom to share +and change it. By contrast, the GNU General Public License is intended to +guarantee your freedom to share and change free software--to make sure the +software is free for all its users. This General Public License applies to +most of the Free Software Foundation's software and to any other program whose +authors commit to using it. (Some other Free Software Foundation software is +covered by the GNU Library General Public License instead.) You can apply it to +your programs, too. + +When we speak of free software, we are referring to freedom, not price. Our +General Public Licenses are designed to make sure that you have the freedom to +distribute copies of free software (and charge for this service if you wish), +that you receive source code or can get it if you want it, that you can change +the software or use pieces of it in new free programs; and that you know you +can do these things. + +To protect your rights, we need to make restrictions that forbid anyone to deny +you these rights or to ask you to surrender the rights. These restrictions +translate to certain responsibilities for you if you distribute copies of the +software, or if you modify it. + +For example, if you distribute copies of such a program, whether gratis or for +a fee, you must give the recipients all the rights that you have. You must +make sure that they, too, receive or can get the source code. And you must +show them these terms so they know their rights. + +We protect your rights with two steps: (1) copyright the software, and (2) +offer you this license which gives you legal permission to copy, distribute +and/or modify the software. + +Also, for each author's protection and ours, we want to make certain that +everyone understands that there is no warranty for this free software. If the +software is modified by someone else and passed on, we want its recipients to +know that what they have is not the original, so that any problems introduced +by others will not reflect on the original authors' reputations. + +Finally, any free program is threatened constantly by software patents. We +wish to avoid the danger that redistributors of a free program will +individually obtain patent licenses, in effect making the program proprietary. +To prevent this, we have made it clear that any patent must be licensed for +everyone's free use or not licensed at all. + +The precise terms and conditions for copying, distribution and modification +follow. + +TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + +0. This License applies to any program or other work which contains a notice +placed by the copyright holder saying it may be distributed under the terms of +this General Public License. The "Program", below, refers to any such program +or work, and a "work based on the Program" means either the Program or any +derivative work under copyright law: that is to say, a work containing the +Program or a portion of it, either verbatim or with modifications and/or +translated into another language. (Hereinafter, translation is included +without limitation in the term "modification".) Each licensee is addressed as +"you". + +Activities other than copying, distribution and modification are not covered by +this License; they are outside its scope. The act of running the Program is +not restricted, and the output from the Program is covered only if its contents +constitute a work based on the Program (independent of having been made by +running the Program). Whether that is true depends on what the Program does. + +1. You may copy and distribute verbatim copies of the Program's source code as +you receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice and +disclaimer of warranty; keep intact all the notices that refer to this License +and to the absence of any warranty; and give any other recipients of the +Program a copy of this License along with the Program. + +You may charge a fee for the physical act of transferring a copy, and you may +at your option offer warranty protection in exchange for a fee. + +2. You may modify your copy or copies of the Program or any portion of it, thus +forming a work based on the Program, and copy and distribute such modifications +or work under the terms of Section 1 above, provided that you also meet all of +these conditions: + + a) You must cause the modified files to carry prominent notices stating + that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in whole or + in part contains or is derived from the Program or any part thereof, to be + licensed as a whole at no charge to all third parties under the terms of + this License. + + c) If the modified program normally reads commands interactively when run, + you must cause it, when started running for such interactive use in the + most ordinary way, to print or display an announcement including an + appropriate copyright notice and a notice that there is no warranty (or + else, saying that you provide a warranty) and that users may redistribute + the program under these conditions, and telling the user how to view a copy + of this License. (Exception: if the Program itself is interactive but does + not normally print such an announcement, your work based on the Program is + not required to print an announcement.) + +These requirements apply to the modified work as a whole. If identifiable +sections of that work are not derived from the Program, and can be reasonably +considered independent and separate works in themselves, then this License, and +its terms, do not apply to those sections when you distribute them as separate +works. But when you distribute the same sections as part of a whole which is a +work based on the Program, the distribution of the whole must be on the terms +of this License, whose permissions for other licensees extend to the entire +whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest your +rights to work written entirely by you; rather, the intent is to exercise the +right to control the distribution of derivative or collective works based on +the Program. + +In addition, mere aggregation of another work not based on the Program with the +Program (or with a work based on the Program) on a volume of a storage or +distribution medium does not bring the other work under the scope of this +License. + +3. You may copy and distribute the Program (or a work based on it, under +Section 2) in object code or executable form under the terms of Sections 1 and +2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable source + code, which must be distributed under the terms of Sections 1 and 2 above + on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three years, to + give any third party, for a charge no more than your cost of physically + performing source distribution, a complete machine-readable copy of the + corresponding source code, to be distributed under the terms of Sections 1 + and 2 above on a medium customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer to + distribute corresponding source code. (This alternative is allowed only + for noncommercial distribution and only if you received the program in + object code or executable form with such an offer, in accord with + Subsection b above.) + +The source code for a work means the preferred form of the work for making +modifications to it. For an executable work, complete source code means all +the source code for all modules it contains, plus any associated interface +definition files, plus the scripts used to control compilation and installation +of the executable. However, as a special exception, the source code +distributed need not include anything that is normally distributed (in either +source or binary form) with the major components (compiler, kernel, and so on) +of the operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the source +code from the same place counts as distribution of the source code, even though +third parties are not compelled to copy the source along with the object code. + +4. You may not copy, modify, sublicense, or distribute the Program except as +expressly provided under this License. Any attempt otherwise to copy, modify, +sublicense or distribute the Program is void, and will automatically terminate +your rights under this License. However, parties who have received copies, or +rights, from you under this License will not have their licenses terminated so +long as such parties remain in full compliance. + +5. You are not required to accept this License, since you have not signed it. +However, nothing else grants you permission to modify or distribute the Program +or its derivative works. These actions are prohibited by law if you do not +accept this License. Therefore, by modifying or distributing the Program (or +any work based on the Program), you indicate your acceptance of this License to +do so, and all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + +6. Each time you redistribute the Program (or any work based on the Program), +the recipient automatically receives a license from the original licensor to +copy, distribute or modify the Program subject to these terms and conditions. +You may not impose any further restrictions on the recipients' exercise of the +rights granted herein. You are not responsible for enforcing compliance by +third parties to this License. + +7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), conditions +are imposed on you (whether by court order, agreement or otherwise) that +contradict the conditions of this License, they do not excuse you from the +conditions of this License. If you cannot distribute so as to satisfy +simultaneously your obligations under this License and any other pertinent +obligations, then as a consequence you may not distribute the Program at all. +For example, if a patent license would not permit royalty-free redistribution +of the Program by all those who receive copies directly or indirectly through +you, then the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply and +the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any patents or +other property right claims or to contest validity of any such claims; this +section has the sole purpose of protecting the integrity of the free software +distribution system, which is implemented by public license practices. Many +people have made generous contributions to the wide range of software +distributed through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing to +distribute software through any other system and a licensee cannot impose that +choice. + +This section is intended to make thoroughly clear what is believed to be a +consequence of the rest of this License. + +8. If the distribution and/or use of the Program is restricted in certain +countries either by patents or by copyrighted interfaces, the original +copyright holder who places the Program under this License may add an explicit +geographical distribution limitation excluding those countries, so that +distribution is permitted only in or among countries not thus excluded. In +such case, this License incorporates the limitation as if written in the body +of this License. + +9. The Free Software Foundation may publish revised and/or new versions of the +General Public License from time to time. Such new versions will be similar in +spirit to the present version, but may differ in detail to address new problems +or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any later +version", you have the option of following the terms and conditions either of +that version or of any later version published by the Free Software Foundation. +If the Program does not specify a version number of this License, you may +choose any version ever published by the Free Software Foundation. + +10. If you wish to incorporate parts of the Program into other free programs +whose distribution conditions are different, write to the author to ask for +permission. For software which is copyrighted by the Free Software Foundation, +write to the Free Software Foundation; we sometimes make exceptions for this. +Our decision will be guided by the two goals of preserving the free status of +all derivatives of our free software and of promoting the sharing and reuse of +software generally. + +NO WARRANTY + +11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR +THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE +STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE +PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, +INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND +PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, +YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + +12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL +ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE +PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR +INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA +BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER +OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +END OF TERMS AND CONDITIONS + +How to Apply These Terms to Your New Programs + +If you develop a new program, and you want it to be of the greatest possible +use to the public, the best way to achieve this is to make it free software +which everyone can redistribute and change under these terms. + +To do so, attach the following notices to the program. It is safest to attach +them to the start of each source file to most effectively convey the exclusion +of warranty; and each file should have at least the "copyright" line and a +pointer to where the full notice is found. + + One line to give the program's name and a brief idea of what it does. + + Copyright (C) + + This program is free software; you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by the Free + Software Foundation; either version 2 of the License, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this when it +starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author Gnomovision comes + with ABSOLUTELY NO WARRANTY; for details type 'show w'. This is free + software, and you are welcome to redistribute it under certain conditions; + type 'show c' for details. + +The hypothetical commands 'show w' and 'show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may be +called something other than 'show w' and 'show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your school, +if any, to sign a "copyright disclaimer" for the program, if necessary. Here +is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + 'Gnomovision' (which makes passes at compilers) written by James Hacker. + + signature of Ty Coon, 1 April 1989 + + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General Public +License instead of this License. + + +"CLASSPATH" EXCEPTION TO THE GPL + +Certain source files distributed by Oracle America and/or its affiliates are +subject to the following clarification and special exception to the GPL, but +only where Oracle has expressly included in the particular source file's header +the words "Oracle designates this particular file as subject to the "Classpath" +exception as provided by Oracle in the LICENSE file that accompanied this code." + + Linking this library statically or dynamically with other modules is making + a combined work based on this library. Thus, the terms and conditions of + the GNU General Public License cover the whole combination. + + As a special exception, the copyright holders of this library give you + permission to link this library with independent modules to produce an + executable, regardless of the license terms of these independent modules, + and to copy and distribute the resulting executable under terms of your + choice, provided that you also meet, for each linked independent module, + the terms and conditions of the license of that module. An independent + module is a module which is not derived from or based on this library. If + you modify this library, you may extend this exception to your version of + the library, but you are not obligated to do so. If you do not wish to do + so, delete this exception statement from your version. diff --git a/4.8.1/api/legal/jquery.md b/4.8.1/api/legal/jquery.md new file mode 100644 index 00000000..a763ec6f --- /dev/null +++ b/4.8.1/api/legal/jquery.md @@ -0,0 +1,26 @@ +## jQuery v3.7.1 + +### jQuery License +``` +jQuery v 3.7.1 +Copyright OpenJS Foundation and other contributors, https://openjsf.org/ + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +``` diff --git a/4.8.1/api/legal/jqueryUI.md b/4.8.1/api/legal/jqueryUI.md new file mode 100644 index 00000000..8bda9d7a --- /dev/null +++ b/4.8.1/api/legal/jqueryUI.md @@ -0,0 +1,49 @@ +## jQuery UI v1.13.2 + +### jQuery UI License +``` +Copyright jQuery Foundation and other contributors, https://jquery.org/ + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/jquery/jquery-ui + +The following license applies to all parts of this software except as +documented below: + +==== + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +==== + +Copyright and related rights for sample code are waived via CC0. Sample +code is defined as all source code contained within the demos directory. + +CC0: http://creativecommons.org/publicdomain/zero/1.0/ + +==== + +All files located in the node_modules and external directories are +externally maintained libraries used by this software which have their +own licenses; we recommend you read them, as their terms may differ from +the terms above. + +``` diff --git a/4.8.1/api/member-search-index.js b/4.8.1/api/member-search-index.js new file mode 100644 index 00000000..e2f6da85 --- /dev/null +++ b/4.8.1/api/member-search-index.js @@ -0,0 +1 @@ +memberSearchIndex = [{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"addValueExtractor(ValueExtractor)","u":"addValueExtractor(jakarta.validation.valueextraction.ValueExtractor)"},{"p":"io.micronaut.validation.validator.extractors","c":"DefaultValueExtractors","l":"addValueExtractor(ValueExtractorDefinition)","u":"addValueExtractor(io.micronaut.validation.validator.extractors.ValueExtractorDefinition)"},{"p":"io.micronaut.validation.validator.extractors","c":"ValueExtractorRegistry","l":"addValueExtractor(ValueExtractorDefinition)","u":"addValueExtractor(io.micronaut.validation.validator.extractors.ValueExtractorDefinition)"},{"p":"io.micronaut.validation.validator","c":"Validator","l":"ANN_CONSTRAINT"},{"p":"io.micronaut.validation.validator","c":"Validator","l":"ANN_VALID"},{"p":"io.micronaut.validation.exceptions","c":"ConstraintExceptionHandler","l":"buildMessage(ConstraintViolation)","u":"buildMessage(jakarta.validation.ConstraintViolation)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"clockProvider(ClockProvider)","u":"clockProvider(jakarta.validation.ClockProvider)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorFactory","l":"close()"},{"p":"io.micronaut.validation.validator.resolver","c":"CompositeTraversableResolver","l":"CompositeTraversableResolver(List)","u":"%3Cinit%3E(java.util.List)"},{"p":"io.micronaut.validation.validator","c":"ValidationAnnotationUtil","l":"CONSTRAINT_VALIDATED_BY"},{"p":"io.micronaut.validation.exceptions","c":"ConstraintExceptionHandler","l":"ConstraintExceptionHandler(ErrorResponseProcessor)","u":"%3Cinit%3E(io.micronaut.http.server.exceptions.response.ErrorResponseProcessor)"},{"p":"io.micronaut.validation.validator.constraints","c":"DefaultConstraintValidators.ValidatorKey","l":"constraintType()"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"constraintValidatorFactory(ConstraintValidatorFactory)","u":"constraintValidatorFactory(jakarta.validation.ConstraintValidatorFactory)"},{"p":"io.micronaut.validation.validator.extractors","c":"ValueExtractorDefinition","l":"containerType()"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"createValid(Class, Object...)","u":"createValid(java.lang.Class,java.lang.Object...)"},{"p":"io.micronaut.validation.validator","c":"ExecutableMethodValidator","l":"createValid(Class, Object...)","u":"createValid(java.lang.Class,java.lang.Object...)"},{"p":"io.micronaut.validation.validator","c":"BeanValidationContext","l":"DEFAULT"},{"p":"io.micronaut.validation.validator","c":"DefaultAnnotatedElementValidator","l":"DefaultAnnotatedElementValidator()","u":"%3Cinit%3E()"},{"p":"io.micronaut.validation.validator","c":"DefaultClockProvider","l":"DefaultClockProvider()","u":"%3Cinit%3E()"},{"p":"io.micronaut.validation.validator.constraints","c":"DefaultConstraintValidators","l":"DefaultConstraintValidators()","u":"%3Cinit%3E()"},{"p":"io.micronaut.validation.validator.constraints","c":"DefaultConstraintValidators","l":"DefaultConstraintValidators(BeanContext)","u":"%3Cinit%3E(io.micronaut.context.BeanContext)"},{"p":"io.micronaut.validation.validator.constraints","c":"DefaultInternalConstraintValidatorFactory","l":"DefaultInternalConstraintValidatorFactory(BeanContext)","u":"%3Cinit%3E(io.micronaut.context.BeanContext)"},{"p":"io.micronaut.validation.validator.constraints","c":"DefaultInternalConstraintValidatorFactory","l":"DefaultInternalConstraintValidatorFactory(BeanIntrospector, BeanContext)","u":"%3Cinit%3E(io.micronaut.core.beans.BeanIntrospector,io.micronaut.context.BeanContext)"},{"p":"io.micronaut.validation.validator.messages","c":"DefaultMessageInterpolator","l":"DefaultMessageInterpolator(MessageSource)","u":"%3Cinit%3E(io.micronaut.context.MessageSource)"},{"p":"io.micronaut.validation.validator.messages","c":"DefaultMessageInterpolator","l":"DefaultMessageInterpolator(MessageSource, InterpolatorLocaleResolver)","u":"%3Cinit%3E(io.micronaut.context.MessageSource,io.micronaut.validation.validator.messages.InterpolatorLocaleResolver)"},{"p":"io.micronaut.validation.validator.messages","c":"DefaultMessages","l":"DefaultMessages()","u":"%3Cinit%3E()"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"DefaultValidator(ValidatorConfiguration)","u":"%3Cinit%3E(io.micronaut.validation.validator.ValidatorConfiguration)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"DefaultValidatorConfiguration()","u":"%3Cinit%3E()"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorFactory","l":"DefaultValidatorFactory()","u":"%3Cinit%3E()"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorFactory","l":"DefaultValidatorFactory(Validator, ValidatorConfiguration)","u":"%3Cinit%3E(io.micronaut.validation.validator.Validator,io.micronaut.validation.validator.ValidatorConfiguration)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorFactory","l":"DefaultValidatorFactory(ValidatorConfiguration)","u":"%3Cinit%3E(io.micronaut.validation.validator.ValidatorConfiguration)"},{"p":"io.micronaut.validation.validator.extractors","c":"DefaultValueExtractors","l":"DefaultValueExtractors()","u":"%3Cinit%3E()"},{"p":"io.micronaut.validation.validator.extractors","c":"DefaultValueExtractors","l":"DefaultValueExtractors(BeanContext)","u":"%3Cinit%3E(io.micronaut.context.BeanContext)"},{"p":"io.micronaut.validation.validator.constraints","c":"DecimalMaxValidator","l":"doComparison(T, BigDecimal)","u":"doComparison(T,java.math.BigDecimal)"},{"p":"io.micronaut.validation.validator.constraints","c":"DecimalMinValidator","l":"doComparison(T, BigDecimal)","u":"doComparison(T,java.math.BigDecimal)"},{"p":"io.micronaut.validation.validator.constraints","c":"EmailValidator","l":"EmailValidator()","u":"%3Cinit%3E()"},{"p":"io.micronaut.validation.validator","c":"ValidatorConfiguration","l":"ENABLED"},{"p":"io.micronaut.validation.validator.constraints","c":"DefaultConstraintValidators.ValidatorKey","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.micronaut.validation.validator.extractors","c":"ValueExtractorDefinition","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.micronaut.validation.validator.constraints","c":"ConstraintValidatorRegistry","l":"findConstraintValidator(Class, Class)","u":"findConstraintValidator(java.lang.Class,java.lang.Class)"},{"p":"io.micronaut.validation.validator.constraints","c":"DefaultConstraintValidators","l":"findConstraintValidator(Class, Class)","u":"findConstraintValidator(java.lang.Class,java.lang.Class)"},{"p":"io.micronaut.validation.validator.constraints","c":"DefaultConstraintValidators","l":"findLocalConstraintValidator(Class, Class)","u":"findLocalConstraintValidator(java.lang.Class,java.lang.Class)"},{"p":"io.micronaut.validation.validator.extractors","c":"DefaultValueExtractors","l":"findValueExtractors(Class)","u":"findValueExtractors(java.lang.Class)"},{"p":"io.micronaut.validation.validator.extractors","c":"ValueExtractorRegistry","l":"findValueExtractors(Class)","u":"findValueExtractors(java.lang.Class)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"forExecutables()"},{"p":"io.micronaut.validation.validator","c":"Validator","l":"forExecutables()"},{"p":"io.micronaut.validation.validator","c":"BeanValidationContext","l":"fromGroups(Class...)","u":"fromGroups(java.lang.Class...)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"getBeanIntrospection(Class)","u":"getBeanIntrospection(java.lang.Class)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"getBeanIntrospection(T)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"getBeanIntrospection(T, Class)","u":"getBeanIntrospection(T,java.lang.Class)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"getBeanIntrospector()"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"getBeanIntrospector()"},{"p":"io.micronaut.validation.validator","c":"ValidatorConfiguration","l":"getBeanIntrospector()"},{"p":"io.micronaut.validation.validator.constraints","c":"DigitsValidator","l":"getBigDecimal(T)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"getClassFromType(Type)","u":"getClassFromType(java.lang.reflect.Type)"},{"p":"io.micronaut.validation.validator","c":"DefaultClockProvider","l":"getClock()"},{"p":"io.micronaut.validation.validator.constraints","c":"ConstraintValidatorContext","l":"getClockProvider()"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"getClockProvider()"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorFactory","l":"getClockProvider()"},{"p":"io.micronaut.validation.validator","c":"ValidatorConfiguration","l":"getClockProvider()"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"getConstraintsForClass(Class)","u":"getConstraintsForClass(java.lang.Class)"},{"p":"io.micronaut.validation.validator.constraints","c":"ConstraintValidatorRegistry","l":"getConstraintValidator(Class, Class)","u":"getConstraintValidator(java.lang.Class,java.lang.Class)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"getConstraintValidatorFactory()"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorFactory","l":"getConstraintValidatorFactory()"},{"p":"io.micronaut.validation.validator","c":"ValidatorConfiguration","l":"getConstraintValidatorFactory()"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"getConstraintValidatorRegistry()"},{"p":"io.micronaut.validation.validator","c":"ValidatorConfiguration","l":"getConstraintValidatorRegistry()"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"getConversionService()"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"getDefaultClockProvider()"},{"p":"io.micronaut.validation.validator","c":"ValidatorConfiguration","l":"getDefaultClockProvider()"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"getDefaultMessageInterpolator()"},{"p":"io.micronaut.validation.validator","c":"ValidatorConfiguration","l":"getDefaultMessageInterpolator()"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"getDefaultTraversableResolver()"},{"p":"io.micronaut.validation.validator","c":"ValidatorConfiguration","l":"getDefaultTraversableResolver()"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"getExecutionHandleLocator()"},{"p":"io.micronaut.validation.validator","c":"ValidatorConfiguration","l":"getExecutionHandleLocator()"},{"p":"io.micronaut.validation.validator","c":"Validator","l":"getInstance()"},{"p":"io.micronaut.validation.validator.constraints","c":"DefaultInternalConstraintValidatorFactory","l":"getInstance(Class)","u":"getInstance(java.lang.Class)"},{"p":"io.micronaut.validation.validator.constraints","c":"InternalConstraintValidatorFactory","l":"getInstance(Class, Class, ConstraintTarget)","u":"getInstance(java.lang.Class,java.lang.Class,jakarta.validation.ConstraintTarget)"},{"p":"io.micronaut.validation.validator.constraints","c":"DefaultInternalConstraintValidatorFactory","l":"getInstance(Class, Class, ConstraintTarget)","u":"getInstance(java.lang.Class,java.lang.Class,jakarta.validation.ConstraintTarget)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"getMessageInterpolator()"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorFactory","l":"getMessageInterpolator()"},{"p":"io.micronaut.validation.validator","c":"ValidatorConfiguration","l":"getMessageInterpolator()"},{"p":"io.micronaut.validation","c":"ValidatingInterceptor","l":"getOrder()"},{"p":"io.micronaut.validation.visitor","c":"IntrospectedValidationIndexesVisitor","l":"getOrder()"},{"p":"io.micronaut.validation.visitor","c":"ValidationVisitor","l":"getOrder()"},{"p":"io.micronaut.validation.transformer","c":"ValidationAnnotationRemapper","l":"getPackageName()"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorFactory","l":"getParameterNameProvider()"},{"p":"io.micronaut.validation.validator.constraints","c":"ConstraintValidatorContext","l":"getRootBean()"},{"p":"io.micronaut.validation.validator.constraints","c":"SizeValidator","l":"getSize(T)"},{"p":"io.micronaut.validation.visitor","c":"IntrospectedValidationIndexesVisitor","l":"getSupportedAnnotationNames()"},{"p":"io.micronaut.validation.visitor","c":"ValidationVisitor","l":"getSupportedAnnotationNames()"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"getTraversableResolver()"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorFactory","l":"getTraversableResolver()"},{"p":"io.micronaut.validation.validator","c":"ValidatorConfiguration","l":"getTraversableResolver()"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"getValidator()"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorFactory","l":"getValidator()"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"getValueExtractorRegistry()"},{"p":"io.micronaut.validation.validator","c":"ValidatorConfiguration","l":"getValueExtractorRegistry()"},{"p":"io.micronaut.validation.visitor","c":"IntrospectedValidationIndexesVisitor","l":"getVisitorKind()"},{"p":"io.micronaut.validation.visitor","c":"ValidationVisitor","l":"getVisitorKind()"},{"p":"io.micronaut.validation","c":"Validated","l":"groups()"},{"p":"io.micronaut.validation.validator","c":"BeanValidationContext","l":"groups()"},{"p":"io.micronaut.validation.exceptions","c":"ConstraintExceptionHandler","l":"handle(HttpRequest, ConstraintViolationException)","u":"handle(io.micronaut.http.HttpRequest,jakarta.validation.ConstraintViolationException)"},{"p":"io.micronaut.validation.validator.constraints","c":"DefaultConstraintValidators.ValidatorKey","l":"hashCode()"},{"p":"io.micronaut.validation.validator.extractors","c":"ValueExtractorDefinition","l":"hashCode()"},{"p":"io.micronaut.validation","c":"ValidatingInterceptor","l":"intercept(MethodInvocationContext)","u":"intercept(io.micronaut.aop.MethodInvocationContext)"},{"p":"io.micronaut.validation.validator.messages","c":"DefaultMessageInterpolator","l":"interpolate(String, MessageInterpolator.Context)","u":"interpolate(java.lang.String,jakarta.validation.MessageInterpolator.Context)"},{"p":"io.micronaut.validation.validator.messages","c":"DefaultMessageInterpolator","l":"interpolate(String, MessageInterpolator.Context, Locale)","u":"interpolate(java.lang.String,jakarta.validation.MessageInterpolator.Context,java.util.Locale)"},{"p":"io.micronaut.validation.visitor","c":"IntrospectedValidationIndexesVisitor","l":"IntrospectedValidationIndexesVisitor()","u":"%3Cinit%3E()"},{"p":"io.micronaut.validation.validator.resolver","c":"CompositeTraversableResolver","l":"isCascadable(Object, Path.Node, Class, Path, ElementType)","u":"isCascadable(java.lang.Object,jakarta.validation.Path.Node,java.lang.Class,jakarta.validation.Path,java.lang.annotation.ElementType)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"isEnabled()"},{"p":"io.micronaut.validation.validator","c":"BeanValidationContext","l":"isPropertyValidated(T, BeanProperty)","u":"isPropertyValidated(T,io.micronaut.core.beans.BeanProperty)"},{"p":"io.micronaut.validation.validator.resolver","c":"CompositeTraversableResolver","l":"isReachable(Object, Path.Node, Class, Path, ElementType)","u":"isReachable(java.lang.Object,jakarta.validation.Path.Node,java.lang.Class,jakarta.validation.Path,java.lang.annotation.ElementType)"},{"p":"io.micronaut.validation.validator.constraints","c":"EmailValidator","l":"isValid(CharSequence, AnnotationValue, ConstraintValidatorContext)","u":"isValid(java.lang.CharSequence,io.micronaut.core.annotation.AnnotationValue,io.micronaut.validation.validator.constraints.ConstraintValidatorContext)"},{"p":"io.micronaut.validation.validator.constraints","c":"PatternValidator","l":"isValid(CharSequence, AnnotationValue, ConstraintValidatorContext)","u":"isValid(java.lang.CharSequence,io.micronaut.core.annotation.AnnotationValue,io.micronaut.validation.validator.constraints.ConstraintValidatorContext)"},{"p":"io.micronaut.validation.validator.constraints","c":"ConstraintValidator","l":"isValid(T, AnnotationValue, ConstraintValidatorContext)","u":"isValid(T,io.micronaut.core.annotation.AnnotationValue,io.micronaut.validation.validator.constraints.ConstraintValidatorContext)"},{"p":"io.micronaut.validation.validator.constraints","c":"DecimalMaxValidator","l":"isValid(T, AnnotationValue, ConstraintValidatorContext)","u":"isValid(T,io.micronaut.core.annotation.AnnotationValue,io.micronaut.validation.validator.constraints.ConstraintValidatorContext)"},{"p":"io.micronaut.validation.validator.constraints","c":"DecimalMinValidator","l":"isValid(T, AnnotationValue, ConstraintValidatorContext)","u":"isValid(T,io.micronaut.core.annotation.AnnotationValue,io.micronaut.validation.validator.constraints.ConstraintValidatorContext)"},{"p":"io.micronaut.validation.validator.constraints","c":"DigitsValidator","l":"isValid(T, AnnotationValue, ConstraintValidatorContext)","u":"isValid(T,io.micronaut.core.annotation.AnnotationValue,io.micronaut.validation.validator.constraints.ConstraintValidatorContext)"},{"p":"io.micronaut.validation.validator.constraints","c":"SizeValidator","l":"isValid(T, AnnotationValue, ConstraintValidatorContext)","u":"isValid(T,io.micronaut.core.annotation.AnnotationValue,io.micronaut.validation.validator.constraints.ConstraintValidatorContext)"},{"p":"io.micronaut.validation.validator.constraints","c":"ConstraintValidator","l":"isValid(T, ConstraintValidatorContext)","u":"isValid(T,jakarta.validation.ConstraintValidatorContext)"},{"p":"io.micronaut.validation.validator.constraints","c":"DomainNameUtil","l":"isValidDomainAddress(String)","u":"isValidDomainAddress(java.lang.String)"},{"p":"io.micronaut.validation.validator.constraints","c":"DomainNameUtil","l":"isValidEmailDomainAddress(String)","u":"isValidEmailDomainAddress(java.lang.String)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"messageInterpolator(MessageInterpolator)","u":"messageInterpolator(jakarta.validation.MessageInterpolator)"},{"p":"io.micronaut.validation.validator.constraints","c":"ConstraintValidatorContext","l":"messageTemplate(String)","u":"messageTemplate(java.lang.String)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"parameterNameProvider(ParameterNameProvider)","u":"parameterNameProvider(jakarta.validation.ParameterNameProvider)"},{"p":"io.micronaut.validation.validator.constraints","c":"PatternValidator","l":"PatternValidator()","u":"%3Cinit%3E()"},{"p":"io.micronaut.validation","c":"ValidatingInterceptor","l":"POSITION"},{"p":"io.micronaut.validation.validator","c":"ValidatorConfiguration","l":"PREFIX"},{"p":"io.micronaut.validation.validator.constraints","c":"DefaultInternalConstraintValidatorFactory","l":"releaseInstance(ConstraintValidator)","u":"releaseInstance(jakarta.validation.ConstraintValidator)"},{"p":"io.micronaut.validation.transformer","c":"ValidationAnnotationRemapper","l":"remap(AnnotationValue, VisitorContext)","u":"remap(io.micronaut.core.annotation.AnnotationValue,io.micronaut.inject.visitor.VisitorContext)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"requireNonEmpty(String, String)","u":"requireNonEmpty(java.lang.String,java.lang.String)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"requireNonNull(String, T)","u":"requireNonNull(java.lang.String,T)"},{"p":"io.micronaut.validation.validator.messages","c":"InterpolatorLocaleResolver","l":"resolve()"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"setBeanIntrospector(BeanIntrospector)","u":"setBeanIntrospector(io.micronaut.core.beans.BeanIntrospector)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"setClockProvider(ClockProvider)","u":"setClockProvider(jakarta.validation.ClockProvider)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"setConstraintValidatorRegistry(ConstraintValidatorRegistry)","u":"setConstraintValidatorRegistry(io.micronaut.validation.validator.constraints.ConstraintValidatorRegistry)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"setConversionService(ConversionService)","u":"setConversionService(io.micronaut.core.convert.ConversionService)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"setEnabled(boolean)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"setExecutionHandleLocator(BeanContext)","u":"setExecutionHandleLocator(io.micronaut.context.BeanContext)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"setMessageInterpolator(MessageInterpolator)","u":"setMessageInterpolator(jakarta.validation.MessageInterpolator)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"setTraversableResolver(TraversableResolver)","u":"setTraversableResolver(jakarta.validation.TraversableResolver)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"setValueExtractorRegistry(ValueExtractorRegistry)","u":"setValueExtractorRegistry(io.micronaut.validation.validator.extractors.ValueExtractorRegistry)"},{"p":"io.micronaut.validation.validator.constraints","c":"DefaultConstraintValidators.ValidatorKey","l":"targetType()"},{"p":"io.micronaut.validation.validator.constraints","c":"DefaultConstraintValidators.ValidatorKey","l":"toString()"},{"p":"io.micronaut.validation.validator.extractors","c":"ValueExtractorDefinition","l":"toString()"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"traversableResolver(TraversableResolver)","u":"traversableResolver(jakarta.validation.TraversableResolver)"},{"p":"io.micronaut.validation.validator.extractors","c":"ValueExtractorDefinition","l":"typeArgumentIndex()"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"unwrap(Class)","u":"unwrap(java.lang.Class)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorFactory","l":"unwrap(Class)","u":"unwrap(java.lang.Class)"},{"p":"io.micronaut.validation.validator.extractors","c":"ValueExtractorDefinition","l":"unwrapByDefault()"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorFactory","l":"usingContext()"},{"p":"io.micronaut.validation.validator.constraints","c":"ConstraintValidator","l":"VALID"},{"p":"io.micronaut.validation.validator","c":"Validator","l":"validate(BeanIntrospection, T, BeanValidationContext)","u":"validate(io.micronaut.core.beans.BeanIntrospection,T,io.micronaut.validation.validator.BeanValidationContext)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"validate(BeanIntrospection, T, BeanValidationContext)","u":"validate(io.micronaut.core.beans.BeanIntrospection,T,io.micronaut.validation.validator.BeanValidationContext)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"validate(BeanIntrospection, T, Class...)","u":"validate(io.micronaut.core.beans.BeanIntrospection,T,java.lang.Class...)"},{"p":"io.micronaut.validation.validator","c":"Validator","l":"validate(BeanIntrospection, T, Class...)","u":"validate(io.micronaut.core.beans.BeanIntrospection,T,java.lang.Class...)"},{"p":"io.micronaut.validation.validator","c":"Validator","l":"validate(T, BeanValidationContext)","u":"validate(T,io.micronaut.validation.validator.BeanValidationContext)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"validate(T, BeanValidationContext)","u":"validate(T,io.micronaut.validation.validator.BeanValidationContext)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"validate(T, Class...)","u":"validate(T,java.lang.Class...)"},{"p":"io.micronaut.validation.validator","c":"Validator","l":"validate(T, Class...)","u":"validate(T,java.lang.Class...)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"validateBean(BeanResolutionContext, BeanDefinition, T)","u":"validateBean(io.micronaut.context.BeanResolutionContext,io.micronaut.inject.BeanDefinition,T)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"validateBeanArgument(BeanResolutionContext, InjectionPoint, Argument, int, T)","u":"validateBeanArgument(io.micronaut.context.BeanResolutionContext,io.micronaut.inject.InjectionPoint,io.micronaut.core.type.Argument,int,T)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"validateCompletionStage(CompletionStage, Argument, Class...)","u":"validateCompletionStage(java.util.concurrent.CompletionStage,io.micronaut.core.type.Argument,java.lang.Class...)"},{"p":"io.micronaut.validation.validator","c":"ReactiveValidator","l":"validateCompletionStage(CompletionStage, Argument, Class...)","u":"validateCompletionStage(java.util.concurrent.CompletionStage,io.micronaut.core.type.Argument,java.lang.Class...)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"validateConstructorParameters(BeanIntrospection, Object[], Class...)","u":"validateConstructorParameters(io.micronaut.core.beans.BeanIntrospection,java.lang.Object[],java.lang.Class...)"},{"p":"io.micronaut.validation.validator","c":"ExecutableMethodValidator","l":"validateConstructorParameters(BeanIntrospection, Object[], Class...)","u":"validateConstructorParameters(io.micronaut.core.beans.BeanIntrospection,java.lang.Object[],java.lang.Class...)"},{"p":"io.micronaut.validation.validator","c":"ExecutableMethodValidator","l":"validateConstructorParameters(Class, Argument[], Object[], BeanValidationContext)","u":"validateConstructorParameters(java.lang.Class,io.micronaut.core.type.Argument[],java.lang.Object[],io.micronaut.validation.validator.BeanValidationContext)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"validateConstructorParameters(Class, Argument[], Object[], BeanValidationContext)","u":"validateConstructorParameters(java.lang.Class,io.micronaut.core.type.Argument[],java.lang.Object[],io.micronaut.validation.validator.BeanValidationContext)"},{"p":"io.micronaut.validation.validator","c":"ExecutableMethodValidator","l":"validateConstructorParameters(Class, Argument[], Object[], Class[])","u":"validateConstructorParameters(java.lang.Class,io.micronaut.core.type.Argument[],java.lang.Object[],java.lang.Class[])"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"validateConstructorParameters(Class, Argument[], Object[], Class[])","u":"validateConstructorParameters(java.lang.Class,io.micronaut.core.type.Argument[],java.lang.Object[],java.lang.Class[])"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"validateConstructorParameters(Constructor, Object[], Class...)","u":"validateConstructorParameters(java.lang.reflect.Constructor,java.lang.Object[],java.lang.Class...)"},{"p":"io.micronaut.validation.validator","c":"ExecutableMethodValidator","l":"validateConstructorParameters(Constructor, Object[], Class...)","u":"validateConstructorParameters(java.lang.reflect.Constructor,java.lang.Object[],java.lang.Class...)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"validateConstructorReturnValue(Constructor, T, Class...)","u":"validateConstructorReturnValue(java.lang.reflect.Constructor,T,java.lang.Class...)"},{"p":"io.micronaut.validation.validator","c":"ExecutableMethodValidator","l":"validateConstructorReturnValue(Constructor, T, Class...)","u":"validateConstructorReturnValue(java.lang.reflect.Constructor,T,java.lang.Class...)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"validatedAnnotatedElement(AnnotatedElement, Object)","u":"validatedAnnotatedElement(io.micronaut.core.annotation.AnnotatedElement,java.lang.Object)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"validateParameters(T, ExecutableMethod, Collection>, Class...)","u":"validateParameters(T,io.micronaut.inject.ExecutableMethod,java.util.Collection,java.lang.Class...)"},{"p":"io.micronaut.validation.validator","c":"ExecutableMethodValidator","l":"validateParameters(T, ExecutableMethod, Collection>, Class...)","u":"validateParameters(T,io.micronaut.inject.ExecutableMethod,java.util.Collection,java.lang.Class...)"},{"p":"io.micronaut.validation.validator","c":"ExecutableMethodValidator","l":"validateParameters(T, ExecutableMethod, Object[], BeanValidationContext)","u":"validateParameters(T,io.micronaut.inject.ExecutableMethod,java.lang.Object[],io.micronaut.validation.validator.BeanValidationContext)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"validateParameters(T, ExecutableMethod, Object[], BeanValidationContext)","u":"validateParameters(T,io.micronaut.inject.ExecutableMethod,java.lang.Object[],io.micronaut.validation.validator.BeanValidationContext)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"validateParameters(T, ExecutableMethod, Object[], Class...)","u":"validateParameters(T,io.micronaut.inject.ExecutableMethod,java.lang.Object[],java.lang.Class...)"},{"p":"io.micronaut.validation.validator","c":"ExecutableMethodValidator","l":"validateParameters(T, ExecutableMethod, Object[], Class...)","u":"validateParameters(T,io.micronaut.inject.ExecutableMethod,java.lang.Object[],java.lang.Class...)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"validateParameters(T, Method, Object[], Class...)","u":"validateParameters(T,java.lang.reflect.Method,java.lang.Object[],java.lang.Class...)"},{"p":"io.micronaut.validation.validator","c":"ExecutableMethodValidator","l":"validateParameters(T, Method, Object[], Class...)","u":"validateParameters(T,java.lang.reflect.Method,java.lang.Object[],java.lang.Class...)"},{"p":"io.micronaut.validation.validator","c":"Validator","l":"validateProperty(T, String, BeanValidationContext)","u":"validateProperty(T,java.lang.String,io.micronaut.validation.validator.BeanValidationContext)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"validateProperty(T, String, BeanValidationContext)","u":"validateProperty(T,java.lang.String,io.micronaut.validation.validator.BeanValidationContext)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"validateProperty(T, String, Class...)","u":"validateProperty(T,java.lang.String,java.lang.Class...)"},{"p":"io.micronaut.validation.validator","c":"Validator","l":"validateProperty(T, String, Class...)","u":"validateProperty(T,java.lang.String,java.lang.Class...)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"validatePublisher(ReturnType, Publisher, Class...)","u":"validatePublisher(io.micronaut.core.type.ReturnType,org.reactivestreams.Publisher,java.lang.Class...)"},{"p":"io.micronaut.validation.validator","c":"ReactiveValidator","l":"validatePublisher(ReturnType, Publisher, Class...)","u":"validatePublisher(io.micronaut.core.type.ReturnType,org.reactivestreams.Publisher,java.lang.Class...)"},{"p":"io.micronaut.validation.validator","c":"ExecutableMethodValidator","l":"validateReturnValue(T, ExecutableMethod, Object, BeanValidationContext)","u":"validateReturnValue(T,io.micronaut.inject.ExecutableMethod,java.lang.Object,io.micronaut.validation.validator.BeanValidationContext)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"validateReturnValue(T, ExecutableMethod, Object, BeanValidationContext)","u":"validateReturnValue(T,io.micronaut.inject.ExecutableMethod,java.lang.Object,io.micronaut.validation.validator.BeanValidationContext)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"validateReturnValue(T, ExecutableMethod, Object, Class...)","u":"validateReturnValue(T,io.micronaut.inject.ExecutableMethod,java.lang.Object,java.lang.Class...)"},{"p":"io.micronaut.validation.validator","c":"ExecutableMethodValidator","l":"validateReturnValue(T, ExecutableMethod, Object, Class...)","u":"validateReturnValue(T,io.micronaut.inject.ExecutableMethod,java.lang.Object,java.lang.Class...)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"validateReturnValue(T, Method, Object, Class...)","u":"validateReturnValue(T,java.lang.reflect.Method,java.lang.Object,java.lang.Class...)"},{"p":"io.micronaut.validation.validator","c":"ExecutableMethodValidator","l":"validateReturnValue(T, Method, Object, Class...)","u":"validateReturnValue(T,java.lang.reflect.Method,java.lang.Object,java.lang.Class...)"},{"p":"io.micronaut.validation.validator","c":"Validator","l":"validateValue(Class, String, Object, BeanValidationContext)","u":"validateValue(java.lang.Class,java.lang.String,java.lang.Object,io.micronaut.validation.validator.BeanValidationContext)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"validateValue(Class, String, Object, BeanValidationContext)","u":"validateValue(java.lang.Class,java.lang.String,java.lang.Object,io.micronaut.validation.validator.BeanValidationContext)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"validateValue(Class, String, Object, Class...)","u":"validateValue(java.lang.Class,java.lang.String,java.lang.Object,java.lang.Class...)"},{"p":"io.micronaut.validation.validator","c":"Validator","l":"validateValue(Class, String, Object, Class...)","u":"validateValue(java.lang.Class,java.lang.String,java.lang.Object,java.lang.Class...)"},{"p":"io.micronaut.validation","c":"ValidatingInterceptor","l":"ValidatingInterceptor(Validator, ValidatorFactory, ConversionService)","u":"%3Cinit%3E(io.micronaut.validation.validator.Validator,jakarta.validation.ValidatorFactory,io.micronaut.core.convert.ConversionService)"},{"p":"io.micronaut.validation.transformer","c":"ValidationAnnotationRemapper","l":"ValidationAnnotationRemapper()","u":"%3Cinit%3E()"},{"p":"io.micronaut.validation.visitor","c":"ValidationVisitor","l":"ValidationVisitor()","u":"%3Cinit%3E()"},{"p":"io.micronaut.validation.validator.constraints","c":"DefaultConstraintValidators.ValidatorKey","l":"ValidatorKey(Class, Class)","u":"%3Cinit%3E(java.lang.Class,java.lang.Class)"},{"p":"io.micronaut.validation.validator.extractors","c":"ValueExtractorDefinition","l":"valueExtractor()"},{"p":"io.micronaut.validation.validator.extractors","c":"ValueExtractorDefinition","l":"ValueExtractorDefinition(Argument>, ValueExtractor)","u":"%3Cinit%3E(io.micronaut.core.type.Argument,jakarta.validation.valueextraction.ValueExtractor)"},{"p":"io.micronaut.validation.validator.extractors","c":"ValueExtractorDefinition","l":"ValueExtractorDefinition(Class, Class, Integer, boolean, ValueExtractor)","u":"%3Cinit%3E(java.lang.Class,java.lang.Class,java.lang.Integer,boolean,jakarta.validation.valueextraction.ValueExtractor)"},{"p":"io.micronaut.validation.validator.extractors","c":"ValueExtractorDefinition","l":"valueType()"},{"p":"io.micronaut.validation.visitor","c":"IntrospectedValidationIndexesVisitor","l":"visitClass(ClassElement, VisitorContext)","u":"visitClass(io.micronaut.inject.ast.ClassElement,io.micronaut.inject.visitor.VisitorContext)"},{"p":"io.micronaut.validation.visitor","c":"ValidationVisitor","l":"visitClass(ClassElement, VisitorContext)","u":"visitClass(io.micronaut.inject.ast.ClassElement,io.micronaut.inject.visitor.VisitorContext)"},{"p":"io.micronaut.validation.visitor","c":"ValidationVisitor","l":"visitConstructor(ConstructorElement, VisitorContext)","u":"visitConstructor(io.micronaut.inject.ast.ConstructorElement,io.micronaut.inject.visitor.VisitorContext)"},{"p":"io.micronaut.validation.visitor","c":"ValidationVisitor","l":"visitField(FieldElement, VisitorContext)","u":"visitField(io.micronaut.inject.ast.FieldElement,io.micronaut.inject.visitor.VisitorContext)"},{"p":"io.micronaut.validation.visitor","c":"ValidationVisitor","l":"visitMethod(MethodElement, VisitorContext)","u":"visitMethod(io.micronaut.inject.ast.MethodElement,io.micronaut.inject.visitor.VisitorContext)"}];updateSearchResults(); \ No newline at end of file diff --git a/4.8.1/api/module-search-index.js b/4.8.1/api/module-search-index.js new file mode 100644 index 00000000..0d59754f --- /dev/null +++ b/4.8.1/api/module-search-index.js @@ -0,0 +1 @@ +moduleSearchIndex = [];updateSearchResults(); \ No newline at end of file diff --git a/4.8.1/api/overview-summary.html b/4.8.1/api/overview-summary.html new file mode 100644 index 00000000..6c9372b2 --- /dev/null +++ b/4.8.1/api/overview-summary.html @@ -0,0 +1,25 @@ + + + + +validation-parent 4.8.1 API + + + + + + + + + + +
+ +

index.html

+
+ + diff --git a/4.8.1/api/overview-tree.html b/4.8.1/api/overview-tree.html new file mode 100644 index 00000000..9d9fe8ca --- /dev/null +++ b/4.8.1/api/overview-tree.html @@ -0,0 +1,170 @@ + + + + +Class Hierarchy (validation-parent 4.8.1 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+

Annotation Interface Hierarchy

+ +
+
+
+
+ + diff --git a/4.8.1/api/package-search-index.js b/4.8.1/api/package-search-index.js new file mode 100644 index 00000000..e70e0373 --- /dev/null +++ b/4.8.1/api/package-search-index.js @@ -0,0 +1 @@ +packageSearchIndex = [{"l":"All Packages","u":"allpackages-index.html"},{"l":"io.micronaut.validation"},{"l":"io.micronaut.validation.annotation"},{"l":"io.micronaut.validation.exceptions"},{"l":"io.micronaut.validation.transformer"},{"l":"io.micronaut.validation.validator"},{"l":"io.micronaut.validation.validator.constraints"},{"l":"io.micronaut.validation.validator.extractors"},{"l":"io.micronaut.validation.validator.messages"},{"l":"io.micronaut.validation.validator.resolver"},{"l":"io.micronaut.validation.visitor"}];updateSearchResults(); \ No newline at end of file diff --git a/4.8.1/api/resources/glass.png b/4.8.1/api/resources/glass.png new file mode 100644 index 00000000..a7f591f4 Binary files /dev/null and b/4.8.1/api/resources/glass.png differ diff --git a/4.8.1/api/resources/x.png b/4.8.1/api/resources/x.png new file mode 100644 index 00000000..30548a75 Binary files /dev/null and b/4.8.1/api/resources/x.png differ diff --git a/4.8.1/api/script-dir/jquery-3.7.1.min.js b/4.8.1/api/script-dir/jquery-3.7.1.min.js new file mode 100644 index 00000000..7f37b5d9 --- /dev/null +++ b/4.8.1/api/script-dir/jquery-3.7.1.min.js @@ -0,0 +1,2 @@ +/*! jQuery v3.7.1 | (c) OpenJS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(ie,e){"use strict";var oe=[],r=Object.getPrototypeOf,ae=oe.slice,g=oe.flat?function(e){return oe.flat.call(e)}:function(e){return oe.concat.apply([],e)},s=oe.push,se=oe.indexOf,n={},i=n.toString,ue=n.hasOwnProperty,o=ue.toString,a=o.call(Object),le={},v=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},y=function(e){return null!=e&&e===e.window},C=ie.document,u={type:!0,src:!0,nonce:!0,noModule:!0};function m(e,t,n){var r,i,o=(n=n||C).createElement("script");if(o.text=e,t)for(r in u)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function x(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[i.call(e)]||"object":typeof e}var t="3.7.1",l=/HTML$/i,ce=function(e,t){return new ce.fn.init(e,t)};function c(e){var t=!!e&&"length"in e&&e.length,n=x(e);return!v(e)&&!y(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+ge+")"+ge+"*"),x=new RegExp(ge+"|>"),j=new RegExp(g),A=new RegExp("^"+t+"$"),D={ID:new RegExp("^#("+t+")"),CLASS:new RegExp("^\\.("+t+")"),TAG:new RegExp("^("+t+"|[*])"),ATTR:new RegExp("^"+p),PSEUDO:new RegExp("^"+g),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+ge+"*(even|odd|(([+-]|)(\\d*)n|)"+ge+"*(?:([+-]|)"+ge+"*(\\d+)|))"+ge+"*\\)|)","i"),bool:new RegExp("^(?:"+f+")$","i"),needsContext:new RegExp("^"+ge+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+ge+"*((?:-\\d)?\\d*)"+ge+"*\\)|)(?=[^-]|$)","i")},N=/^(?:input|select|textarea|button)$/i,q=/^h\d$/i,L=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,H=/[+~]/,O=new RegExp("\\\\[\\da-fA-F]{1,6}"+ge+"?|\\\\([^\\r\\n\\f])","g"),P=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},M=function(){V()},R=J(function(e){return!0===e.disabled&&fe(e,"fieldset")},{dir:"parentNode",next:"legend"});try{k.apply(oe=ae.call(ye.childNodes),ye.childNodes),oe[ye.childNodes.length].nodeType}catch(e){k={apply:function(e,t){me.apply(e,ae.call(t))},call:function(e){me.apply(e,ae.call(arguments,1))}}}function I(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(V(e),e=e||T,C)){if(11!==p&&(u=L.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return k.call(n,a),n}else if(f&&(a=f.getElementById(i))&&I.contains(e,a)&&a.id===i)return k.call(n,a),n}else{if(u[2])return k.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&e.getElementsByClassName)return k.apply(n,e.getElementsByClassName(i)),n}if(!(h[t+" "]||d&&d.test(t))){if(c=t,f=e,1===p&&(x.test(t)||m.test(t))){(f=H.test(t)&&U(e.parentNode)||e)==e&&le.scope||((s=e.getAttribute("id"))?s=ce.escapeSelector(s):e.setAttribute("id",s=S)),o=(l=Y(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+Q(l[o]);c=l.join(",")}try{return k.apply(n,f.querySelectorAll(c)),n}catch(e){h(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return re(t.replace(ve,"$1"),e,n,r)}function W(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function F(e){return e[S]=!0,e}function $(e){var t=T.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function B(t){return function(e){return fe(e,"input")&&e.type===t}}function _(t){return function(e){return(fe(e,"input")||fe(e,"button"))&&e.type===t}}function z(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&R(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function X(a){return F(function(o){return o=+o,F(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function U(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}function V(e){var t,n=e?e.ownerDocument||e:ye;return n!=T&&9===n.nodeType&&n.documentElement&&(r=(T=n).documentElement,C=!ce.isXMLDoc(T),i=r.matches||r.webkitMatchesSelector||r.msMatchesSelector,r.msMatchesSelector&&ye!=T&&(t=T.defaultView)&&t.top!==t&&t.addEventListener("unload",M),le.getById=$(function(e){return r.appendChild(e).id=ce.expando,!T.getElementsByName||!T.getElementsByName(ce.expando).length}),le.disconnectedMatch=$(function(e){return i.call(e,"*")}),le.scope=$(function(){return T.querySelectorAll(":scope")}),le.cssHas=$(function(){try{return T.querySelector(":has(*,:jqfake)"),!1}catch(e){return!0}}),le.getById?(b.filter.ID=function(e){var t=e.replace(O,P);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&C){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(O,P);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&C){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):t.querySelectorAll(e)},b.find.CLASS=function(e,t){if("undefined"!=typeof t.getElementsByClassName&&C)return t.getElementsByClassName(e)},d=[],$(function(e){var t;r.appendChild(e).innerHTML="",e.querySelectorAll("[selected]").length||d.push("\\["+ge+"*(?:value|"+f+")"),e.querySelectorAll("[id~="+S+"-]").length||d.push("~="),e.querySelectorAll("a#"+S+"+*").length||d.push(".#.+[+~]"),e.querySelectorAll(":checked").length||d.push(":checked"),(t=T.createElement("input")).setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),r.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&d.push(":enabled",":disabled"),(t=T.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||d.push("\\["+ge+"*name"+ge+"*="+ge+"*(?:''|\"\")")}),le.cssHas||d.push(":has"),d=d.length&&new RegExp(d.join("|")),l=function(e,t){if(e===t)return a=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!le.sortDetached&&t.compareDocumentPosition(e)===n?e===T||e.ownerDocument==ye&&I.contains(ye,e)?-1:t===T||t.ownerDocument==ye&&I.contains(ye,t)?1:o?se.call(o,e)-se.call(o,t):0:4&n?-1:1)}),T}for(e in I.matches=function(e,t){return I(e,null,null,t)},I.matchesSelector=function(e,t){if(V(e),C&&!h[t+" "]&&(!d||!d.test(t)))try{var n=i.call(e,t);if(n||le.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){h(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(O,P),e[3]=(e[3]||e[4]||e[5]||"").replace(O,P),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||I.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&I.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return D.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&j.test(n)&&(t=Y(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(O,P).toLowerCase();return"*"===e?function(){return!0}:function(e){return fe(e,t)}},CLASS:function(e){var t=s[e+" "];return t||(t=new RegExp("(^|"+ge+")"+e+"("+ge+"|$)"))&&s(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=I.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function T(e,n,r){return v(n)?ce.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?ce.grep(e,function(e){return e===n!==r}):"string"!=typeof n?ce.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(ce.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||k,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:S.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof ce?t[0]:t,ce.merge(this,ce.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:C,!0)),w.test(r[1])&&ce.isPlainObject(t))for(r in t)v(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=C.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):v(e)?void 0!==n.ready?n.ready(e):e(ce):ce.makeArray(e,this)}).prototype=ce.fn,k=ce(C);var E=/^(?:parents|prev(?:Until|All))/,j={children:!0,contents:!0,next:!0,prev:!0};function A(e,t){while((e=e[t])&&1!==e.nodeType);return e}ce.fn.extend({has:function(e){var t=ce(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,Ce=/^$|^module$|\/(?:java|ecma)script/i;xe=C.createDocumentFragment().appendChild(C.createElement("div")),(be=C.createElement("input")).setAttribute("type","radio"),be.setAttribute("checked","checked"),be.setAttribute("name","t"),xe.appendChild(be),le.checkClone=xe.cloneNode(!0).cloneNode(!0).lastChild.checked,xe.innerHTML="",le.noCloneChecked=!!xe.cloneNode(!0).lastChild.defaultValue,xe.innerHTML="",le.option=!!xe.lastChild;var ke={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function Se(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&fe(e,t)?ce.merge([e],n):n}function Ee(e,t){for(var n=0,r=e.length;n",""]);var je=/<|&#?\w+;/;function Ae(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function Re(e,t){return fe(e,"table")&&fe(11!==t.nodeType?t:t.firstChild,"tr")&&ce(e).children("tbody")[0]||e}function Ie(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function We(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Fe(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(_.hasData(e)&&(s=_.get(e).events))for(i in _.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),C.head.appendChild(r[0])},abort:function(){i&&i()}}});var Jt,Kt=[],Zt=/(=)\?(?=&|$)|\?\?/;ce.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Kt.pop()||ce.expando+"_"+jt.guid++;return this[e]=!0,e}}),ce.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Zt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Zt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=v(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Zt,"$1"+r):!1!==e.jsonp&&(e.url+=(At.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||ce.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=ie[r],ie[r]=function(){o=arguments},n.always(function(){void 0===i?ce(ie).removeProp(r):ie[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Kt.push(r)),o&&v(i)&&i(o[0]),o=i=void 0}),"script"}),le.createHTMLDocument=((Jt=C.implementation.createHTMLDocument("").body).innerHTML="
",2===Jt.childNodes.length),ce.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(le.createHTMLDocument?((r=(t=C.implementation.createHTMLDocument("")).createElement("base")).href=C.location.href,t.head.appendChild(r)):t=C),o=!n&&[],(i=w.exec(e))?[t.createElement(i[1])]:(i=Ae([e],t,o),o&&o.length&&ce(o).remove(),ce.merge([],i.childNodes)));var r,i,o},ce.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(ce.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},ce.expr.pseudos.animated=function(t){return ce.grep(ce.timers,function(e){return t===e.elem}).length},ce.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=ce.css(e,"position"),c=ce(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=ce.css(e,"top"),u=ce.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),v(t)&&(t=t.call(e,n,ce.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},ce.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){ce.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===ce.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===ce.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=ce(e).offset()).top+=ce.css(e,"borderTopWidth",!0),i.left+=ce.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-ce.css(r,"marginTop",!0),left:t.left-i.left-ce.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===ce.css(e,"position"))e=e.offsetParent;return e||J})}}),ce.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;ce.fn[t]=function(e){return M(this,function(e,t,n){var r;if(y(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),ce.each(["top","left"],function(e,n){ce.cssHooks[n]=Ye(le.pixelPosition,function(e,t){if(t)return t=Ge(e,n),_e.test(t)?ce(e).position()[n]+"px":t})}),ce.each({Height:"height",Width:"width"},function(a,s){ce.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){ce.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return M(this,function(e,t,n){var r;return y(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?ce.css(e,t,i):ce.style(e,t,n,i)},s,n?e:void 0,n)}})}),ce.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){ce.fn[t]=function(e){return this.on(t,e)}}),ce.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.on("mouseenter",e).on("mouseleave",t||e)}}),ce.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){ce.fn[n]=function(e,t){return 0",options:{classes:{},disabled:!1,create:null},_createWidget:function(t,e){e=x(e||this.defaultElement||this)[0],this.element=x(e),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=x(),this.hoverable=x(),this.focusable=x(),this.classesElementLookup={},e!==this&&(x.data(e,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===e&&this.destroy()}}),this.document=x(e.style?e.ownerDocument:e.document||e),this.window=x(this.document[0].defaultView||this.document[0].parentWindow)),this.options=x.widget.extend({},this.options,this._getCreateOptions(),t),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:x.noop,_create:x.noop,_init:x.noop,destroy:function(){var i=this;this._destroy(),x.each(this.classesElementLookup,function(t,e){i._removeClass(e,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:x.noop,widget:function(){return this.element},option:function(t,e){var i,s,n,o=t;if(0===arguments.length)return x.widget.extend({},this.options);if("string"==typeof t)if(o={},t=(i=t.split(".")).shift(),i.length){for(s=o[t]=x.widget.extend({},this.options[t]),n=0;n
"),i=e.children()[0];return x("body").append(e),t=i.offsetWidth,e.css("overflow","scroll"),t===(i=i.offsetWidth)&&(i=e[0].clientWidth),e.remove(),s=t-i},getScrollInfo:function(t){var e=t.isWindow||t.isDocument?"":t.element.css("overflow-x"),i=t.isWindow||t.isDocument?"":t.element.css("overflow-y"),e="scroll"===e||"auto"===e&&t.widthC(E(s),E(n))?o.important="horizontal":o.important="vertical",c.using.call(this,t,o)}),l.offset(x.extend(u,{using:t}))})},x.ui.position={fit:{left:function(t,e){var i=e.within,s=i.isWindow?i.scrollLeft:i.offset.left,n=i.width,o=t.left-e.collisionPosition.marginLeft,l=s-o,a=o+e.collisionWidth-n-s;e.collisionWidth>n?0n?0",delay:300,options:{icons:{submenu:"ui-icon-caret-1-e"},items:"> *",menus:"ul",position:{my:"left top",at:"right top"},role:"menu",blur:null,focus:null,select:null},_create:function(){this.activeMenu=this.element,this.mouseHandled=!1,this.lastMousePosition={x:null,y:null},this.element.uniqueId().attr({role:this.options.role,tabIndex:0}),this._addClass("ui-menu","ui-widget ui-widget-content"),this._on({"mousedown .ui-menu-item":function(t){t.preventDefault(),this._activateItem(t)},"click .ui-menu-item":function(t){var e=x(t.target),i=x(x.ui.safeActiveElement(this.document[0]));!this.mouseHandled&&e.not(".ui-state-disabled").length&&(this.select(t),t.isPropagationStopped()||(this.mouseHandled=!0),e.has(".ui-menu").length?this.expand(t):!this.element.is(":focus")&&i.closest(".ui-menu").length&&(this.element.trigger("focus",[!0]),this.active&&1===this.active.parents(".ui-menu").length&&clearTimeout(this.timer)))},"mouseenter .ui-menu-item":"_activateItem","mousemove .ui-menu-item":"_activateItem",mouseleave:"collapseAll","mouseleave .ui-menu":"collapseAll",focus:function(t,e){var i=this.active||this._menuItems().first();e||this.focus(t,i)},blur:function(t){this._delay(function(){x.contains(this.element[0],x.ui.safeActiveElement(this.document[0]))||this.collapseAll(t)})},keydown:"_keydown"}),this.refresh(),this._on(this.document,{click:function(t){this._closeOnDocumentClick(t)&&this.collapseAll(t,!0),this.mouseHandled=!1}})},_activateItem:function(t){var e,i;this.previousFilter||t.clientX===this.lastMousePosition.x&&t.clientY===this.lastMousePosition.y||(this.lastMousePosition={x:t.clientX,y:t.clientY},e=x(t.target).closest(".ui-menu-item"),i=x(t.currentTarget),e[0]===i[0]&&(i.is(".ui-state-active")||(this._removeClass(i.siblings().children(".ui-state-active"),null,"ui-state-active"),this.focus(t,i))))},_destroy:function(){var t=this.element.find(".ui-menu-item").removeAttr("role aria-disabled").children(".ui-menu-item-wrapper").removeUniqueId().removeAttr("tabIndex role aria-haspopup");this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeAttr("role aria-labelledby aria-expanded aria-hidden aria-disabled tabIndex").removeUniqueId().show(),t.children().each(function(){var t=x(this);t.data("ui-menu-submenu-caret")&&t.remove()})},_keydown:function(t){var e,i,s,n=!0;switch(t.keyCode){case x.ui.keyCode.PAGE_UP:this.previousPage(t);break;case x.ui.keyCode.PAGE_DOWN:this.nextPage(t);break;case x.ui.keyCode.HOME:this._move("first","first",t);break;case x.ui.keyCode.END:this._move("last","last",t);break;case x.ui.keyCode.UP:this.previous(t);break;case x.ui.keyCode.DOWN:this.next(t);break;case x.ui.keyCode.LEFT:this.collapse(t);break;case x.ui.keyCode.RIGHT:this.active&&!this.active.is(".ui-state-disabled")&&this.expand(t);break;case x.ui.keyCode.ENTER:case x.ui.keyCode.SPACE:this._activate(t);break;case x.ui.keyCode.ESCAPE:this.collapse(t);break;default:e=this.previousFilter||"",s=n=!1,i=96<=t.keyCode&&t.keyCode<=105?(t.keyCode-96).toString():String.fromCharCode(t.keyCode),clearTimeout(this.filterTimer),i===e?s=!0:i=e+i,e=this._filterMenuItems(i),(e=s&&-1!==e.index(this.active.next())?this.active.nextAll(".ui-menu-item"):e).length||(i=String.fromCharCode(t.keyCode),e=this._filterMenuItems(i)),e.length?(this.focus(t,e),this.previousFilter=i,this.filterTimer=this._delay(function(){delete this.previousFilter},1e3)):delete this.previousFilter}n&&t.preventDefault()},_activate:function(t){this.active&&!this.active.is(".ui-state-disabled")&&(this.active.children("[aria-haspopup='true']").length?this.expand(t):this.select(t))},refresh:function(){var t,e,s=this,n=this.options.icons.submenu,i=this.element.find(this.options.menus);this._toggleClass("ui-menu-icons",null,!!this.element.find(".ui-icon").length),e=i.filter(":not(.ui-menu)").hide().attr({role:this.options.role,"aria-hidden":"true","aria-expanded":"false"}).each(function(){var t=x(this),e=t.prev(),i=x("").data("ui-menu-submenu-caret",!0);s._addClass(i,"ui-menu-icon","ui-icon "+n),e.attr("aria-haspopup","true").prepend(i),t.attr("aria-labelledby",e.attr("id"))}),this._addClass(e,"ui-menu","ui-widget ui-widget-content ui-front"),(t=i.add(this.element).find(this.options.items)).not(".ui-menu-item").each(function(){var t=x(this);s._isDivider(t)&&s._addClass(t,"ui-menu-divider","ui-widget-content")}),i=(e=t.not(".ui-menu-item, .ui-menu-divider")).children().not(".ui-menu").uniqueId().attr({tabIndex:-1,role:this._itemRole()}),this._addClass(e,"ui-menu-item")._addClass(i,"ui-menu-item-wrapper"),t.filter(".ui-state-disabled").attr("aria-disabled","true"),this.active&&!x.contains(this.element[0],this.active[0])&&this.blur()},_itemRole:function(){return{menu:"menuitem",listbox:"option"}[this.options.role]},_setOption:function(t,e){var i;"icons"===t&&(i=this.element.find(".ui-menu-icon"),this._removeClass(i,null,this.options.icons.submenu)._addClass(i,null,e.submenu)),this._super(t,e)},_setOptionDisabled:function(t){this._super(t),this.element.attr("aria-disabled",String(t)),this._toggleClass(null,"ui-state-disabled",!!t)},focus:function(t,e){var i;this.blur(t,t&&"focus"===t.type),this._scrollIntoView(e),this.active=e.first(),i=this.active.children(".ui-menu-item-wrapper"),this._addClass(i,null,"ui-state-active"),this.options.role&&this.element.attr("aria-activedescendant",i.attr("id")),i=this.active.parent().closest(".ui-menu-item").children(".ui-menu-item-wrapper"),this._addClass(i,null,"ui-state-active"),t&&"keydown"===t.type?this._close():this.timer=this._delay(function(){this._close()},this.delay),(i=e.children(".ui-menu")).length&&t&&/^mouse/.test(t.type)&&this._startOpening(i),this.activeMenu=e.parent(),this._trigger("focus",t,{item:e})},_scrollIntoView:function(t){var e,i,s;this._hasScroll()&&(i=parseFloat(x.css(this.activeMenu[0],"borderTopWidth"))||0,s=parseFloat(x.css(this.activeMenu[0],"paddingTop"))||0,e=t.offset().top-this.activeMenu.offset().top-i-s,i=this.activeMenu.scrollTop(),s=this.activeMenu.height(),t=t.outerHeight(),e<0?this.activeMenu.scrollTop(i+e):s",options:{appendTo:null,autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},requestIndex:0,pending:0,liveRegionTimer:null,_create:function(){var i,s,n,t=this.element[0].nodeName.toLowerCase(),e="textarea"===t,t="input"===t;this.isMultiLine=e||!t&&this._isContentEditable(this.element),this.valueMethod=this.element[e||t?"val":"text"],this.isNewMenu=!0,this._addClass("ui-autocomplete-input"),this.element.attr("autocomplete","off"),this._on(this.element,{keydown:function(t){if(this.element.prop("readOnly"))s=n=i=!0;else{s=n=i=!1;var e=x.ui.keyCode;switch(t.keyCode){case e.PAGE_UP:i=!0,this._move("previousPage",t);break;case e.PAGE_DOWN:i=!0,this._move("nextPage",t);break;case e.UP:i=!0,this._keyEvent("previous",t);break;case e.DOWN:i=!0,this._keyEvent("next",t);break;case e.ENTER:this.menu.active&&(i=!0,t.preventDefault(),this.menu.select(t));break;case e.TAB:this.menu.active&&this.menu.select(t);break;case e.ESCAPE:this.menu.element.is(":visible")&&(this.isMultiLine||this._value(this.term),this.close(t),t.preventDefault());break;default:s=!0,this._searchTimeout(t)}}},keypress:function(t){if(i)return i=!1,void(this.isMultiLine&&!this.menu.element.is(":visible")||t.preventDefault());if(!s){var e=x.ui.keyCode;switch(t.keyCode){case e.PAGE_UP:this._move("previousPage",t);break;case e.PAGE_DOWN:this._move("nextPage",t);break;case e.UP:this._keyEvent("previous",t);break;case e.DOWN:this._keyEvent("next",t)}}},input:function(t){if(n)return n=!1,void t.preventDefault();this._searchTimeout(t)},focus:function(){this.selectedItem=null,this.previous=this._value()},blur:function(t){clearTimeout(this.searching),this.close(t),this._change(t)}}),this._initSource(),this.menu=x("
    ").appendTo(this._appendTo()).menu({role:null}).hide().attr({unselectable:"on"}).menu("instance"),this._addClass(this.menu.element,"ui-autocomplete","ui-front"),this._on(this.menu.element,{mousedown:function(t){t.preventDefault()},menufocus:function(t,e){var i,s;if(this.isNewMenu&&(this.isNewMenu=!1,t.originalEvent&&/^mouse/.test(t.originalEvent.type)))return this.menu.blur(),void this.document.one("mousemove",function(){x(t.target).trigger(t.originalEvent)});s=e.item.data("ui-autocomplete-item"),!1!==this._trigger("focus",t,{item:s})&&t.originalEvent&&/^key/.test(t.originalEvent.type)&&this._value(s.value),(i=e.item.attr("aria-label")||s.value)&&String.prototype.trim.call(i).length&&(clearTimeout(this.liveRegionTimer),this.liveRegionTimer=this._delay(function(){this.liveRegion.html(x("
    ").text(i))},100))},menuselect:function(t,e){var i=e.item.data("ui-autocomplete-item"),s=this.previous;this.element[0]!==x.ui.safeActiveElement(this.document[0])&&(this.element.trigger("focus"),this.previous=s,this._delay(function(){this.previous=s,this.selectedItem=i})),!1!==this._trigger("select",t,{item:i})&&this._value(i.value),this.term=this._value(),this.close(t),this.selectedItem=i}}),this.liveRegion=x("
    ",{role:"status","aria-live":"assertive","aria-relevant":"additions"}).appendTo(this.document[0].body),this._addClass(this.liveRegion,null,"ui-helper-hidden-accessible"),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_destroy:function(){clearTimeout(this.searching),this.element.removeAttr("autocomplete"),this.menu.element.remove(),this.liveRegion.remove()},_setOption:function(t,e){this._super(t,e),"source"===t&&this._initSource(),"appendTo"===t&&this.menu.element.appendTo(this._appendTo()),"disabled"===t&&e&&this.xhr&&this.xhr.abort()},_isEventTargetInWidget:function(t){var e=this.menu.element[0];return t.target===this.element[0]||t.target===e||x.contains(e,t.target)},_closeOnClickOutside:function(t){this._isEventTargetInWidget(t)||this.close()},_appendTo:function(){var t=this.options.appendTo;return t=!(t=!(t=t&&(t.jquery||t.nodeType?x(t):this.document.find(t).eq(0)))||!t[0]?this.element.closest(".ui-front, dialog"):t).length?this.document[0].body:t},_initSource:function(){var i,s,n=this;Array.isArray(this.options.source)?(i=this.options.source,this.source=function(t,e){e(x.ui.autocomplete.filter(i,t.term))}):"string"==typeof this.options.source?(s=this.options.source,this.source=function(t,e){n.xhr&&n.xhr.abort(),n.xhr=x.ajax({url:s,data:t,dataType:"json",success:function(t){e(t)},error:function(){e([])}})}):this.source=this.options.source},_searchTimeout:function(s){clearTimeout(this.searching),this.searching=this._delay(function(){var t=this.term===this._value(),e=this.menu.element.is(":visible"),i=s.altKey||s.ctrlKey||s.metaKey||s.shiftKey;t&&(e||i)||(this.selectedItem=null,this.search(null,s))},this.options.delay)},search:function(t,e){return t=null!=t?t:this._value(),this.term=this._value(),t.length").append(x("
    ").text(e.label)).appendTo(t)},_move:function(t,e){if(this.menu.element.is(":visible"))return this.menu.isFirstItem()&&/^previous/.test(t)||this.menu.isLastItem()&&/^next/.test(t)?(this.isMultiLine||this._value(this.term),void this.menu.blur()):void this.menu[t](e);this.search(null,e)},widget:function(){return this.menu.element},_value:function(){return this.valueMethod.apply(this.element,arguments)},_keyEvent:function(t,e){this.isMultiLine&&!this.menu.element.is(":visible")||(this._move(t,e),e.preventDefault())},_isContentEditable:function(t){if(!t.length)return!1;var e=t.prop("contentEditable");return"inherit"===e?this._isContentEditable(t.parent()):"true"===e}}),x.extend(x.ui.autocomplete,{escapeRegex:function(t){return t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")},filter:function(t,e){var i=new RegExp(x.ui.autocomplete.escapeRegex(e),"i");return x.grep(t,function(t){return i.test(t.label||t.value||t)})}}),x.widget("ui.autocomplete",x.ui.autocomplete,{options:{messages:{noResults:"No search results.",results:function(t){return t+(1").text(e))},100))}});x.ui.autocomplete}); \ No newline at end of file diff --git a/4.8.1/api/script.js b/4.8.1/api/script.js new file mode 100644 index 00000000..73cd8faa --- /dev/null +++ b/4.8.1/api/script.js @@ -0,0 +1,132 @@ +/* + * Copyright (c) 2013, 2020, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +var moduleSearchIndex; +var packageSearchIndex; +var typeSearchIndex; +var memberSearchIndex; +var tagSearchIndex; +function loadScripts(doc, tag) { + createElem(doc, tag, 'search.js'); + + createElem(doc, tag, 'module-search-index.js'); + createElem(doc, tag, 'package-search-index.js'); + createElem(doc, tag, 'type-search-index.js'); + createElem(doc, tag, 'member-search-index.js'); + createElem(doc, tag, 'tag-search-index.js'); +} + +function createElem(doc, tag, path) { + var script = doc.createElement(tag); + var scriptElement = doc.getElementsByTagName(tag)[0]; + script.src = pathtoroot + path; + scriptElement.parentNode.insertBefore(script, scriptElement); +} + +function show(tableId, selected, columns) { + if (tableId !== selected) { + document.querySelectorAll('div.' + tableId + ':not(.' + selected + ')') + .forEach(function(elem) { + elem.style.display = 'none'; + }); + } + document.querySelectorAll('div.' + selected) + .forEach(function(elem, index) { + elem.style.display = ''; + var isEvenRow = index % (columns * 2) < columns; + elem.classList.remove(isEvenRow ? oddRowColor : evenRowColor); + elem.classList.add(isEvenRow ? evenRowColor : oddRowColor); + }); + updateTabs(tableId, selected); +} + +function updateTabs(tableId, selected) { + document.getElementById(tableId + '.tabpanel') + .setAttribute('aria-labelledby', selected); + document.querySelectorAll('button[id^="' + tableId + '"]') + .forEach(function(tab, index) { + if (selected === tab.id || (tableId === selected && index === 0)) { + tab.className = activeTableTab; + tab.setAttribute('aria-selected', true); + tab.setAttribute('tabindex',0); + } else { + tab.className = tableTab; + tab.setAttribute('aria-selected', false); + tab.setAttribute('tabindex',-1); + } + }); +} + +function switchTab(e) { + var selected = document.querySelector('[aria-selected=true]'); + if (selected) { + if ((e.keyCode === 37 || e.keyCode === 38) && selected.previousSibling) { + // left or up arrow key pressed: move focus to previous tab + selected.previousSibling.click(); + selected.previousSibling.focus(); + e.preventDefault(); + } else if ((e.keyCode === 39 || e.keyCode === 40) && selected.nextSibling) { + // right or down arrow key pressed: move focus to next tab + selected.nextSibling.click(); + selected.nextSibling.focus(); + e.preventDefault(); + } + } +} + +var updateSearchResults = function() {}; + +function indexFilesLoaded() { + return moduleSearchIndex + && packageSearchIndex + && typeSearchIndex + && memberSearchIndex + && tagSearchIndex; +} + +// Workaround for scroll position not being included in browser history (8249133) +document.addEventListener("DOMContentLoaded", function(e) { + var contentDiv = document.querySelector("div.flex-content"); + window.addEventListener("popstate", function(e) { + if (e.state !== null) { + contentDiv.scrollTop = e.state; + } + }); + window.addEventListener("hashchange", function(e) { + history.replaceState(contentDiv.scrollTop, document.title); + }); + contentDiv.addEventListener("scroll", function(e) { + var timeoutID; + if (!timeoutID) { + timeoutID = setTimeout(function() { + history.replaceState(contentDiv.scrollTop, document.title); + timeoutID = null; + }, 100); + } + }); + if (!location.hash) { + history.replaceState(contentDiv.scrollTop, document.title); + } +}); diff --git a/4.8.1/api/search.js b/4.8.1/api/search.js new file mode 100644 index 00000000..db3b2f4a --- /dev/null +++ b/4.8.1/api/search.js @@ -0,0 +1,354 @@ +/* + * Copyright (c) 2015, 2020, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +var noResult = {l: "No results found"}; +var loading = {l: "Loading search index..."}; +var catModules = "Modules"; +var catPackages = "Packages"; +var catTypes = "Classes and Interfaces"; +var catMembers = "Members"; +var catSearchTags = "Search Tags"; +var highlight = "$&"; +var searchPattern = ""; +var fallbackPattern = ""; +var RANKING_THRESHOLD = 2; +var NO_MATCH = 0xffff; +var MIN_RESULTS = 3; +var MAX_RESULTS = 500; +var UNNAMED = ""; +function escapeHtml(str) { + return str.replace(//g, ">"); +} +function getHighlightedText(item, matcher, fallbackMatcher) { + var escapedItem = escapeHtml(item); + var highlighted = escapedItem.replace(matcher, highlight); + if (highlighted === escapedItem) { + highlighted = escapedItem.replace(fallbackMatcher, highlight) + } + return highlighted; +} +function getURLPrefix(ui) { + var urlPrefix=""; + var slash = "/"; + if (ui.item.category === catModules) { + return ui.item.l + slash; + } else if (ui.item.category === catPackages && ui.item.m) { + return ui.item.m + slash; + } else if (ui.item.category === catTypes || ui.item.category === catMembers) { + if (ui.item.m) { + urlPrefix = ui.item.m + slash; + } else { + $.each(packageSearchIndex, function(index, item) { + if (item.m && ui.item.p === item.l) { + urlPrefix = item.m + slash; + } + }); + } + } + return urlPrefix; +} +function createSearchPattern(term) { + var pattern = ""; + var isWordToken = false; + term.replace(/,\s*/g, ", ").trim().split(/\s+/).forEach(function(w, index) { + if (index > 0) { + // whitespace between identifiers is significant + pattern += (isWordToken && /^\w/.test(w)) ? "\\s+" : "\\s*"; + } + var tokens = w.split(/(?=[A-Z,.()<>[\/])/); + for (var i = 0; i < tokens.length; i++) { + var s = tokens[i]; + if (s === "") { + continue; + } + pattern += $.ui.autocomplete.escapeRegex(s); + isWordToken = /\w$/.test(s); + if (isWordToken) { + pattern += "([a-z0-9_$<>\\[\\]]*?)"; + } + } + }); + return pattern; +} +function createMatcher(pattern, flags) { + var isCamelCase = /[A-Z]/.test(pattern); + return new RegExp(pattern, flags + (isCamelCase ? "" : "i")); +} +var watermark = 'Search'; +$(function() { + var search = $("#search-input"); + var reset = $("#reset-button"); + search.val(''); + search.prop("disabled", false); + reset.prop("disabled", false); + search.val(watermark).addClass('watermark'); + search.blur(function() { + if ($(this).val().length === 0) { + $(this).val(watermark).addClass('watermark'); + } + }); + search.on('click keydown paste', function() { + if ($(this).val() === watermark) { + $(this).val('').removeClass('watermark'); + } + }); + reset.click(function() { + search.val('').focus(); + }); + search.focus()[0].setSelectionRange(0, 0); +}); +$.widget("custom.catcomplete", $.ui.autocomplete, { + _create: function() { + this._super(); + this.widget().menu("option", "items", "> :not(.ui-autocomplete-category)"); + }, + _renderMenu: function(ul, items) { + var rMenu = this; + var currentCategory = ""; + rMenu.menu.bindings = $(); + $.each(items, function(index, item) { + var li; + if (item.category && item.category !== currentCategory) { + ul.append("
  • " + item.category + "
  • "); + currentCategory = item.category; + } + li = rMenu._renderItemData(ul, item); + if (item.category) { + li.attr("aria-label", item.category + " : " + item.l); + li.attr("class", "result-item"); + } else { + li.attr("aria-label", item.l); + li.attr("class", "result-item"); + } + }); + }, + _renderItem: function(ul, item) { + var label = ""; + var matcher = createMatcher(escapeHtml(searchPattern), "g"); + var fallbackMatcher = new RegExp(fallbackPattern, "gi") + if (item.category === catModules) { + label = getHighlightedText(item.l, matcher, fallbackMatcher); + } else if (item.category === catPackages) { + label = getHighlightedText(item.l, matcher, fallbackMatcher); + } else if (item.category === catTypes) { + label = (item.p && item.p !== UNNAMED) + ? getHighlightedText(item.p + "." + item.l, matcher, fallbackMatcher) + : getHighlightedText(item.l, matcher, fallbackMatcher); + } else if (item.category === catMembers) { + label = (item.p && item.p !== UNNAMED) + ? getHighlightedText(item.p + "." + item.c + "." + item.l, matcher, fallbackMatcher) + : getHighlightedText(item.c + "." + item.l, matcher, fallbackMatcher); + } else if (item.category === catSearchTags) { + label = getHighlightedText(item.l, matcher, fallbackMatcher); + } else { + label = item.l; + } + var li = $("
  • ").appendTo(ul); + var div = $("
    ").appendTo(li); + if (item.category === catSearchTags && item.h) { + if (item.d) { + div.html(label + " (" + item.h + ")
    " + + item.d + "
    "); + } else { + div.html(label + " (" + item.h + ")"); + } + } else { + if (item.m) { + div.html(item.m + "/" + label); + } else { + div.html(label); + } + } + return li; + } +}); +function rankMatch(match, category) { + if (!match) { + return NO_MATCH; + } + var index = match.index; + var input = match.input; + var leftBoundaryMatch = 2; + var periferalMatch = 0; + // make sure match is anchored on a left word boundary + if (index === 0 || /\W/.test(input[index - 1]) || "_" === input[index]) { + leftBoundaryMatch = 0; + } else if ("_" === input[index - 1] || (input[index] === input[index].toUpperCase() && !/^[A-Z0-9_$]+$/.test(input))) { + leftBoundaryMatch = 1; + } + var matchEnd = index + match[0].length; + var leftParen = input.indexOf("("); + var endOfName = leftParen > -1 ? leftParen : input.length; + // exclude peripheral matches + if (category !== catModules && category !== catSearchTags) { + var delim = category === catPackages ? "/" : "."; + if (leftParen > -1 && leftParen < index) { + periferalMatch += 2; + } else if (input.lastIndexOf(delim, endOfName) >= matchEnd) { + periferalMatch += 2; + } + } + var delta = match[0].length === endOfName ? 0 : 1; // rank full match higher than partial match + for (var i = 1; i < match.length; i++) { + // lower ranking if parts of the name are missing + if (match[i]) + delta += match[i].length; + } + if (category === catTypes) { + // lower ranking if a type name contains unmatched camel-case parts + if (/[A-Z]/.test(input.substring(matchEnd))) + delta += 5; + if (/[A-Z]/.test(input.substring(0, index))) + delta += 5; + } + return leftBoundaryMatch + periferalMatch + (delta / 200); + +} +function doSearch(request, response) { + var result = []; + searchPattern = createSearchPattern(request.term); + fallbackPattern = createSearchPattern(request.term.toLowerCase()); + if (searchPattern === "") { + return this.close(); + } + var camelCaseMatcher = createMatcher(searchPattern, ""); + var fallbackMatcher = new RegExp(fallbackPattern, "i"); + + function searchIndexWithMatcher(indexArray, matcher, category, nameFunc) { + if (indexArray) { + var newResults = []; + $.each(indexArray, function (i, item) { + item.category = category; + var ranking = rankMatch(matcher.exec(nameFunc(item)), category); + if (ranking < RANKING_THRESHOLD) { + newResults.push({ranking: ranking, item: item}); + } + return newResults.length <= MAX_RESULTS; + }); + return newResults.sort(function(e1, e2) { + return e1.ranking - e2.ranking; + }).map(function(e) { + return e.item; + }); + } + return []; + } + function searchIndex(indexArray, category, nameFunc) { + var primaryResults = searchIndexWithMatcher(indexArray, camelCaseMatcher, category, nameFunc); + result = result.concat(primaryResults); + if (primaryResults.length <= MIN_RESULTS && !camelCaseMatcher.ignoreCase) { + var secondaryResults = searchIndexWithMatcher(indexArray, fallbackMatcher, category, nameFunc); + result = result.concat(secondaryResults.filter(function (item) { + return primaryResults.indexOf(item) === -1; + })); + } + } + + searchIndex(moduleSearchIndex, catModules, function(item) { return item.l; }); + searchIndex(packageSearchIndex, catPackages, function(item) { + return (item.m && request.term.indexOf("/") > -1) + ? (item.m + "/" + item.l) : item.l; + }); + searchIndex(typeSearchIndex, catTypes, function(item) { + return request.term.indexOf(".") > -1 ? item.p + "." + item.l : item.l; + }); + searchIndex(memberSearchIndex, catMembers, function(item) { + return request.term.indexOf(".") > -1 + ? item.p + "." + item.c + "." + item.l : item.l; + }); + searchIndex(tagSearchIndex, catSearchTags, function(item) { return item.l; }); + + if (!indexFilesLoaded()) { + updateSearchResults = function() { + doSearch(request, response); + } + result.unshift(loading); + } else { + updateSearchResults = function() {}; + } + response(result); +} +$(function() { + $("#search-input").catcomplete({ + minLength: 1, + delay: 300, + source: doSearch, + response: function(event, ui) { + if (!ui.content.length) { + ui.content.push(noResult); + } else { + $("#search-input").empty(); + } + }, + autoFocus: true, + focus: function(event, ui) { + return false; + }, + position: { + collision: "flip" + }, + select: function(event, ui) { + if (ui.item.category) { + var url = getURLPrefix(ui); + if (ui.item.category === catModules) { + url += "module-summary.html"; + } else if (ui.item.category === catPackages) { + if (ui.item.u) { + url = ui.item.u; + } else { + url += ui.item.l.replace(/\./g, '/') + "/package-summary.html"; + } + } else if (ui.item.category === catTypes) { + if (ui.item.u) { + url = ui.item.u; + } else if (ui.item.p === UNNAMED) { + url += ui.item.l + ".html"; + } else { + url += ui.item.p.replace(/\./g, '/') + "/" + ui.item.l + ".html"; + } + } else if (ui.item.category === catMembers) { + if (ui.item.p === UNNAMED) { + url += ui.item.c + ".html" + "#"; + } else { + url += ui.item.p.replace(/\./g, '/') + "/" + ui.item.c + ".html" + "#"; + } + if (ui.item.u) { + url += ui.item.u; + } else { + url += ui.item.l; + } + } else if (ui.item.category === catSearchTags) { + url += ui.item.u; + } + if (top !== window) { + parent.classFrame.location = pathtoroot + url; + } else { + window.location.href = pathtoroot + url; + } + $("#search-input").focus(); + } + } + }); +}); diff --git a/4.8.1/api/stylesheet.css b/4.8.1/api/stylesheet.css new file mode 100644 index 00000000..4a576bd2 --- /dev/null +++ b/4.8.1/api/stylesheet.css @@ -0,0 +1,869 @@ +/* + * Javadoc style sheet + */ + +@import url('resources/fonts/dejavu.css'); + +/* + * Styles for individual HTML elements. + * + * These are styles that are specific to individual HTML elements. Changing them affects the style of a particular + * HTML element throughout the page. + */ + +body { + background-color:#ffffff; + color:#353833; + font-family:'DejaVu Sans', Arial, Helvetica, sans-serif; + font-size:14px; + margin:0; + padding:0; + height:100%; + width:100%; +} +iframe { + margin:0; + padding:0; + height:100%; + width:100%; + overflow-y:scroll; + border:none; +} +a:link, a:visited { + text-decoration:none; + color:#4A6782; +} +a[href]:hover, a[href]:focus { + text-decoration:none; + color:#bb7a2a; +} +a[name] { + color:#353833; +} +pre { + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; +} +h1 { + font-size:20px; +} +h2 { + font-size:18px; +} +h3 { + font-size:16px; +} +h4 { + font-size:15px; +} +h5 { + font-size:14px; +} +h6 { + font-size:13px; +} +ul { + list-style-type:disc; +} +code, tt { + font-family:'DejaVu Sans Mono', monospace; +} +:not(h1, h2, h3, h4, h5, h6) > code, +:not(h1, h2, h3, h4, h5, h6) > tt { + font-size:14px; + padding-top:4px; + margin-top:8px; + line-height:1.4em; +} +dt code { + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; + padding-top:4px; +} +.summary-table dt code { + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; + vertical-align:top; + padding-top:4px; +} +sup { + font-size:8px; +} +button { + font-family: 'DejaVu Sans', Arial, Helvetica, sans-serif; + font-size: 14px; +} +/* + * Styles for HTML generated by javadoc. + * + * These are style classes that are used by the standard doclet to generate HTML documentation. + */ + +/* + * Styles for document title and copyright. + */ +.clear { + clear:both; + height:0; + overflow:hidden; +} +.about-language { + float:right; + padding:0 21px 8px 8px; + font-size:11px; + margin-top:-9px; + height:2.9em; +} +.legal-copy { + margin-left:.5em; +} +.tab { + background-color:#0066FF; + color:#ffffff; + padding:8px; + width:5em; + font-weight:bold; +} +/* + * Styles for navigation bar. + */ +@media screen { + .flex-box { + position:fixed; + display:flex; + flex-direction:column; + height: 100%; + width: 100%; + } + .flex-header { + flex: 0 0 auto; + } + .flex-content { + flex: 1 1 auto; + overflow-y: auto; + } +} +.top-nav { + background-color:#4D7A97; + color:#FFFFFF; + float:left; + padding:0; + width:100%; + clear:right; + min-height:2.8em; + padding-top:10px; + overflow:hidden; + font-size:12px; +} +.sub-nav { + background-color:#dee3e9; + float:left; + width:100%; + overflow:hidden; + font-size:12px; +} +.sub-nav div { + clear:left; + float:left; + padding:0 0 5px 6px; + text-transform:uppercase; +} +.sub-nav .nav-list { + padding-top:5px; +} +ul.nav-list { + display:block; + margin:0 25px 0 0; + padding:0; +} +ul.sub-nav-list { + float:left; + margin:0 25px 0 0; + padding:0; +} +ul.nav-list li { + list-style:none; + float:left; + padding: 5px 6px; + text-transform:uppercase; +} +.sub-nav .nav-list-search { + float:right; + margin:0 0 0 0; + padding:5px 6px; + clear:none; +} +.nav-list-search label { + position:relative; + right:-16px; +} +ul.sub-nav-list li { + list-style:none; + float:left; + padding-top:10px; +} +.top-nav a:link, .top-nav a:active, .top-nav a:visited { + color:#FFFFFF; + text-decoration:none; + text-transform:uppercase; +} +.top-nav a:hover { + text-decoration:none; + color:#bb7a2a; + text-transform:uppercase; +} +.nav-bar-cell1-rev { + background-color:#F8981D; + color:#253441; + margin: auto 5px; +} +.skip-nav { + position:absolute; + top:auto; + left:-9999px; + overflow:hidden; +} +/* + * Hide navigation links and search box in print layout + */ +@media print { + ul.nav-list, div.sub-nav { + display:none; + } +} +/* + * Styles for page header and footer. + */ +.title { + color:#2c4557; + margin:10px 0; +} +.sub-title { + margin:5px 0 0 0; +} +.header ul { + margin:0 0 15px 0; + padding:0; +} +.header ul li, .footer ul li { + list-style:none; + font-size:13px; +} +/* + * Styles for headings. + */ +body.class-declaration-page .summary h2, +body.class-declaration-page .details h2, +body.class-use-page h2, +body.module-declaration-page .block-list h2 { + font-style: italic; + padding:0; + margin:15px 0; +} +body.class-declaration-page .summary h3, +body.class-declaration-page .details h3, +body.class-declaration-page .summary .inherited-list h2 { + background-color:#dee3e9; + border:1px solid #d0d9e0; + margin:0 0 6px -8px; + padding:7px 5px; +} +/* + * Styles for page layout containers. + */ +main { + clear:both; + padding:10px 20px; + position:relative; +} +dl.notes > dt { + font-family: 'DejaVu Sans', Arial, Helvetica, sans-serif; + font-size:12px; + font-weight:bold; + margin:10px 0 0 0; + color:#4E4E4E; +} +dl.notes > dd { + margin:5px 10px 10px 0; + font-size:14px; + font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif; +} +dl.name-value > dt { + margin-left:1px; + font-size:1.1em; + display:inline; + font-weight:bold; +} +dl.name-value > dd { + margin:0 0 0 1px; + font-size:1.1em; + display:inline; +} +/* + * Styles for lists. + */ +li.circle { + list-style:circle; +} +ul.horizontal li { + display:inline; + font-size:0.9em; +} +div.inheritance { + margin:0; + padding:0; +} +div.inheritance div.inheritance { + margin-left:2em; +} +ul.block-list, +ul.details-list, +ul.member-list, +ul.summary-list { + margin:10px 0 10px 0; + padding:0; +} +ul.block-list > li, +ul.details-list > li, +ul.member-list > li, +ul.summary-list > li { + list-style:none; + margin-bottom:15px; + line-height:1.4; +} +.summary-table dl, .summary-table dl dt, .summary-table dl dd { + margin-top:0; + margin-bottom:1px; +} +ul.see-list, ul.see-list-long { + padding-left: 0; + list-style: none; +} +ul.see-list li { + display: inline; +} +ul.see-list li:not(:last-child):after, +ul.see-list-long li:not(:last-child):after { + content: ", "; + white-space: pre-wrap; +} +/* + * Styles for tables. + */ +.summary-table, .details-table { + width:100%; + border-spacing:0; + border-left:1px solid #EEE; + border-right:1px solid #EEE; + border-bottom:1px solid #EEE; + padding:0; +} +.caption { + position:relative; + text-align:left; + background-repeat:no-repeat; + color:#253441; + font-weight:bold; + clear:none; + overflow:hidden; + padding:0; + padding-top:10px; + padding-left:1px; + margin:0; + white-space:pre; +} +.caption a:link, .caption a:visited { + color:#1f389c; +} +.caption a:hover, +.caption a:active { + color:#FFFFFF; +} +.caption span { + white-space:nowrap; + padding-top:5px; + padding-left:12px; + padding-right:12px; + padding-bottom:7px; + display:inline-block; + float:left; + background-color:#F8981D; + border: none; + height:16px; +} +div.table-tabs { + padding:10px 0 0 1px; + margin:0; +} +div.table-tabs > button { + border: none; + cursor: pointer; + padding: 5px 12px 7px 12px; + font-weight: bold; + margin-right: 3px; +} +div.table-tabs > button.active-table-tab { + background: #F8981D; + color: #253441; +} +div.table-tabs > button.table-tab { + background: #4D7A97; + color: #FFFFFF; +} +.two-column-summary { + display: grid; + grid-template-columns: minmax(15%, max-content) minmax(15%, auto); +} +.three-column-summary { + display: grid; + grid-template-columns: minmax(10%, max-content) minmax(15%, max-content) minmax(15%, auto); +} +.four-column-summary { + display: grid; + grid-template-columns: minmax(10%, max-content) minmax(10%, max-content) minmax(10%, max-content) minmax(10%, auto); +} +@media screen and (max-width: 600px) { + .two-column-summary { + display: grid; + grid-template-columns: 1fr; + } +} +@media screen and (max-width: 800px) { + .three-column-summary { + display: grid; + grid-template-columns: minmax(10%, max-content) minmax(25%, auto); + } + .three-column-summary .col-last { + grid-column-end: span 2; + } +} +@media screen and (max-width: 1000px) { + .four-column-summary { + display: grid; + grid-template-columns: minmax(15%, max-content) minmax(15%, auto); + } +} +.summary-table > div, .details-table > div { + text-align:left; + padding: 8px 3px 3px 7px; +} +.col-first, .col-second, .col-last, .col-constructor-name, .col-summary-item-name { + vertical-align:top; + padding-right:0; + padding-top:8px; + padding-bottom:3px; +} +.table-header { + background:#dee3e9; + font-weight: bold; +} +.col-first, .col-first { + font-size:13px; +} +.col-second, .col-second, .col-last, .col-constructor-name, .col-summary-item-name, .col-last { + font-size:13px; +} +.col-first, .col-second, .col-constructor-name { + vertical-align:top; + overflow: auto; +} +.col-last { + white-space:normal; +} +.col-first a:link, .col-first a:visited, +.col-second a:link, .col-second a:visited, +.col-first a:link, .col-first a:visited, +.col-second a:link, .col-second a:visited, +.col-constructor-name a:link, .col-constructor-name a:visited, +.col-summary-item-name a:link, .col-summary-item-name a:visited, +.constant-values-container a:link, .constant-values-container a:visited, +.all-classes-container a:link, .all-classes-container a:visited, +.all-packages-container a:link, .all-packages-container a:visited { + font-weight:bold; +} +.table-sub-heading-color { + background-color:#EEEEFF; +} +.even-row-color, .even-row-color .table-header { + background-color:#FFFFFF; +} +.odd-row-color, .odd-row-color .table-header { + background-color:#EEEEEF; +} +/* + * Styles for contents. + */ +.deprecated-content { + margin:0; + padding:10px 0; +} +div.block { + font-size:14px; + font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif; +} +.col-last div { + padding-top:0; +} +.col-last a { + padding-bottom:3px; +} +.module-signature, +.package-signature, +.type-signature, +.member-signature { + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; + margin:14px 0; + white-space: pre-wrap; +} +.module-signature, +.package-signature, +.type-signature { + margin-top: 0; +} +.member-signature .type-parameters-long, +.member-signature .parameters, +.member-signature .exceptions { + display: inline-block; + vertical-align: top; + white-space: pre; +} +.member-signature .type-parameters { + white-space: normal; +} +/* + * Styles for formatting effect. + */ +.source-line-no { + color:green; + padding:0 30px 0 0; +} +h1.hidden { + visibility:hidden; + overflow:hidden; + font-size:10px; +} +.block { + display:block; + margin:0 10px 5px 0; + color:#474747; +} +.deprecated-label, .descfrm-type-label, .implementation-label, .member-name-label, .member-name-link, +.module-label-in-package, .module-label-in-type, .override-specify-label, .package-label-in-type, +.package-hierarchy-label, .type-name-label, .type-name-link, .search-tag-link, .preview-label { + font-weight:bold; +} +.deprecation-comment, .help-footnote, .preview-comment { + font-style:italic; +} +.deprecation-block { + font-size:14px; + font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif; + border-style:solid; + border-width:thin; + border-radius:10px; + padding:10px; + margin-bottom:10px; + margin-right:10px; + display:inline-block; +} +.preview-block { + font-size:14px; + font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif; + border-style:solid; + border-width:thin; + border-radius:10px; + padding:10px; + margin-bottom:10px; + margin-right:10px; + display:inline-block; +} +div.block div.deprecation-comment { + font-style:normal; +} +/* + * Styles specific to HTML5 elements. + */ +main, nav, header, footer, section { + display:block; +} +/* + * Styles for javadoc search. + */ +.ui-autocomplete-category { + font-weight:bold; + font-size:15px; + padding:7px 0 7px 3px; + background-color:#4D7A97; + color:#FFFFFF; +} +.result-item { + font-size:13px; +} +.ui-autocomplete { + max-height:85%; + max-width:65%; + overflow-y:scroll; + overflow-x:scroll; + white-space:nowrap; + box-shadow: 0 3px 6px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.23); +} +ul.ui-autocomplete { + position:fixed; + z-index:999999; + background-color: #FFFFFF; +} +ul.ui-autocomplete li { + float:left; + clear:both; + width:100%; +} +.result-highlight { + font-weight:bold; +} +.ui-autocomplete .result-item { + font-size: inherit; +} +#search-input { + background-image:url('resources/glass.png'); + background-size:13px; + background-repeat:no-repeat; + background-position:2px 3px; + padding-left:20px; + position:relative; + right:-18px; + width:400px; +} +#reset-button { + background-color: rgb(255,255,255); + background-image:url('resources/x.png'); + background-position:center; + background-repeat:no-repeat; + background-size:12px; + border:0 none; + width:16px; + height:16px; + position:relative; + left:-4px; + top:-4px; + font-size:0px; +} +.watermark { + color:#545454; +} +.search-tag-desc-result { + font-style:italic; + font-size:11px; +} +.search-tag-holder-result { + font-style:italic; + font-size:12px; +} +.search-tag-result:target { + background-color:yellow; +} +.module-graph span { + display:none; + position:absolute; +} +.module-graph:hover span { + display:block; + margin: -100px 0 0 100px; + z-index: 1; +} +.inherited-list { + margin: 10px 0 10px 0; +} +section.class-description { + line-height: 1.4; +} +.summary section[class$="-summary"], .details section[class$="-details"], +.class-uses .detail, .serialized-class-details { + padding: 0px 20px 5px 10px; + border: 1px solid #ededed; + background-color: #f8f8f8; +} +.inherited-list, section[class$="-details"] .detail { + padding:0 0 5px 8px; + background-color:#ffffff; + border:none; +} +.vertical-separator { + padding: 0 5px; +} +ul.help-section-list { + margin: 0; +} +ul.help-subtoc > li { + display: inline-block; + padding-right: 5px; + font-size: smaller; +} +ul.help-subtoc > li::before { + content: "\2022" ; + padding-right:2px; +} +span.help-note { + font-style: italic; +} +/* + * Indicator icon for external links. + */ +main a[href*="://"]::after { + content:""; + display:inline-block; + background-image:url('data:image/svg+xml; utf8, \ + \ + \ + '); + background-size:100% 100%; + width:7px; + height:7px; + margin-left:2px; + margin-bottom:4px; +} +main a[href*="://"]:hover::after, +main a[href*="://"]:focus::after { + background-image:url('data:image/svg+xml; utf8, \ + \ + \ + '); +} + +/* + * Styles for user-provided tables. + * + * borderless: + * No borders, vertical margins, styled caption. + * This style is provided for use with existing doc comments. + * In general, borderless tables should not be used for layout purposes. + * + * plain: + * Plain borders around table and cells, vertical margins, styled caption. + * Best for small tables or for complex tables for tables with cells that span + * rows and columns, when the "striped" style does not work well. + * + * striped: + * Borders around the table and vertical borders between cells, striped rows, + * vertical margins, styled caption. + * Best for tables that have a header row, and a body containing a series of simple rows. + */ + +table.borderless, +table.plain, +table.striped { + margin-top: 10px; + margin-bottom: 10px; +} +table.borderless > caption, +table.plain > caption, +table.striped > caption { + font-weight: bold; + font-size: smaller; +} +table.borderless th, table.borderless td, +table.plain th, table.plain td, +table.striped th, table.striped td { + padding: 2px 5px; +} +table.borderless, +table.borderless > thead > tr > th, table.borderless > tbody > tr > th, table.borderless > tr > th, +table.borderless > thead > tr > td, table.borderless > tbody > tr > td, table.borderless > tr > td { + border: none; +} +table.borderless > thead > tr, table.borderless > tbody > tr, table.borderless > tr { + background-color: transparent; +} +table.plain { + border-collapse: collapse; + border: 1px solid black; +} +table.plain > thead > tr, table.plain > tbody tr, table.plain > tr { + background-color: transparent; +} +table.plain > thead > tr > th, table.plain > tbody > tr > th, table.plain > tr > th, +table.plain > thead > tr > td, table.plain > tbody > tr > td, table.plain > tr > td { + border: 1px solid black; +} +table.striped { + border-collapse: collapse; + border: 1px solid black; +} +table.striped > thead { + background-color: #E3E3E3; +} +table.striped > thead > tr > th, table.striped > thead > tr > td { + border: 1px solid black; +} +table.striped > tbody > tr:nth-child(even) { + background-color: #EEE +} +table.striped > tbody > tr:nth-child(odd) { + background-color: #FFF +} +table.striped > tbody > tr > th, table.striped > tbody > tr > td { + border-left: 1px solid black; + border-right: 1px solid black; +} +table.striped > tbody > tr > th { + font-weight: normal; +} +/** + * Tweak font sizes and paddings for small screens. + */ +@media screen and (max-width: 1050px) { + #search-input { + width: 300px; + } +} +@media screen and (max-width: 800px) { + #search-input { + width: 200px; + } + .top-nav, + .bottom-nav { + font-size: 11px; + padding-top: 6px; + } + .sub-nav { + font-size: 11px; + } + .about-language { + padding-right: 16px; + } + ul.nav-list li, + .sub-nav .nav-list-search { + padding: 6px; + } + ul.sub-nav-list li { + padding-top: 5px; + } + main { + padding: 10px; + } + .summary section[class$="-summary"], .details section[class$="-details"], + .class-uses .detail, .serialized-class-details { + padding: 0 8px 5px 8px; + } + body { + -webkit-text-size-adjust: none; + } +} +@media screen and (max-width: 500px) { + #search-input { + width: 150px; + } + .top-nav, + .bottom-nav { + font-size: 10px; + } + .sub-nav { + font-size: 10px; + } + .about-language { + font-size: 10px; + padding-right: 12px; + } +} diff --git a/4.8.1/api/tag-search-index.js b/4.8.1/api/tag-search-index.js new file mode 100644 index 00000000..f2a440c7 --- /dev/null +++ b/4.8.1/api/tag-search-index.js @@ -0,0 +1 @@ +tagSearchIndex = [{"l":"Constant Field Values","h":"","u":"constant-values.html"}];updateSearchResults(); \ No newline at end of file diff --git a/4.8.1/api/type-search-index.js b/4.8.1/api/type-search-index.js new file mode 100644 index 00000000..f2eb22fc --- /dev/null +++ b/4.8.1/api/type-search-index.js @@ -0,0 +1 @@ +typeSearchIndex = [{"l":"All Classes and Interfaces","u":"allclasses-index.html"},{"p":"io.micronaut.validation.validator","l":"BeanValidationContext"},{"p":"io.micronaut.validation.validator.resolver","l":"CompositeTraversableResolver"},{"p":"io.micronaut.validation.exceptions","l":"ConstraintExceptionHandler"},{"p":"io.micronaut.validation.validator.constraints","l":"ConstraintValidator"},{"p":"io.micronaut.validation.validator.constraints","l":"ConstraintValidatorContext"},{"p":"io.micronaut.validation.validator.constraints","l":"ConstraintValidatorRegistry"},{"p":"io.micronaut.validation.validator.constraints","l":"DecimalMaxValidator"},{"p":"io.micronaut.validation.validator.constraints","l":"DecimalMinValidator"},{"p":"io.micronaut.validation.validator","l":"DefaultAnnotatedElementValidator"},{"p":"io.micronaut.validation.validator","l":"DefaultClockProvider"},{"p":"io.micronaut.validation.validator.constraints","l":"DefaultConstraintValidators"},{"p":"io.micronaut.validation.validator.constraints","l":"DefaultInternalConstraintValidatorFactory"},{"p":"io.micronaut.validation.validator.messages","l":"DefaultMessageInterpolator"},{"p":"io.micronaut.validation.validator.messages","l":"DefaultMessages"},{"p":"io.micronaut.validation.validator","l":"DefaultValidator"},{"p":"io.micronaut.validation.validator","l":"DefaultValidatorConfiguration"},{"p":"io.micronaut.validation.validator","l":"DefaultValidatorFactory"},{"p":"io.micronaut.validation.validator.extractors","l":"DefaultValueExtractors"},{"p":"io.micronaut.validation.validator.constraints","l":"DigitsValidator"},{"p":"io.micronaut.validation.validator.constraints","l":"DomainNameUtil"},{"p":"io.micronaut.validation.validator.constraints","l":"EmailValidator"},{"p":"io.micronaut.validation.validator","l":"ExecutableMethodValidator"},{"p":"io.micronaut.validation.validator.constraints","l":"InternalConstraintValidatorFactory"},{"p":"io.micronaut.validation.validator.messages","l":"InterpolatorLocaleResolver"},{"p":"io.micronaut.validation.visitor","l":"IntrospectedValidationIndexesVisitor"},{"p":"io.micronaut.validation.validator.constraints","l":"PatternValidator"},{"p":"io.micronaut.validation.validator","l":"ReactiveValidator"},{"p":"io.micronaut.validation.validator.constraints","l":"SizeValidator"},{"p":"io.micronaut.validation","l":"Validated"},{"p":"io.micronaut.validation.annotation","l":"ValidatedElement"},{"p":"io.micronaut.validation","l":"ValidatingInterceptor"},{"p":"io.micronaut.validation.transformer","l":"ValidationAnnotationRemapper"},{"p":"io.micronaut.validation.validator","l":"ValidationAnnotationUtil"},{"p":"io.micronaut.validation.visitor","l":"ValidationVisitor"},{"p":"io.micronaut.validation.validator","l":"Validator"},{"p":"io.micronaut.validation.validator","l":"ValidatorConfiguration"},{"p":"io.micronaut.validation.validator.constraints","l":"DefaultConstraintValidators.ValidatorKey"},{"p":"io.micronaut.validation.validator.extractors","l":"ValueExtractorDefinition"},{"p":"io.micronaut.validation.validator.extractors","l":"ValueExtractorRegistry"}];updateSearchResults(); \ No newline at end of file diff --git a/4.8.1/css/custom-pdf.css b/4.8.1/css/custom-pdf.css new file mode 100644 index 00000000..50904656 --- /dev/null +++ b/4.8.1/css/custom-pdf.css @@ -0,0 +1,3 @@ +/* + Dummy stylesheet allowing for some customisation of pdf output without having to copy and modify the other stylesheets. +*/ \ No newline at end of file diff --git a/4.8.1/css/custom.css b/4.8.1/css/custom.css new file mode 100644 index 00000000..2c2d5253 --- /dev/null +++ b/4.8.1/css/custom.css @@ -0,0 +1,484 @@ +#table-of-content-nav-link { + position: fixed; + top: 5px; + right: 5px; + background-color: #000000; + width: 64px; + height: 44px; + z-index: 1000; + font-size: 1.5em; +} +#table-of-content-nav-link a { + color: #ffffff !important; + text-decoration: none; +} + +#navigation { + height: 75px !important; + position: fixed; + width: 100%; + z-index: 999; + margin-top: -2px; +} +.navLinks { + padding-top: 15px; +} + +.navLinks a:visited, +.navLinks a:active, +.navLinks a:hover, +.navLinks a { + text-decoration: none !important; +} +.navTitle { + width: auto; + background: none; + float: left; + max-width: 200px; + padding: 0 5px 0 0 !important; +} +.navTitle img {width: 100%;} +@media screen and (min-width: 375px) { + .navTitle { + max-width: available; + } +} + +.wiki-table th, #navigation { + background: #000000 !important; +} +#navigation ul { + padding-top: 0; +} +#navigation a { + color: #FFFFFF !important; + text-shadow: none !important; +} +#navigation .selected a { + background: transparent !important; +} +#navigation a:hover { + color: #FFFFFF !important; + background: transparent !important; +} + +#navigation .navTitle a:hover { + background: #000000 !important; +} + +#nav-summary #nav-summary-childs a:hover { + color: #FFFFFF !important; +} + +#navigation .selected a:hover, +#navigation .active .button { + background: #FFFFFF !important; + color: #000000 !important; +} + +a, +a:hover, +a:focus, +a:active, +a:hover, +#table-of-content a:hover strong, +#table-of-content a strong, +.menu a:hover, +.local .local-title .toggle a { + color: #255AA8 !important; +} + +#table-of-content a:hover { + border-right: 2px solid #255AA8 !important; +} +#table-of-content a.toc-item-highlighted { + font-weight: bold; + color: #000000 !important; + border-right: 5px solid #000000 !important; +} + +#table-of-content a.toc-item-highlighted strong { + color: #000000 !important; +} + + +.menu .menu-block h1, +#main .project strong, +#main h1, +#main h2 { + font-weight: bold !important; + color: #000000 !important; +} +.navTitle { + background-image: none !important; +} +.navTitle #logo img { + margin: 8px 0; + height: 50px !important; +} + +#navigation #nav-summary-childs { + background: #000000 !important; + margin-top: 75px; +} + +#navigation #nav-summary-childs a:hover { + text-decoration: underline; +} +.mobile { + display: block; +} +.desktop { + display: none; +} +@media screen and (min-width: 768px) { + .mobile { + display: none; + } + .desktop { + display: block; + } +} + +#main { + margin: 0 !important; +} + +#main a { + text-decoration: none; +} +#main a:hover { + text-decoration: underline; +} + +#main .paragraph a { + text-decoration: underline; +} +#main { + margin-left: 0 !important; + padding-left: 0; + padding-top: 0 !important; +} + +.docs-content { + padding-left: 25px; + padding-right: 25px; +} + +.docs-content h1, +.docs-content h2, +.docs-content h3 { + text-align: left !important; +} + +#table-of-content { + margin-top: 95px; +} + +.toc-content { + padding: 20px 5px 50px; +} + + +@media only screen and (min-width: 768px) { + .project { + margin-top: 75px; + } + body#docs #main { + padding-left: 25em; + margin-left: 0; + margin-right: 0; + } + + #table-of-content { + margin-top: 0; + background-color: #f8f8f7; + position: fixed; + width: 25em; + left: 0; + top: 0; + border-right: 1px solid #efefed; + border-top-width: 0!important; + border-bottom-width: 0!important; + z-index: 998; + padding: 0.1em; + height: 100%; + overflow: scroll; + text-align: left; + } + #table-of-content h2 { + margin: 0 5px; + } +} + +*[id]:before { + display: block; + content: " "; + margin-top: -95px; + height: 95px; + visibility: hidden; +} + +@media print { + .contribute-btn, .no-print, .no-print * { + display: none !important; + } +} + +.copytoclipboard { + cursor: pointer; + background-color: lightgray; + color: #000000; + float: right; + padding: 10px 15px; + font-size: 10px; + margin-right: 20px; + display: block; + border-bottom-left-radius: 5px; + border-bottom-right-radius: 5px; +} + +/* + +Changes to make individual pages render properly + +*/ +#col1 { + padding-top: 100px; +} + +#col2 { + display: none !important; +} + +.corner-all #table-of-content { + display: none; +} + +.corner-all .project { + display: none; +} + +/* + +Dark theme overrides + +*/ + +.dark-mode #table-of-content { + background-color: #222222 !important; + color: #999 !important; + border-right-color: #444 !important; +} + +html .dark-mode, body.dark-mode, .dark-mode #main, .dark-mode .docs-content { + background-color: #333333; + color: #ccc; + scrollbar-color: #555 #333333; + scrollbar-width: thin; +} + +.dark-mode .menu .menu-block h1, .dark-mode #main .project strong, .dark-mode #main h1, .dark-mode #main h2 { + color: white !important; +} + +.dark-mode .btn-default { + border-color: #444; + background-color: #484848; + color: #ddd; +} + +.dark-mode :not(pre) > code { + background-color: rgba(33, 33, 33, 0.4); + color: #ddd; +} + +.dark-mode h1, .dark-mode h2, .dark-mode h3, .dark-mode #toctitle, .dark-mode .sidebarblock > .content > .title, +.dark-mode h4, .dark-mode h5, .dark-mode h6 { + color: #f0bcb4 +} + +.dark-mode a, .dark-mode a:hover, .dark-mode a:focus, .dark-mode a:active, .dark-mode a:hover, +.dark-mode #table-of-content a:hover strong, .dark-mode #table-of-content a strong, .dark-mode .menu a:hover, +.dark-mode .local .local-title .toggle a { + color: #77aeff !important; +} + +.dark-mode .subheader, .dark-mode .admonitionblock td.content > .title, .dark-mode .audioblock > .title, +.dark-mode .exampleblock > .title, .dark-mode .imageblock > .title, .dark-mode .listingblock > .title, +.dark-mode .literalblock > .title, .dark-mode .stemblock > .title, .dark-mode .openblock > .title, +.dark-mode .paragraph > .title, .dark-mode .quoteblock > .title, .dark-mode table.tableblock > .title, +.dark-mode .verseblock > .title, .dark-mode .videoblock > .title, .dark-mode .dlist > .title, +.dark-mode .olist > .title, .dark-mode .ulist > .title, .dark-mode .qlist > .title, .dark-mode .hdlist > .title, +.dark-mode .quoteblock blockquote::before { + color: #ff9686; +} + +.dark-mode .note { + background-color: #004b7b; + border: 0; + border-radius: 4px; + color: #ddd; +} + +.dark-mode .warning { + background-color: #550; + border: 0; + border-radius: 4px; + color: #ddd; +} + +.dark-mode .important { + border-radius: 4px; + margin-top: 1.5em; + margin-bottom: 1.5em; + padding: 10px; + line-height: 100%; + width: 80%; + background-color: #aa0000; +} + +.dark-mode .admonitionblock td.icon .icon-important::before { + color: white; +} + +.dark-mode table tr th, .dark-mode table tr td { + color: rgba(255, 255, 255, 0.7); +} + +.dark-mode .conum[data-value] { + color: black !important; + background-color: rgba(255, 255, 255,.8) !important; +} + +.dark-mode .admonitionblock > table td.content { + color: rgba(255, 255, 255, 0.8); + border-left: 0px none; +} + +.dark-mode .admonitionblock td.icon .icon-note::before, .dark-mode .admonitionblock td.icon [class^="fa icon-"], +.dark-mode .admonitionblock td.icon .icon-tip::before { + text-shadow: none; + color: rgba(255, 255, 255, 0.8); +} + +.dark-mode .multi-language-selector .language-option.selected { + background-color: #222222; + border-color: #222222; + color: #dddddd; +} + +.dark-mode .copytoclipboard { + background-color: #1a1a1a; + color: #aaaaaa; +} + +.dark-mode .literalblock pre, .dark-mode .listingblock pre:not(.highlight), +.dark-mode .listingblock pre[class="highlight"], .dark-mode .listingblock pre[class^="highlight "], +.dark-mode .listingblock pre.CodeRay, .dark-mode .listingblock pre.prettyprint { + background-color: #222222; +} + +.dark-mode .multi-language-selector .language-option { + background-color: #4a4a4a; + border: 1px solid #3a3a3a; + border-bottom: 0px none; +} + +.dark-mode table.tableblock, .dark-mode th.tableblock, .dark-mode td.tableblock { + border-color: #222222; +} + +.dark-mode table thead, .dark-mode table tfoot { + background: #222222; + color: #dddddd; +} + +.dark-mode table tr.even, .dark-mode table tr.alt, .dark-mode table tr:nth-of-type(2n), .dark-mode .hljs { + background: #2a2a2a; +} + +.dark-mode .hdlist > table > tbody > tr, .dark-mode .colist > table > tbody > tr { + background: none; +} + +.dark-mode table thead tr th, .dark-mode table thead tr td, .dark-mode table tfoot tr th, .dark-mode table tfoot tr td, .dark-mode pre, .dark-mode pre > code { + color: #ddd; +} + +.dark-mode .sect1 + .sect1 { + border-top: 1px solid #222222; +} + +.dark-mode #table-of-content a.toc-item-highlighted { + color: white !important; + border-right-color: white !important; +} + +.dark-mode #table-of-content a:hover, .dark-mode div#navigation #nav-summary-childs a { + text-shadow: 0px 1px 0px rgba(0, 0, 0, 0.9); +} + +.dark-mode .quoteblock blockquote, .dark-mode .quoteblock blockquote p { + color: #aaa; +} + +.dark-mode * { + scrollbar-color: #555 rgba(0, 0, 0, 0.3); + scrollbar-width: thin; +} + +/* For mobile phones: */ +@media only screen and (max-width: 428px) and (orientation: portrait), only screen and (max-width: 926px) and (orientation: landscape) { + #main { + border: 0; + padding: 0 !important; + } + + #navigation ul li { + padding: 7px 0; + } + + #table-of-content { + margin-top: 50px; + } + + .toc-content { + padding-left: 20px; + } + + table { + display: block; + overflow-x: auto; + white-space: nowrap; + } + + code { + word-break: break-word; + } + + .contribute-btn { + bottom: auto; + float: none; + right: auto; + position: unset; + margin-bottom: 7px; + } + + .contribute-btn .btn { + font-size: 11px; + padding: 4px 9px; + } + + .note { + width: auto; + } + + h1 { + margin-bottom: 0.1em; + } + + .listingblock > div { + overflow: hidden; + } +} diff --git a/4.8.1/css/highlight/agate.css b/4.8.1/css/highlight/agate.css new file mode 100644 index 00000000..8d64547c --- /dev/null +++ b/4.8.1/css/highlight/agate.css @@ -0,0 +1,108 @@ +/*! + * Agate by Taufik Nurrohman + * ---------------------------------------------------- + * + * #ade5fc + * #a2fca2 + * #c6b4f0 + * #d36363 + * #fcc28c + * #fc9b9b + * #ffa + * #fff + * #333 + * #62c8f3 + * #888 + * + */ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #333; + color: white; +} + +.hljs-name, +.hljs-strong { + font-weight: bold; +} + +.hljs-code, +.hljs-emphasis { + font-style: italic; +} + +.hljs-tag { + color: #62c8f3; +} + +.hljs-variable, +.hljs-template-variable, +.hljs-selector-id, +.hljs-selector-class { + color: #ade5fc; +} + +.hljs-string, +.hljs-bullet { + color: #a2fca2; +} + +.hljs-type, +.hljs-title, +.hljs-section, +.hljs-attribute, +.hljs-quote, +.hljs-built_in, +.hljs-builtin-name { + color: #ffa; +} + +.hljs-number, +.hljs-symbol, +.hljs-bullet { + color: #d36363; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-literal { + color: #fcc28c; +} + +.hljs-comment, +.hljs-deletion, +.hljs-code { + color: #888; +} + +.hljs-regexp, +.hljs-link { + color: #c6b4f0; +} + +.hljs-meta { + color: #fc9b9b; +} + +.hljs-deletion { + background-color: #fc9b9b; + color: #333; +} + +.hljs-addition { + background-color: #a2fca2; + color: #333; +} + +.hljs a { + color: inherit; +} + +.hljs a:focus, +.hljs a:hover { + color: inherit; + text-decoration: underline; +} diff --git a/4.8.1/css/highlight/androidstudio.css b/4.8.1/css/highlight/androidstudio.css new file mode 100644 index 00000000..bc8e473b --- /dev/null +++ b/4.8.1/css/highlight/androidstudio.css @@ -0,0 +1,66 @@ +/* +Date: 24 Fev 2015 +Author: Pedro Oliveira +*/ + +.hljs { + color: #a9b7c6; + background: #282b2e; + display: block; + overflow-x: auto; + padding: 0.5em; +} + +.hljs-number, +.hljs-literal, +.hljs-symbol, +.hljs-bullet { + color: #6897BB; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-deletion { + color: #cc7832; +} + +.hljs-variable, +.hljs-template-variable, +.hljs-link { + color: #629755; +} + +.hljs-comment, +.hljs-quote { + color: #808080; +} + +.hljs-meta { + color: #bbb529; +} + +.hljs-string, +.hljs-attribute, +.hljs-addition { + color: #6A8759; +} + +.hljs-section, +.hljs-title, +.hljs-type { + color: #ffc66d; +} + +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #e8bf6a; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/4.8.1/css/highlight/arduino-light.css b/4.8.1/css/highlight/arduino-light.css new file mode 100644 index 00000000..4b8b7fd3 --- /dev/null +++ b/4.8.1/css/highlight/arduino-light.css @@ -0,0 +1,88 @@ +/* + +Arduino® Light Theme - Stefania Mellai + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #FFFFFF; +} + +.hljs, +.hljs-subst { + color: #434f54; +} + +.hljs-keyword, +.hljs-attribute, +.hljs-selector-tag, +.hljs-doctag, +.hljs-name { + color: #00979D; +} + +.hljs-built_in, +.hljs-literal, +.hljs-bullet, +.hljs-code, +.hljs-addition { + color: #D35400; +} + +.hljs-regexp, +.hljs-symbol, +.hljs-variable, +.hljs-template-variable, +.hljs-link, +.hljs-selector-attr, +.hljs-selector-pseudo { + color: #00979D; +} + +.hljs-type, +.hljs-string, +.hljs-selector-id, +.hljs-selector-class, +.hljs-quote, +.hljs-template-tag, +.hljs-deletion { + color: #005C5F; +} + +.hljs-title, +.hljs-section { + color: #880000; + font-weight: bold; +} + +.hljs-comment { + color: rgba(149,165,166,.8); +} + +.hljs-meta-keyword { + color: #728E00; +} + +.hljs-meta { + color: #728E00; + color: #434f54; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} + +.hljs-function { + color: #728E00; +} + +.hljs-number { + color: #8A7B52; +} diff --git a/4.8.1/css/highlight/arta.css b/4.8.1/css/highlight/arta.css new file mode 100644 index 00000000..75ef3a9e --- /dev/null +++ b/4.8.1/css/highlight/arta.css @@ -0,0 +1,73 @@ +/* +Date: 17.V.2011 +Author: pumbur +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #222; +} + +.hljs, +.hljs-subst { + color: #aaa; +} + +.hljs-section { + color: #fff; +} + +.hljs-comment, +.hljs-quote, +.hljs-meta { + color: #444; +} + +.hljs-string, +.hljs-symbol, +.hljs-bullet, +.hljs-regexp { + color: #ffcc33; +} + +.hljs-number, +.hljs-addition { + color: #00cc66; +} + +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-template-variable, +.hljs-attribute, +.hljs-link { + color: #32aaee; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #6644aa; +} + +.hljs-title, +.hljs-variable, +.hljs-deletion, +.hljs-template-tag { + color: #bb1166; +} + +.hljs-section, +.hljs-doctag, +.hljs-strong { + font-weight: bold; +} + +.hljs-emphasis { + font-style: italic; +} diff --git a/4.8.1/css/highlight/ascetic.css b/4.8.1/css/highlight/ascetic.css new file mode 100644 index 00000000..48397e88 --- /dev/null +++ b/4.8.1/css/highlight/ascetic.css @@ -0,0 +1,45 @@ +/* + +Original style from softwaremaniacs.org (c) Ivan Sagalaev + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: white; + color: black; +} + +.hljs-string, +.hljs-variable, +.hljs-template-variable, +.hljs-symbol, +.hljs-bullet, +.hljs-section, +.hljs-addition, +.hljs-attribute, +.hljs-link { + color: #888; +} + +.hljs-comment, +.hljs-quote, +.hljs-meta, +.hljs-deletion { + color: #ccc; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-section, +.hljs-name, +.hljs-type, +.hljs-strong { + font-weight: bold; +} + +.hljs-emphasis { + font-style: italic; +} diff --git a/4.8.1/css/highlight/atelier-cave-dark.css b/4.8.1/css/highlight/atelier-cave-dark.css new file mode 100644 index 00000000..65428f3b --- /dev/null +++ b/4.8.1/css/highlight/atelier-cave-dark.css @@ -0,0 +1,83 @@ +/* Base16 Atelier Cave Dark - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/cave) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Cave Comment */ +.hljs-comment, +.hljs-quote { + color: #7e7887; +} + +/* Atelier-Cave Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-regexp, +.hljs-link, +.hljs-tag, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #be4678; +} + +/* Atelier-Cave Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #aa573c; +} + +/* Atelier-Cave Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #2a9292; +} + +/* Atelier-Cave Blue */ +.hljs-title, +.hljs-section { + color: #576ddb; +} + +/* Atelier-Cave Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #955ae7; +} + +.hljs-deletion, +.hljs-addition { + color: #19171c; + display: inline-block; + width: 100%; +} + +.hljs-deletion { + background-color: #be4678; +} + +.hljs-addition { + background-color: #2a9292; +} + +.hljs { + display: block; + overflow-x: auto; + background: #19171c; + color: #8b8792; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/4.8.1/css/highlight/atelier-cave-light.css b/4.8.1/css/highlight/atelier-cave-light.css new file mode 100644 index 00000000..b419f9fd --- /dev/null +++ b/4.8.1/css/highlight/atelier-cave-light.css @@ -0,0 +1,85 @@ +/* Base16 Atelier Cave Light - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/cave) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Cave Comment */ +.hljs-comment, +.hljs-quote { + color: #655f6d; +} + +/* Atelier-Cave Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #be4678; +} + +/* Atelier-Cave Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #aa573c; +} + +/* Atelier-Cave Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #2a9292; +} + +/* Atelier-Cave Blue */ +.hljs-title, +.hljs-section { + color: #576ddb; +} + +/* Atelier-Cave Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #955ae7; +} + +.hljs-deletion, +.hljs-addition { + color: #19171c; + display: inline-block; + width: 100%; +} + +.hljs-deletion { + background-color: #be4678; +} + +.hljs-addition { + background-color: #2a9292; +} + +.hljs { + display: block; + overflow-x: auto; + background: #efecf4; + color: #585260; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/4.8.1/css/highlight/atelier-dune-dark.css b/4.8.1/css/highlight/atelier-dune-dark.css new file mode 100644 index 00000000..1684f522 --- /dev/null +++ b/4.8.1/css/highlight/atelier-dune-dark.css @@ -0,0 +1,69 @@ +/* Base16 Atelier Dune Dark - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/dune) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Dune Comment */ +.hljs-comment, +.hljs-quote { + color: #999580; +} + +/* Atelier-Dune Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #d73737; +} + +/* Atelier-Dune Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #b65611; +} + +/* Atelier-Dune Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #60ac39; +} + +/* Atelier-Dune Blue */ +.hljs-title, +.hljs-section { + color: #6684e1; +} + +/* Atelier-Dune Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #b854d4; +} + +.hljs { + display: block; + overflow-x: auto; + background: #20201d; + color: #a6a28c; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/4.8.1/css/highlight/atelier-dune-light.css b/4.8.1/css/highlight/atelier-dune-light.css new file mode 100644 index 00000000..547719de --- /dev/null +++ b/4.8.1/css/highlight/atelier-dune-light.css @@ -0,0 +1,69 @@ +/* Base16 Atelier Dune Light - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/dune) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Dune Comment */ +.hljs-comment, +.hljs-quote { + color: #7d7a68; +} + +/* Atelier-Dune Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #d73737; +} + +/* Atelier-Dune Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #b65611; +} + +/* Atelier-Dune Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #60ac39; +} + +/* Atelier-Dune Blue */ +.hljs-title, +.hljs-section { + color: #6684e1; +} + +/* Atelier-Dune Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #b854d4; +} + +.hljs { + display: block; + overflow-x: auto; + background: #fefbec; + color: #6e6b5e; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/4.8.1/css/highlight/atelier-estuary-dark.css b/4.8.1/css/highlight/atelier-estuary-dark.css new file mode 100644 index 00000000..a5e50718 --- /dev/null +++ b/4.8.1/css/highlight/atelier-estuary-dark.css @@ -0,0 +1,84 @@ +/* Base16 Atelier Estuary Dark - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/estuary) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Estuary Comment */ +.hljs-comment, +.hljs-quote { + color: #878573; +} + +/* Atelier-Estuary Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #ba6236; +} + +/* Atelier-Estuary Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #ae7313; +} + +/* Atelier-Estuary Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #7d9726; +} + +/* Atelier-Estuary Blue */ +.hljs-title, +.hljs-section { + color: #36a166; +} + +/* Atelier-Estuary Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #5f9182; +} + +.hljs-deletion, +.hljs-addition { + color: #22221b; + display: inline-block; + width: 100%; +} + +.hljs-deletion { + background-color: #ba6236; +} + +.hljs-addition { + background-color: #7d9726; +} + +.hljs { + display: block; + overflow-x: auto; + background: #22221b; + color: #929181; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/4.8.1/css/highlight/atelier-estuary-light.css b/4.8.1/css/highlight/atelier-estuary-light.css new file mode 100644 index 00000000..1daee5d9 --- /dev/null +++ b/4.8.1/css/highlight/atelier-estuary-light.css @@ -0,0 +1,84 @@ +/* Base16 Atelier Estuary Light - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/estuary) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Estuary Comment */ +.hljs-comment, +.hljs-quote { + color: #6c6b5a; +} + +/* Atelier-Estuary Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #ba6236; +} + +/* Atelier-Estuary Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #ae7313; +} + +/* Atelier-Estuary Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #7d9726; +} + +/* Atelier-Estuary Blue */ +.hljs-title, +.hljs-section { + color: #36a166; +} + +/* Atelier-Estuary Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #5f9182; +} + +.hljs-deletion, +.hljs-addition { + color: #22221b; + display: inline-block; + width: 100%; +} + +.hljs-deletion { + background-color: #ba6236; +} + +.hljs-addition { + background-color: #7d9726; +} + +.hljs { + display: block; + overflow-x: auto; + background: #f4f3ec; + color: #5f5e4e; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/4.8.1/css/highlight/atelier-forest-dark.css b/4.8.1/css/highlight/atelier-forest-dark.css new file mode 100644 index 00000000..0ef4fae3 --- /dev/null +++ b/4.8.1/css/highlight/atelier-forest-dark.css @@ -0,0 +1,69 @@ +/* Base16 Atelier Forest Dark - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/forest) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Forest Comment */ +.hljs-comment, +.hljs-quote { + color: #9c9491; +} + +/* Atelier-Forest Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #f22c40; +} + +/* Atelier-Forest Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #df5320; +} + +/* Atelier-Forest Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #7b9726; +} + +/* Atelier-Forest Blue */ +.hljs-title, +.hljs-section { + color: #407ee7; +} + +/* Atelier-Forest Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #6666ea; +} + +.hljs { + display: block; + overflow-x: auto; + background: #1b1918; + color: #a8a19f; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/4.8.1/css/highlight/atelier-forest-light.css b/4.8.1/css/highlight/atelier-forest-light.css new file mode 100644 index 00000000..bbedde18 --- /dev/null +++ b/4.8.1/css/highlight/atelier-forest-light.css @@ -0,0 +1,69 @@ +/* Base16 Atelier Forest Light - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/forest) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Forest Comment */ +.hljs-comment, +.hljs-quote { + color: #766e6b; +} + +/* Atelier-Forest Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #f22c40; +} + +/* Atelier-Forest Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #df5320; +} + +/* Atelier-Forest Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #7b9726; +} + +/* Atelier-Forest Blue */ +.hljs-title, +.hljs-section { + color: #407ee7; +} + +/* Atelier-Forest Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #6666ea; +} + +.hljs { + display: block; + overflow-x: auto; + background: #f1efee; + color: #68615e; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/4.8.1/css/highlight/atelier-heath-dark.css b/4.8.1/css/highlight/atelier-heath-dark.css new file mode 100644 index 00000000..fe01ff72 --- /dev/null +++ b/4.8.1/css/highlight/atelier-heath-dark.css @@ -0,0 +1,69 @@ +/* Base16 Atelier Heath Dark - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/heath) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Heath Comment */ +.hljs-comment, +.hljs-quote { + color: #9e8f9e; +} + +/* Atelier-Heath Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #ca402b; +} + +/* Atelier-Heath Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #a65926; +} + +/* Atelier-Heath Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #918b3b; +} + +/* Atelier-Heath Blue */ +.hljs-title, +.hljs-section { + color: #516aec; +} + +/* Atelier-Heath Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #7b59c0; +} + +.hljs { + display: block; + overflow-x: auto; + background: #1b181b; + color: #ab9bab; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/4.8.1/css/highlight/atelier-heath-light.css b/4.8.1/css/highlight/atelier-heath-light.css new file mode 100644 index 00000000..ee43786d --- /dev/null +++ b/4.8.1/css/highlight/atelier-heath-light.css @@ -0,0 +1,69 @@ +/* Base16 Atelier Heath Light - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/heath) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Heath Comment */ +.hljs-comment, +.hljs-quote { + color: #776977; +} + +/* Atelier-Heath Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #ca402b; +} + +/* Atelier-Heath Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #a65926; +} + +/* Atelier-Heath Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #918b3b; +} + +/* Atelier-Heath Blue */ +.hljs-title, +.hljs-section { + color: #516aec; +} + +/* Atelier-Heath Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #7b59c0; +} + +.hljs { + display: block; + overflow-x: auto; + background: #f7f3f7; + color: #695d69; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/4.8.1/css/highlight/atelier-lakeside-dark.css b/4.8.1/css/highlight/atelier-lakeside-dark.css new file mode 100644 index 00000000..a937d3bf --- /dev/null +++ b/4.8.1/css/highlight/atelier-lakeside-dark.css @@ -0,0 +1,69 @@ +/* Base16 Atelier Lakeside Dark - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/lakeside) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Lakeside Comment */ +.hljs-comment, +.hljs-quote { + color: #7195a8; +} + +/* Atelier-Lakeside Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #d22d72; +} + +/* Atelier-Lakeside Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #935c25; +} + +/* Atelier-Lakeside Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #568c3b; +} + +/* Atelier-Lakeside Blue */ +.hljs-title, +.hljs-section { + color: #257fad; +} + +/* Atelier-Lakeside Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #6b6bb8; +} + +.hljs { + display: block; + overflow-x: auto; + background: #161b1d; + color: #7ea2b4; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/4.8.1/css/highlight/atelier-lakeside-light.css b/4.8.1/css/highlight/atelier-lakeside-light.css new file mode 100644 index 00000000..6c7e8f9e --- /dev/null +++ b/4.8.1/css/highlight/atelier-lakeside-light.css @@ -0,0 +1,69 @@ +/* Base16 Atelier Lakeside Light - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/lakeside) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Lakeside Comment */ +.hljs-comment, +.hljs-quote { + color: #5a7b8c; +} + +/* Atelier-Lakeside Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #d22d72; +} + +/* Atelier-Lakeside Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #935c25; +} + +/* Atelier-Lakeside Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #568c3b; +} + +/* Atelier-Lakeside Blue */ +.hljs-title, +.hljs-section { + color: #257fad; +} + +/* Atelier-Lakeside Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #6b6bb8; +} + +.hljs { + display: block; + overflow-x: auto; + background: #ebf8ff; + color: #516d7b; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/4.8.1/css/highlight/atelier-plateau-dark.css b/4.8.1/css/highlight/atelier-plateau-dark.css new file mode 100644 index 00000000..3bb05269 --- /dev/null +++ b/4.8.1/css/highlight/atelier-plateau-dark.css @@ -0,0 +1,84 @@ +/* Base16 Atelier Plateau Dark - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/plateau) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Plateau Comment */ +.hljs-comment, +.hljs-quote { + color: #7e7777; +} + +/* Atelier-Plateau Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #ca4949; +} + +/* Atelier-Plateau Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #b45a3c; +} + +/* Atelier-Plateau Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #4b8b8b; +} + +/* Atelier-Plateau Blue */ +.hljs-title, +.hljs-section { + color: #7272ca; +} + +/* Atelier-Plateau Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #8464c4; +} + +.hljs-deletion, +.hljs-addition { + color: #1b1818; + display: inline-block; + width: 100%; +} + +.hljs-deletion { + background-color: #ca4949; +} + +.hljs-addition { + background-color: #4b8b8b; +} + +.hljs { + display: block; + overflow-x: auto; + background: #1b1818; + color: #8a8585; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/4.8.1/css/highlight/atelier-plateau-light.css b/4.8.1/css/highlight/atelier-plateau-light.css new file mode 100644 index 00000000..5f0222be --- /dev/null +++ b/4.8.1/css/highlight/atelier-plateau-light.css @@ -0,0 +1,84 @@ +/* Base16 Atelier Plateau Light - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/plateau) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Plateau Comment */ +.hljs-comment, +.hljs-quote { + color: #655d5d; +} + +/* Atelier-Plateau Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #ca4949; +} + +/* Atelier-Plateau Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #b45a3c; +} + +/* Atelier-Plateau Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #4b8b8b; +} + +/* Atelier-Plateau Blue */ +.hljs-title, +.hljs-section { + color: #7272ca; +} + +/* Atelier-Plateau Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #8464c4; +} + +.hljs-deletion, +.hljs-addition { + color: #1b1818; + display: inline-block; + width: 100%; +} + +.hljs-deletion { + background-color: #ca4949; +} + +.hljs-addition { + background-color: #4b8b8b; +} + +.hljs { + display: block; + overflow-x: auto; + background: #f4ecec; + color: #585050; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/4.8.1/css/highlight/atelier-savanna-dark.css b/4.8.1/css/highlight/atelier-savanna-dark.css new file mode 100644 index 00000000..38f83143 --- /dev/null +++ b/4.8.1/css/highlight/atelier-savanna-dark.css @@ -0,0 +1,84 @@ +/* Base16 Atelier Savanna Dark - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/savanna) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Savanna Comment */ +.hljs-comment, +.hljs-quote { + color: #78877d; +} + +/* Atelier-Savanna Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #b16139; +} + +/* Atelier-Savanna Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #9f713c; +} + +/* Atelier-Savanna Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #489963; +} + +/* Atelier-Savanna Blue */ +.hljs-title, +.hljs-section { + color: #478c90; +} + +/* Atelier-Savanna Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #55859b; +} + +.hljs-deletion, +.hljs-addition { + color: #171c19; + display: inline-block; + width: 100%; +} + +.hljs-deletion { + background-color: #b16139; +} + +.hljs-addition { + background-color: #489963; +} + +.hljs { + display: block; + overflow-x: auto; + background: #171c19; + color: #87928a; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/4.8.1/css/highlight/atelier-savanna-light.css b/4.8.1/css/highlight/atelier-savanna-light.css new file mode 100644 index 00000000..1ccd7c68 --- /dev/null +++ b/4.8.1/css/highlight/atelier-savanna-light.css @@ -0,0 +1,84 @@ +/* Base16 Atelier Savanna Light - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/savanna) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Savanna Comment */ +.hljs-comment, +.hljs-quote { + color: #5f6d64; +} + +/* Atelier-Savanna Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #b16139; +} + +/* Atelier-Savanna Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #9f713c; +} + +/* Atelier-Savanna Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #489963; +} + +/* Atelier-Savanna Blue */ +.hljs-title, +.hljs-section { + color: #478c90; +} + +/* Atelier-Savanna Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #55859b; +} + +.hljs-deletion, +.hljs-addition { + color: #171c19; + display: inline-block; + width: 100%; +} + +.hljs-deletion { + background-color: #b16139; +} + +.hljs-addition { + background-color: #489963; +} + +.hljs { + display: block; + overflow-x: auto; + background: #ecf4ee; + color: #526057; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/4.8.1/css/highlight/atelier-seaside-dark.css b/4.8.1/css/highlight/atelier-seaside-dark.css new file mode 100644 index 00000000..df29949c --- /dev/null +++ b/4.8.1/css/highlight/atelier-seaside-dark.css @@ -0,0 +1,69 @@ +/* Base16 Atelier Seaside Dark - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/seaside) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Seaside Comment */ +.hljs-comment, +.hljs-quote { + color: #809980; +} + +/* Atelier-Seaside Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #e6193c; +} + +/* Atelier-Seaside Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #87711d; +} + +/* Atelier-Seaside Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #29a329; +} + +/* Atelier-Seaside Blue */ +.hljs-title, +.hljs-section { + color: #3d62f5; +} + +/* Atelier-Seaside Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #ad2bee; +} + +.hljs { + display: block; + overflow-x: auto; + background: #131513; + color: #8ca68c; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/4.8.1/css/highlight/atelier-seaside-light.css b/4.8.1/css/highlight/atelier-seaside-light.css new file mode 100644 index 00000000..9d960f29 --- /dev/null +++ b/4.8.1/css/highlight/atelier-seaside-light.css @@ -0,0 +1,69 @@ +/* Base16 Atelier Seaside Light - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/seaside) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Seaside Comment */ +.hljs-comment, +.hljs-quote { + color: #687d68; +} + +/* Atelier-Seaside Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #e6193c; +} + +/* Atelier-Seaside Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #87711d; +} + +/* Atelier-Seaside Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #29a329; +} + +/* Atelier-Seaside Blue */ +.hljs-title, +.hljs-section { + color: #3d62f5; +} + +/* Atelier-Seaside Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #ad2bee; +} + +.hljs { + display: block; + overflow-x: auto; + background: #f4fbf4; + color: #5e6e5e; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/4.8.1/css/highlight/atelier-sulphurpool-dark.css b/4.8.1/css/highlight/atelier-sulphurpool-dark.css new file mode 100644 index 00000000..c2ab7938 --- /dev/null +++ b/4.8.1/css/highlight/atelier-sulphurpool-dark.css @@ -0,0 +1,69 @@ +/* Base16 Atelier Sulphurpool Dark - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/sulphurpool) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Sulphurpool Comment */ +.hljs-comment, +.hljs-quote { + color: #898ea4; +} + +/* Atelier-Sulphurpool Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #c94922; +} + +/* Atelier-Sulphurpool Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #c76b29; +} + +/* Atelier-Sulphurpool Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #ac9739; +} + +/* Atelier-Sulphurpool Blue */ +.hljs-title, +.hljs-section { + color: #3d8fd1; +} + +/* Atelier-Sulphurpool Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #6679cc; +} + +.hljs { + display: block; + overflow-x: auto; + background: #202746; + color: #979db4; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/4.8.1/css/highlight/atelier-sulphurpool-light.css b/4.8.1/css/highlight/atelier-sulphurpool-light.css new file mode 100644 index 00000000..96c47d08 --- /dev/null +++ b/4.8.1/css/highlight/atelier-sulphurpool-light.css @@ -0,0 +1,69 @@ +/* Base16 Atelier Sulphurpool Light - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/sulphurpool) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Sulphurpool Comment */ +.hljs-comment, +.hljs-quote { + color: #6b7394; +} + +/* Atelier-Sulphurpool Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #c94922; +} + +/* Atelier-Sulphurpool Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #c76b29; +} + +/* Atelier-Sulphurpool Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #ac9739; +} + +/* Atelier-Sulphurpool Blue */ +.hljs-title, +.hljs-section { + color: #3d8fd1; +} + +/* Atelier-Sulphurpool Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #6679cc; +} + +.hljs { + display: block; + overflow-x: auto; + background: #f5f7ff; + color: #5e6687; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/4.8.1/css/highlight/atom-one-dark.css b/4.8.1/css/highlight/atom-one-dark.css new file mode 100644 index 00000000..1616aafe --- /dev/null +++ b/4.8.1/css/highlight/atom-one-dark.css @@ -0,0 +1,96 @@ +/* + +Atom One Dark by Daniel Gamage +Original One Dark Syntax theme from https://github.com/atom/one-dark-syntax + +base: #282c34 +mono-1: #abb2bf +mono-2: #818896 +mono-3: #5c6370 +hue-1: #56b6c2 +hue-2: #61aeee +hue-3: #c678dd +hue-4: #98c379 +hue-5: #e06c75 +hue-5-2: #be5046 +hue-6: #d19a66 +hue-6-2: #e6c07b + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + color: #abb2bf; + background: #282c34; +} + +.hljs-comment, +.hljs-quote { + color: #5c6370; + font-style: italic; +} + +.hljs-doctag, +.hljs-keyword, +.hljs-formula { + color: #c678dd; +} + +.hljs-section, +.hljs-name, +.hljs-selector-tag, +.hljs-deletion, +.hljs-subst { + color: #e06c75; +} + +.hljs-literal { + color: #56b6c2; +} + +.hljs-string, +.hljs-regexp, +.hljs-addition, +.hljs-attribute, +.hljs-meta-string { + color: #98c379; +} + +.hljs-built_in, +.hljs-class .hljs-title { + color: #e6c07b; +} + +.hljs-attr, +.hljs-variable, +.hljs-template-variable, +.hljs-type, +.hljs-selector-class, +.hljs-selector-attr, +.hljs-selector-pseudo, +.hljs-number { + color: #d19a66; +} + +.hljs-symbol, +.hljs-bullet, +.hljs-link, +.hljs-meta, +.hljs-selector-id, +.hljs-title { + color: #61aeee; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} + +.hljs-link { + text-decoration: underline; +} diff --git a/4.8.1/css/highlight/atom-one-light.css b/4.8.1/css/highlight/atom-one-light.css new file mode 100644 index 00000000..d5bd1d2a --- /dev/null +++ b/4.8.1/css/highlight/atom-one-light.css @@ -0,0 +1,96 @@ +/* + +Atom One Light by Daniel Gamage +Original One Light Syntax theme from https://github.com/atom/one-light-syntax + +base: #fafafa +mono-1: #383a42 +mono-2: #686b77 +mono-3: #a0a1a7 +hue-1: #0184bb +hue-2: #4078f2 +hue-3: #a626a4 +hue-4: #50a14f +hue-5: #e45649 +hue-5-2: #c91243 +hue-6: #986801 +hue-6-2: #c18401 + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + color: #383a42; + background: #fafafa; +} + +.hljs-comment, +.hljs-quote { + color: #a0a1a7; + font-style: italic; +} + +.hljs-doctag, +.hljs-keyword, +.hljs-formula { + color: #a626a4; +} + +.hljs-section, +.hljs-name, +.hljs-selector-tag, +.hljs-deletion, +.hljs-subst { + color: #e45649; +} + +.hljs-literal { + color: #0184bb; +} + +.hljs-string, +.hljs-regexp, +.hljs-addition, +.hljs-attribute, +.hljs-meta-string { + color: #50a14f; +} + +.hljs-built_in, +.hljs-class .hljs-title { + color: #c18401; +} + +.hljs-attr, +.hljs-variable, +.hljs-template-variable, +.hljs-type, +.hljs-selector-class, +.hljs-selector-attr, +.hljs-selector-pseudo, +.hljs-number { + color: #986801; +} + +.hljs-symbol, +.hljs-bullet, +.hljs-link, +.hljs-meta, +.hljs-selector-id, +.hljs-title { + color: #4078f2; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} + +.hljs-link { + text-decoration: underline; +} diff --git a/4.8.1/css/highlight/brown-paper.css b/4.8.1/css/highlight/brown-paper.css new file mode 100644 index 00000000..7d4fc68a --- /dev/null +++ b/4.8.1/css/highlight/brown-paper.css @@ -0,0 +1,64 @@ +/* + +Brown Paper style from goldblog.com.ua (c) Zaripov Yura + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background:#b7a68e url(brown-papersq.png); +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-literal { + color:#005599; + font-weight:bold; +} + +.hljs, +.hljs-subst { + color: #363c69; +} + +.hljs-string, +.hljs-title, +.hljs-section, +.hljs-type, +.hljs-attribute, +.hljs-symbol, +.hljs-bullet, +.hljs-built_in, +.hljs-addition, +.hljs-variable, +.hljs-template-tag, +.hljs-template-variable, +.hljs-link, +.hljs-name { + color: #2c009f; +} + +.hljs-comment, +.hljs-quote, +.hljs-meta, +.hljs-deletion { + color: #802022; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-literal, +.hljs-doctag, +.hljs-title, +.hljs-section, +.hljs-type, +.hljs-name, +.hljs-strong { + font-weight: bold; +} + +.hljs-emphasis { + font-style: italic; +} diff --git a/4.8.1/css/highlight/brown-papersq.png b/4.8.1/css/highlight/brown-papersq.png new file mode 100644 index 00000000..3813903d Binary files /dev/null and b/4.8.1/css/highlight/brown-papersq.png differ diff --git a/4.8.1/css/highlight/codepen-embed.css b/4.8.1/css/highlight/codepen-embed.css new file mode 100644 index 00000000..195c4a07 --- /dev/null +++ b/4.8.1/css/highlight/codepen-embed.css @@ -0,0 +1,60 @@ +/* + codepen.io Embed Theme + Author: Justin Perry + Original theme - https://github.com/chriskempson/tomorrow-theme +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #222; + color: #fff; +} + +.hljs-comment, +.hljs-quote { + color: #777; +} + +.hljs-variable, +.hljs-template-variable, +.hljs-tag, +.hljs-regexp, +.hljs-meta, +.hljs-number, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-params, +.hljs-symbol, +.hljs-bullet, +.hljs-link, +.hljs-deletion { + color: #ab875d; +} + +.hljs-section, +.hljs-title, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class, +.hljs-type, +.hljs-attribute { + color: #9b869b; +} + +.hljs-string, +.hljs-keyword, +.hljs-selector-tag, +.hljs-addition { + color: #8f9c6c; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/4.8.1/css/highlight/color-brewer.css b/4.8.1/css/highlight/color-brewer.css new file mode 100644 index 00000000..7934d986 --- /dev/null +++ b/4.8.1/css/highlight/color-brewer.css @@ -0,0 +1,71 @@ +/* + +Colorbrewer theme +Original: https://github.com/mbostock/colorbrewer-theme (c) Mike Bostock +Ported by Fabrício Tavares de Oliveira + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #fff; +} + +.hljs, +.hljs-subst { + color: #000; +} + +.hljs-string, +.hljs-meta, +.hljs-symbol, +.hljs-template-tag, +.hljs-template-variable, +.hljs-addition { + color: #756bb1; +} + +.hljs-comment, +.hljs-quote { + color: #636363; +} + +.hljs-number, +.hljs-regexp, +.hljs-literal, +.hljs-bullet, +.hljs-link { + color: #31a354; +} + +.hljs-deletion, +.hljs-variable { + color: #88f; +} + + + +.hljs-keyword, +.hljs-selector-tag, +.hljs-title, +.hljs-section, +.hljs-built_in, +.hljs-doctag, +.hljs-type, +.hljs-tag, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class, +.hljs-strong { + color: #3182bd; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-attribute { + color: #e6550d; +} diff --git a/4.8.1/css/highlight/darcula.css b/4.8.1/css/highlight/darcula.css new file mode 100644 index 00000000..be182d0b --- /dev/null +++ b/4.8.1/css/highlight/darcula.css @@ -0,0 +1,77 @@ +/* + +Darcula color scheme from the JetBrains family of IDEs + +*/ + + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #2b2b2b; +} + +.hljs { + color: #bababa; +} + +.hljs-strong, +.hljs-emphasis { + color: #a8a8a2; +} + +.hljs-bullet, +.hljs-quote, +.hljs-link, +.hljs-number, +.hljs-regexp, +.hljs-literal { + color: #6896ba; +} + +.hljs-code, +.hljs-selector-class { + color: #a6e22e; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-section, +.hljs-attribute, +.hljs-name, +.hljs-variable { + color: #cb7832; +} + +.hljs-params { + color: #b9b9b9; +} + +.hljs-string { + color: #6a8759; +} + +.hljs-subst, +.hljs-type, +.hljs-built_in, +.hljs-builtin-name, +.hljs-symbol, +.hljs-selector-id, +.hljs-selector-attr, +.hljs-selector-pseudo, +.hljs-template-tag, +.hljs-template-variable, +.hljs-addition { + color: #e0c46c; +} + +.hljs-comment, +.hljs-deletion, +.hljs-meta { + color: #7f7f7f; +} diff --git a/4.8.1/css/highlight/dark.css b/4.8.1/css/highlight/dark.css new file mode 100644 index 00000000..b4724f5f --- /dev/null +++ b/4.8.1/css/highlight/dark.css @@ -0,0 +1,63 @@ +/* + +Dark style from softwaremaniacs.org (c) Ivan Sagalaev + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #444; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-literal, +.hljs-section, +.hljs-link { + color: white; +} + +.hljs, +.hljs-subst { + color: #ddd; +} + +.hljs-string, +.hljs-title, +.hljs-name, +.hljs-type, +.hljs-attribute, +.hljs-symbol, +.hljs-bullet, +.hljs-built_in, +.hljs-addition, +.hljs-variable, +.hljs-template-tag, +.hljs-template-variable { + color: #d88; +} + +.hljs-comment, +.hljs-quote, +.hljs-deletion, +.hljs-meta { + color: #777; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-literal, +.hljs-title, +.hljs-section, +.hljs-doctag, +.hljs-type, +.hljs-name, +.hljs-strong { + font-weight: bold; +} + +.hljs-emphasis { + font-style: italic; +} diff --git a/4.8.1/css/highlight/darkula.css b/4.8.1/css/highlight/darkula.css new file mode 100644 index 00000000..f4646c3c --- /dev/null +++ b/4.8.1/css/highlight/darkula.css @@ -0,0 +1,6 @@ +/* + Deprecated due to a typo in the name and left here for compatibility purpose only. + Please use darcula.css instead. +*/ + +@import url('darcula.css'); diff --git a/4.8.1/css/highlight/default.css b/4.8.1/css/highlight/default.css new file mode 100644 index 00000000..f1bfade3 --- /dev/null +++ b/4.8.1/css/highlight/default.css @@ -0,0 +1,99 @@ +/* + +Original highlight.js style (c) Ivan Sagalaev + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #F0F0F0; +} + + +/* Base color: saturation 0; */ + +.hljs, +.hljs-subst { + color: #444; +} + +.hljs-comment { + color: #888888; +} + +.hljs-keyword, +.hljs-attribute, +.hljs-selector-tag, +.hljs-meta-keyword, +.hljs-doctag, +.hljs-name { + font-weight: bold; +} + + +/* User color: hue: 0 */ + +.hljs-type, +.hljs-string, +.hljs-number, +.hljs-selector-id, +.hljs-selector-class, +.hljs-quote, +.hljs-template-tag, +.hljs-deletion { + color: #880000; +} + +.hljs-title, +.hljs-section { + color: #880000; + font-weight: bold; +} + +.hljs-regexp, +.hljs-symbol, +.hljs-variable, +.hljs-template-variable, +.hljs-link, +.hljs-selector-attr, +.hljs-selector-pseudo { + color: #BC6060; +} + + +/* Language color: hue: 90; */ + +.hljs-literal { + color: #78A960; +} + +.hljs-built_in, +.hljs-bullet, +.hljs-code, +.hljs-addition { + color: #397300; +} + + +/* Meta color: hue: 200 */ + +.hljs-meta { + color: #1f7199; +} + +.hljs-meta-string { + color: #4d99bf; +} + + +/* Misc effects */ + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/4.8.1/css/highlight/docco.css b/4.8.1/css/highlight/docco.css new file mode 100644 index 00000000..db366be3 --- /dev/null +++ b/4.8.1/css/highlight/docco.css @@ -0,0 +1,97 @@ +/* +Docco style used in http://jashkenas.github.com/docco/ converted by Simon Madine (@thingsinjars) +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + color: #000; + background: #f8f8ff; +} + +.hljs-comment, +.hljs-quote { + color: #408080; + font-style: italic; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-literal, +.hljs-subst { + color: #954121; +} + +.hljs-number { + color: #40a070; +} + +.hljs-string, +.hljs-doctag { + color: #219161; +} + +.hljs-selector-id, +.hljs-selector-class, +.hljs-section, +.hljs-type { + color: #19469d; +} + +.hljs-params { + color: #00f; +} + +.hljs-title { + color: #458; + font-weight: bold; +} + +.hljs-tag, +.hljs-name, +.hljs-attribute { + color: #000080; + font-weight: normal; +} + +.hljs-variable, +.hljs-template-variable { + color: #008080; +} + +.hljs-regexp, +.hljs-link { + color: #b68; +} + +.hljs-symbol, +.hljs-bullet { + color: #990073; +} + +.hljs-built_in, +.hljs-builtin-name { + color: #0086b3; +} + +.hljs-meta { + color: #999; + font-weight: bold; +} + +.hljs-deletion { + background: #fdd; +} + +.hljs-addition { + background: #dfd; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/4.8.1/css/highlight/dracula.css b/4.8.1/css/highlight/dracula.css new file mode 100644 index 00000000..d591db68 --- /dev/null +++ b/4.8.1/css/highlight/dracula.css @@ -0,0 +1,76 @@ +/* + +Dracula Theme v1.2.0 + +https://github.com/zenorocha/dracula-theme + +Copyright 2015, All rights reserved + +Code licensed under the MIT license +http://zenorocha.mit-license.org + +@author Éverton Ribeiro +@author Zeno Rocha + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #282a36; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-literal, +.hljs-section, +.hljs-link { + color: #8be9fd; +} + +.hljs-function .hljs-keyword { + color: #ff79c6; +} + +.hljs, +.hljs-subst { + color: #f8f8f2; +} + +.hljs-string, +.hljs-title, +.hljs-name, +.hljs-type, +.hljs-attribute, +.hljs-symbol, +.hljs-bullet, +.hljs-addition, +.hljs-variable, +.hljs-template-tag, +.hljs-template-variable { + color: #f1fa8c; +} + +.hljs-comment, +.hljs-quote, +.hljs-deletion, +.hljs-meta { + color: #6272a4; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-literal, +.hljs-title, +.hljs-section, +.hljs-doctag, +.hljs-type, +.hljs-name, +.hljs-strong { + font-weight: bold; +} + +.hljs-emphasis { + font-style: italic; +} diff --git a/4.8.1/css/highlight/far.css b/4.8.1/css/highlight/far.css new file mode 100644 index 00000000..2b3f87b5 --- /dev/null +++ b/4.8.1/css/highlight/far.css @@ -0,0 +1,71 @@ +/* + +FAR Style (c) MajestiC + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #000080; +} + +.hljs, +.hljs-subst { + color: #0ff; +} + +.hljs-string, +.hljs-attribute, +.hljs-symbol, +.hljs-bullet, +.hljs-built_in, +.hljs-builtin-name, +.hljs-template-tag, +.hljs-template-variable, +.hljs-addition { + color: #ff0; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-section, +.hljs-type, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class, +.hljs-variable { + color: #fff; +} + +.hljs-comment, +.hljs-quote, +.hljs-doctag, +.hljs-deletion { + color: #888; +} + +.hljs-number, +.hljs-regexp, +.hljs-literal, +.hljs-link { + color: #0f0; +} + +.hljs-meta { + color: #008080; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-title, +.hljs-section, +.hljs-name, +.hljs-strong { + font-weight: bold; +} + +.hljs-emphasis { + font-style: italic; +} diff --git a/4.8.1/css/highlight/foundation.css b/4.8.1/css/highlight/foundation.css new file mode 100644 index 00000000..f1fe64b3 --- /dev/null +++ b/4.8.1/css/highlight/foundation.css @@ -0,0 +1,88 @@ +/* +Description: Foundation 4 docs style for highlight.js +Author: Dan Allen +Website: http://foundation.zurb.com/docs/ +Version: 1.0 +Date: 2013-04-02 +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #eee; color: black; +} + +.hljs-link, +.hljs-emphasis, +.hljs-attribute, +.hljs-addition { + color: #070; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong, +.hljs-string, +.hljs-deletion { + color: #d14; +} + +.hljs-strong { + font-weight: bold; +} + +.hljs-quote, +.hljs-comment { + color: #998; + font-style: italic; +} + +.hljs-section, +.hljs-title { + color: #900; +} + +.hljs-class .hljs-title, +.hljs-type { + color: #458; +} + +.hljs-variable, +.hljs-template-variable { + color: #336699; +} + +.hljs-bullet { + color: #997700; +} + +.hljs-meta { + color: #3344bb; +} + +.hljs-code, +.hljs-number, +.hljs-literal, +.hljs-keyword, +.hljs-selector-tag { + color: #099; +} + +.hljs-regexp { + background-color: #fff0ff; + color: #880088; +} + +.hljs-symbol { + color: #990073; +} + +.hljs-tag, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #007700; +} diff --git a/4.8.1/css/highlight/github-gist.css b/4.8.1/css/highlight/github-gist.css new file mode 100644 index 00000000..155f0b91 --- /dev/null +++ b/4.8.1/css/highlight/github-gist.css @@ -0,0 +1,71 @@ +/** + * GitHub Gist Theme + * Author : Louis Barranqueiro - https://github.com/LouisBarranqueiro + */ + +.hljs { + display: block; + background: white; + padding: 0.5em; + color: #333333; + overflow-x: auto; +} + +.hljs-comment, +.hljs-meta { + color: #969896; +} + +.hljs-string, +.hljs-variable, +.hljs-template-variable, +.hljs-strong, +.hljs-emphasis, +.hljs-quote { + color: #df5000; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-type { + color: #a71d5d; +} + +.hljs-literal, +.hljs-symbol, +.hljs-bullet, +.hljs-attribute { + color: #0086b3; +} + +.hljs-section, +.hljs-name { + color: #63a35c; +} + +.hljs-tag { + color: #333333; +} + +.hljs-title, +.hljs-attr, +.hljs-selector-id, +.hljs-selector-class, +.hljs-selector-attr, +.hljs-selector-pseudo { + color: #795da3; +} + +.hljs-addition { + color: #55a532; + background-color: #eaffea; +} + +.hljs-deletion { + color: #bd2c00; + background-color: #ffecec; +} + +.hljs-link { + text-decoration: underline; +} diff --git a/4.8.1/css/highlight/github.css b/4.8.1/css/highlight/github.css new file mode 100644 index 00000000..791932b8 --- /dev/null +++ b/4.8.1/css/highlight/github.css @@ -0,0 +1,99 @@ +/* + +github.com style (c) Vasily Polovnyov + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + color: #333; + background: #f8f8f8; +} + +.hljs-comment, +.hljs-quote { + color: #998; + font-style: italic; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-subst { + color: #333; + font-weight: bold; +} + +.hljs-number, +.hljs-literal, +.hljs-variable, +.hljs-template-variable, +.hljs-tag .hljs-attr { + color: #008080; +} + +.hljs-string, +.hljs-doctag { + color: #d14; +} + +.hljs-title, +.hljs-section, +.hljs-selector-id { + color: #900; + font-weight: bold; +} + +.hljs-subst { + font-weight: normal; +} + +.hljs-type, +.hljs-class .hljs-title { + color: #458; + font-weight: bold; +} + +.hljs-tag, +.hljs-name, +.hljs-attribute { + color: #000080; + font-weight: normal; +} + +.hljs-regexp, +.hljs-link { + color: #009926; +} + +.hljs-symbol, +.hljs-bullet { + color: #990073; +} + +.hljs-built_in, +.hljs-builtin-name { + color: #0086b3; +} + +.hljs-meta { + color: #999; + font-weight: bold; +} + +.hljs-deletion { + background: #fdd; +} + +.hljs-addition { + background: #dfd; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/4.8.1/css/highlight/googlecode.css b/4.8.1/css/highlight/googlecode.css new file mode 100644 index 00000000..884ad635 --- /dev/null +++ b/4.8.1/css/highlight/googlecode.css @@ -0,0 +1,89 @@ +/* + +Google Code style (c) Aahan Krish + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: white; + color: black; +} + +.hljs-comment, +.hljs-quote { + color: #800; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-section, +.hljs-title, +.hljs-name { + color: #008; +} + +.hljs-variable, +.hljs-template-variable { + color: #660; +} + +.hljs-string, +.hljs-selector-attr, +.hljs-selector-pseudo, +.hljs-regexp { + color: #080; +} + +.hljs-literal, +.hljs-symbol, +.hljs-bullet, +.hljs-meta, +.hljs-number, +.hljs-link { + color: #066; +} + +.hljs-title, +.hljs-doctag, +.hljs-type, +.hljs-attr, +.hljs-built_in, +.hljs-builtin-name, +.hljs-params { + color: #606; +} + +.hljs-attribute, +.hljs-subst { + color: #000; +} + +.hljs-formula { + background-color: #eee; + font-style: italic; +} + +.hljs-selector-id, +.hljs-selector-class { + color: #9B703F +} + +.hljs-addition { + background-color: #baeeba; +} + +.hljs-deletion { + background-color: #ffc8bd; +} + +.hljs-doctag, +.hljs-strong { + font-weight: bold; +} + +.hljs-emphasis { + font-style: italic; +} diff --git a/4.8.1/css/highlight/grayscale.css b/4.8.1/css/highlight/grayscale.css new file mode 100644 index 00000000..5376f340 --- /dev/null +++ b/4.8.1/css/highlight/grayscale.css @@ -0,0 +1,101 @@ +/* + +grayscale style (c) MY Sun + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + color: #333; + background: #fff; +} + +.hljs-comment, +.hljs-quote { + color: #777; + font-style: italic; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-subst { + color: #333; + font-weight: bold; +} + +.hljs-number, +.hljs-literal { + color: #777; +} + +.hljs-string, +.hljs-doctag, +.hljs-formula { + color: #333; + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAJ0lEQVQIW2O8e/fufwYGBgZBQUEQxcCIIfDu3Tuwivfv30NUoAsAALHpFMMLqZlPAAAAAElFTkSuQmCC) repeat; +} + +.hljs-title, +.hljs-section, +.hljs-selector-id { + color: #000; + font-weight: bold; +} + +.hljs-subst { + font-weight: normal; +} + +.hljs-class .hljs-title, +.hljs-type, +.hljs-name { + color: #333; + font-weight: bold; +} + +.hljs-tag { + color: #333; +} + +.hljs-regexp { + color: #333; + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAICAYAAADA+m62AAAAPUlEQVQYV2NkQAN37979r6yszIgujiIAU4RNMVwhuiQ6H6wQl3XI4oy4FMHcCJPHcDS6J2A2EqUQpJhohQDexSef15DBCwAAAABJRU5ErkJggg==) repeat; +} + +.hljs-symbol, +.hljs-bullet, +.hljs-link { + color: #000; + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAKElEQVQIW2NkQAO7d+/+z4gsBhJwdXVlhAvCBECKwIIwAbhKZBUwBQA6hBpm5efZsgAAAABJRU5ErkJggg==) repeat; +} + +.hljs-built_in, +.hljs-builtin-name { + color: #000; + text-decoration: underline; +} + +.hljs-meta { + color: #999; + font-weight: bold; +} + +.hljs-deletion { + color: #fff; + background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAADCAYAAABS3WWCAAAAE0lEQVQIW2MMDQ39zzhz5kwIAQAyxweWgUHd1AAAAABJRU5ErkJggg==) repeat; +} + +.hljs-addition { + color: #000; + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAALUlEQVQYV2N89+7dfwYk8P79ewZBQUFkIQZGOiu6e/cuiptQHAPl0NtNxAQBAM97Oejj3Dg7AAAAAElFTkSuQmCC) repeat; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/4.8.1/css/highlight/gruvbox-dark.css b/4.8.1/css/highlight/gruvbox-dark.css new file mode 100644 index 00000000..f563811a --- /dev/null +++ b/4.8.1/css/highlight/gruvbox-dark.css @@ -0,0 +1,108 @@ +/* + +Gruvbox style (dark) (c) Pavel Pertsev (original style at https://github.com/morhetz/gruvbox) + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #282828; +} + +.hljs, +.hljs-subst { + color: #ebdbb2; +} + +/* Gruvbox Red */ +.hljs-deletion, +.hljs-formula, +.hljs-keyword, +.hljs-link, +.hljs-selector-tag { + color: #fb4934; +} + +/* Gruvbox Blue */ +.hljs-built_in, +.hljs-emphasis, +.hljs-name, +.hljs-quote, +.hljs-strong, +.hljs-title, +.hljs-variable { + color: #83a598; +} + +/* Gruvbox Yellow */ +.hljs-attr, +.hljs-params, +.hljs-template-tag, +.hljs-type { + color: #fabd2f; +} + +/* Gruvbox Purple */ +.hljs-builtin-name, +.hljs-doctag, +.hljs-literal, +.hljs-number { + color: #8f3f71; +} + +/* Gruvbox Orange */ +.hljs-code, +.hljs-meta, +.hljs-regexp, +.hljs-selector-id, +.hljs-template-variable { + color: #fe8019; +} + +/* Gruvbox Green */ +.hljs-addition, +.hljs-meta-string, +.hljs-section, +.hljs-selector-attr, +.hljs-selector-class, +.hljs-string, +.hljs-symbol { + color: #b8bb26; +} + +/* Gruvbox Aqua */ +.hljs-attribute, +.hljs-bullet, +.hljs-class, +.hljs-function, +.hljs-function .hljs-keyword, +.hljs-meta-keyword, +.hljs-selector-pseudo, +.hljs-tag { + color: #8ec07c; +} + +/* Gruvbox Gray */ +.hljs-comment { + color: #928374; +} + +/* Gruvbox Purple */ +.hljs-link_label, +.hljs-literal, +.hljs-number { + color: #d3869b; +} + +.hljs-comment, +.hljs-emphasis { + font-style: italic; +} + +.hljs-section, +.hljs-strong, +.hljs-tag { + font-weight: bold; +} diff --git a/4.8.1/css/highlight/gruvbox-light.css b/4.8.1/css/highlight/gruvbox-light.css new file mode 100644 index 00000000..ff45468e --- /dev/null +++ b/4.8.1/css/highlight/gruvbox-light.css @@ -0,0 +1,108 @@ +/* + +Gruvbox style (light) (c) Pavel Pertsev (original style at https://github.com/morhetz/gruvbox) + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #fbf1c7; +} + +.hljs, +.hljs-subst { + color: #3c3836; +} + +/* Gruvbox Red */ +.hljs-deletion, +.hljs-formula, +.hljs-keyword, +.hljs-link, +.hljs-selector-tag { + color: #9d0006; +} + +/* Gruvbox Blue */ +.hljs-built_in, +.hljs-emphasis, +.hljs-name, +.hljs-quote, +.hljs-strong, +.hljs-title, +.hljs-variable { + color: #076678; +} + +/* Gruvbox Yellow */ +.hljs-attr, +.hljs-params, +.hljs-template-tag, +.hljs-type { + color: #b57614; +} + +/* Gruvbox Purple */ +.hljs-builtin-name, +.hljs-doctag, +.hljs-literal, +.hljs-number { + color: #8f3f71; +} + +/* Gruvbox Orange */ +.hljs-code, +.hljs-meta, +.hljs-regexp, +.hljs-selector-id, +.hljs-template-variable { + color: #af3a03; +} + +/* Gruvbox Green */ +.hljs-addition, +.hljs-meta-string, +.hljs-section, +.hljs-selector-attr, +.hljs-selector-class, +.hljs-string, +.hljs-symbol { + color: #79740e; +} + +/* Gruvbox Aqua */ +.hljs-attribute, +.hljs-bullet, +.hljs-class, +.hljs-function, +.hljs-function .hljs-keyword, +.hljs-meta-keyword, +.hljs-selector-pseudo, +.hljs-tag { + color: #427b58; +} + +/* Gruvbox Gray */ +.hljs-comment { + color: #928374; +} + +/* Gruvbox Purple */ +.hljs-link_label, +.hljs-literal, +.hljs-number { + color: #8f3f71; +} + +.hljs-comment, +.hljs-emphasis { + font-style: italic; +} + +.hljs-section, +.hljs-strong, +.hljs-tag { + font-weight: bold; +} diff --git a/4.8.1/css/highlight/hopscotch.css b/4.8.1/css/highlight/hopscotch.css new file mode 100644 index 00000000..32e60d23 --- /dev/null +++ b/4.8.1/css/highlight/hopscotch.css @@ -0,0 +1,83 @@ +/* + * Hopscotch + * by Jan T. Sott + * https://github.com/idleberg/Hopscotch + * + * This work is licensed under the Creative Commons CC0 1.0 Universal License + */ + +/* Comment */ +.hljs-comment, +.hljs-quote { + color: #989498; +} + +/* Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class, +.hljs-regexp, +.hljs-link, +.hljs-deletion { + color: #dd464c; +} + +/* Orange */ +.hljs-number, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #fd8b19; +} + +/* Yellow */ +.hljs-class .hljs-title { + color: #fdcc59; +} + +/* Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet, +.hljs-addition { + color: #8fc13e; +} + +/* Aqua */ +.hljs-meta { + color: #149b93; +} + +/* Blue */ +.hljs-function, +.hljs-section, +.hljs-title { + color: #1290bf; +} + +/* Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #c85e7c; +} + +.hljs { + display: block; + background: #322931; + color: #b9b5b8; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/4.8.1/css/highlight/hybrid.css b/4.8.1/css/highlight/hybrid.css new file mode 100644 index 00000000..29735a18 --- /dev/null +++ b/4.8.1/css/highlight/hybrid.css @@ -0,0 +1,102 @@ +/* + +vim-hybrid theme by w0ng (https://github.com/w0ng/vim-hybrid) + +*/ + +/*background color*/ +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #1d1f21; +} + +/*selection color*/ +.hljs::selection, +.hljs span::selection { + background: #373b41; +} + +.hljs::-moz-selection, +.hljs span::-moz-selection { + background: #373b41; +} + +/*foreground color*/ +.hljs { + color: #c5c8c6; +} + +/*color: fg_yellow*/ +.hljs-title, +.hljs-name { + color: #f0c674; +} + +/*color: fg_comment*/ +.hljs-comment, +.hljs-meta, +.hljs-meta .hljs-keyword { + color: #707880; +} + +/*color: fg_red*/ +.hljs-number, +.hljs-symbol, +.hljs-literal, +.hljs-deletion, +.hljs-link { + color: #cc6666 +} + +/*color: fg_green*/ +.hljs-string, +.hljs-doctag, +.hljs-addition, +.hljs-regexp, +.hljs-selector-attr, +.hljs-selector-pseudo { + color: #b5bd68; +} + +/*color: fg_purple*/ +.hljs-attribute, +.hljs-code, +.hljs-selector-id { + color: #b294bb; +} + +/*color: fg_blue*/ +.hljs-keyword, +.hljs-selector-tag, +.hljs-bullet, +.hljs-tag { + color: #81a2be; +} + +/*color: fg_aqua*/ +.hljs-subst, +.hljs-variable, +.hljs-template-tag, +.hljs-template-variable { + color: #8abeb7; +} + +/*color: fg_orange*/ +.hljs-type, +.hljs-built_in, +.hljs-builtin-name, +.hljs-quote, +.hljs-section, +.hljs-selector-class { + color: #de935f; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/4.8.1/css/highlight/idea.css b/4.8.1/css/highlight/idea.css new file mode 100644 index 00000000..3bf1892b --- /dev/null +++ b/4.8.1/css/highlight/idea.css @@ -0,0 +1,97 @@ +/* + +Intellij Idea-like styling (c) Vasily Polovnyov + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + color: #000; + background: #fff; +} + +.hljs-subst, +.hljs-title { + font-weight: normal; + color: #000; +} + +.hljs-comment, +.hljs-quote { + color: #808080; + font-style: italic; +} + +.hljs-meta { + color: #808000; +} + +.hljs-tag { + background: #efefef; +} + +.hljs-section, +.hljs-name, +.hljs-literal, +.hljs-keyword, +.hljs-selector-tag, +.hljs-type, +.hljs-selector-id, +.hljs-selector-class { + font-weight: bold; + color: #000080; +} + +.hljs-attribute, +.hljs-number, +.hljs-regexp, +.hljs-link { + font-weight: bold; + color: #0000ff; +} + +.hljs-number, +.hljs-regexp, +.hljs-link { + font-weight: normal; +} + +.hljs-string { + color: #008000; + font-weight: bold; +} + +.hljs-symbol, +.hljs-bullet, +.hljs-formula { + color: #000; + background: #d0eded; + font-style: italic; +} + +.hljs-doctag { + text-decoration: underline; +} + +.hljs-variable, +.hljs-template-variable { + color: #660e7a; +} + +.hljs-addition { + background: #baeeba; +} + +.hljs-deletion { + background: #ffc8bd; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/4.8.1/css/highlight/ir-black.css b/4.8.1/css/highlight/ir-black.css new file mode 100644 index 00000000..bd4c755e --- /dev/null +++ b/4.8.1/css/highlight/ir-black.css @@ -0,0 +1,73 @@ +/* + IR_Black style (c) Vasily Mikhailitchenko +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #000; + color: #f8f8f8; +} + +.hljs-comment, +.hljs-quote, +.hljs-meta { + color: #7c7c7c; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-tag, +.hljs-name { + color: #96cbfe; +} + +.hljs-attribute, +.hljs-selector-id { + color: #ffffb6; +} + +.hljs-string, +.hljs-selector-attr, +.hljs-selector-pseudo, +.hljs-addition { + color: #a8ff60; +} + +.hljs-subst { + color: #daefa3; +} + +.hljs-regexp, +.hljs-link { + color: #e9c062; +} + +.hljs-title, +.hljs-section, +.hljs-type, +.hljs-doctag { + color: #ffffb6; +} + +.hljs-symbol, +.hljs-bullet, +.hljs-variable, +.hljs-template-variable, +.hljs-literal { + color: #c6c5fe; +} + +.hljs-number, +.hljs-deletion { + color:#ff73fd; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/4.8.1/css/highlight/kimbie.dark.css b/4.8.1/css/highlight/kimbie.dark.css new file mode 100644 index 00000000..d139cb5d --- /dev/null +++ b/4.8.1/css/highlight/kimbie.dark.css @@ -0,0 +1,74 @@ +/* + Name: Kimbie (dark) + Author: Jan T. Sott + License: Creative Commons Attribution-ShareAlike 4.0 Unported License + URL: https://github.com/idleberg/Kimbie-highlight.js +*/ + +/* Kimbie Comment */ +.hljs-comment, +.hljs-quote { + color: #d6baad; +} + +/* Kimbie Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-tag, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class, +.hljs-regexp, +.hljs-meta { + color: #dc3958; +} + +/* Kimbie Orange */ +.hljs-number, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params, +.hljs-deletion, +.hljs-link { + color: #f79a32; +} + +/* Kimbie Yellow */ +.hljs-title, +.hljs-section, +.hljs-attribute { + color: #f06431; +} + +/* Kimbie Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet, +.hljs-addition { + color: #889b4a; +} + +/* Kimbie Purple */ +.hljs-keyword, +.hljs-selector-tag, +.hljs-function { + color: #98676a; +} + +.hljs { + display: block; + overflow-x: auto; + background: #221a0f; + color: #d3af86; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/4.8.1/css/highlight/kimbie.light.css b/4.8.1/css/highlight/kimbie.light.css new file mode 100644 index 00000000..04ff6ed3 --- /dev/null +++ b/4.8.1/css/highlight/kimbie.light.css @@ -0,0 +1,74 @@ +/* + Name: Kimbie (light) + Author: Jan T. Sott + License: Creative Commons Attribution-ShareAlike 4.0 Unported License + URL: https://github.com/idleberg/Kimbie-highlight.js +*/ + +/* Kimbie Comment */ +.hljs-comment, +.hljs-quote { + color: #a57a4c; +} + +/* Kimbie Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-tag, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class, +.hljs-regexp, +.hljs-meta { + color: #dc3958; +} + +/* Kimbie Orange */ +.hljs-number, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params, +.hljs-deletion, +.hljs-link { + color: #f79a32; +} + +/* Kimbie Yellow */ +.hljs-title, +.hljs-section, +.hljs-attribute { + color: #f06431; +} + +/* Kimbie Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet, +.hljs-addition { + color: #889b4a; +} + +/* Kimbie Purple */ +.hljs-keyword, +.hljs-selector-tag, +.hljs-function { + color: #98676a; +} + +.hljs { + display: block; + overflow-x: auto; + background: #fbebd4; + color: #84613d; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/4.8.1/css/highlight/magula.css b/4.8.1/css/highlight/magula.css new file mode 100644 index 00000000..44dee5e8 --- /dev/null +++ b/4.8.1/css/highlight/magula.css @@ -0,0 +1,70 @@ +/* +Description: Magula style for highligh.js +Author: Ruslan Keba +Website: http://rukeba.com/ +Version: 1.0 +Date: 2009-01-03 +Music: Aphex Twin / Xtal +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background-color: #f4f4f4; +} + +.hljs, +.hljs-subst { + color: black; +} + +.hljs-string, +.hljs-title, +.hljs-symbol, +.hljs-bullet, +.hljs-attribute, +.hljs-addition, +.hljs-variable, +.hljs-template-tag, +.hljs-template-variable { + color: #050; +} + +.hljs-comment, +.hljs-quote { + color: #777; +} + +.hljs-number, +.hljs-regexp, +.hljs-literal, +.hljs-type, +.hljs-link { + color: #800; +} + +.hljs-deletion, +.hljs-meta { + color: #00e; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-doctag, +.hljs-title, +.hljs-section, +.hljs-built_in, +.hljs-tag, +.hljs-name { + font-weight: bold; + color: navy; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/4.8.1/css/highlight/mono-blue.css b/4.8.1/css/highlight/mono-blue.css new file mode 100644 index 00000000..884c97c7 --- /dev/null +++ b/4.8.1/css/highlight/mono-blue.css @@ -0,0 +1,59 @@ +/* + Five-color theme from a single blue hue. +*/ +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #eaeef3; +} + +.hljs { + color: #00193a; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-title, +.hljs-section, +.hljs-doctag, +.hljs-name, +.hljs-strong { + font-weight: bold; +} + +.hljs-comment { + color: #738191; +} + +.hljs-string, +.hljs-title, +.hljs-section, +.hljs-built_in, +.hljs-literal, +.hljs-type, +.hljs-addition, +.hljs-tag, +.hljs-quote, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #0048ab; +} + +.hljs-meta, +.hljs-subst, +.hljs-symbol, +.hljs-regexp, +.hljs-attribute, +.hljs-deletion, +.hljs-variable, +.hljs-template-variable, +.hljs-link, +.hljs-bullet { + color: #4c81c9; +} + +.hljs-emphasis { + font-style: italic; +} diff --git a/4.8.1/css/highlight/monokai-sublime.css b/4.8.1/css/highlight/monokai-sublime.css new file mode 100644 index 00000000..2864170d --- /dev/null +++ b/4.8.1/css/highlight/monokai-sublime.css @@ -0,0 +1,83 @@ +/* + +Monokai Sublime style. Derived from Monokai by noformnocontent http://nn.mit-license.org/ + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #23241f; +} + +.hljs, +.hljs-tag, +.hljs-subst { + color: #f8f8f2; +} + +.hljs-strong, +.hljs-emphasis { + color: #a8a8a2; +} + +.hljs-bullet, +.hljs-quote, +.hljs-number, +.hljs-regexp, +.hljs-literal, +.hljs-link { + color: #ae81ff; +} + +.hljs-code, +.hljs-title, +.hljs-section, +.hljs-selector-class { + color: #a6e22e; +} + +.hljs-strong { + font-weight: bold; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-name, +.hljs-attr { + color: #f92672; +} + +.hljs-symbol, +.hljs-attribute { + color: #66d9ef; +} + +.hljs-params, +.hljs-class .hljs-title { + color: #f8f8f2; +} + +.hljs-string, +.hljs-type, +.hljs-built_in, +.hljs-builtin-name, +.hljs-selector-id, +.hljs-selector-attr, +.hljs-selector-pseudo, +.hljs-addition, +.hljs-variable, +.hljs-template-variable { + color: #e6db74; +} + +.hljs-comment, +.hljs-deletion, +.hljs-meta { + color: #75715e; +} diff --git a/4.8.1/css/highlight/monokai.css b/4.8.1/css/highlight/monokai.css new file mode 100644 index 00000000..775d53f9 --- /dev/null +++ b/4.8.1/css/highlight/monokai.css @@ -0,0 +1,70 @@ +/* +Monokai style - ported by Luigi Maselli - http://grigio.org +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #272822; color: #ddd; +} + +.hljs-tag, +.hljs-keyword, +.hljs-selector-tag, +.hljs-literal, +.hljs-strong, +.hljs-name { + color: #f92672; +} + +.hljs-code { + color: #66d9ef; +} + +.hljs-class .hljs-title { + color: white; +} + +.hljs-attribute, +.hljs-symbol, +.hljs-regexp, +.hljs-link { + color: #bf79db; +} + +.hljs-string, +.hljs-bullet, +.hljs-subst, +.hljs-title, +.hljs-section, +.hljs-emphasis, +.hljs-type, +.hljs-built_in, +.hljs-builtin-name, +.hljs-selector-attr, +.hljs-selector-pseudo, +.hljs-addition, +.hljs-variable, +.hljs-template-tag, +.hljs-template-variable { + color: #a6e22e; +} + +.hljs-comment, +.hljs-quote, +.hljs-deletion, +.hljs-meta { + color: #75715e; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-literal, +.hljs-doctag, +.hljs-title, +.hljs-section, +.hljs-type, +.hljs-selector-id { + font-weight: bold; +} diff --git a/4.8.1/css/highlight/obsidian.css b/4.8.1/css/highlight/obsidian.css new file mode 100644 index 00000000..356630fa --- /dev/null +++ b/4.8.1/css/highlight/obsidian.css @@ -0,0 +1,88 @@ +/** + * Obsidian style + * ported by Alexander Marenin (http://github.com/ioncreature) + */ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #282b2e; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-literal, +.hljs-selector-id { + color: #93c763; +} + +.hljs-number { + color: #ffcd22; +} + +.hljs { + color: #e0e2e4; +} + +.hljs-attribute { + color: #668bb0; +} + +.hljs-code, +.hljs-class .hljs-title, +.hljs-section { + color: white; +} + +.hljs-regexp, +.hljs-link { + color: #d39745; +} + +.hljs-meta { + color: #557182; +} + +.hljs-tag, +.hljs-name, +.hljs-bullet, +.hljs-subst, +.hljs-emphasis, +.hljs-type, +.hljs-built_in, +.hljs-selector-attr, +.hljs-selector-pseudo, +.hljs-addition, +.hljs-variable, +.hljs-template-tag, +.hljs-template-variable { + color: #8cbbad; +} + +.hljs-string, +.hljs-symbol { + color: #ec7600; +} + +.hljs-comment, +.hljs-quote, +.hljs-deletion { + color: #818e96; +} + +.hljs-selector-class { + color: #A082BD +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-literal, +.hljs-doctag, +.hljs-title, +.hljs-section, +.hljs-type, +.hljs-name, +.hljs-strong { + font-weight: bold; +} diff --git a/4.8.1/css/highlight/ocean.css b/4.8.1/css/highlight/ocean.css new file mode 100644 index 00000000..5901581b --- /dev/null +++ b/4.8.1/css/highlight/ocean.css @@ -0,0 +1,74 @@ +/* Ocean Dark Theme */ +/* https://github.com/gavsiu */ +/* Original theme - https://github.com/chriskempson/base16 */ + +/* Ocean Comment */ +.hljs-comment, +.hljs-quote { + color: #65737e; +} + +/* Ocean Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-tag, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class, +.hljs-regexp, +.hljs-deletion { + color: #bf616a; +} + +/* Ocean Orange */ +.hljs-number, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params, +.hljs-meta, +.hljs-link { + color: #d08770; +} + +/* Ocean Yellow */ +.hljs-attribute { + color: #ebcb8b; +} + +/* Ocean Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet, +.hljs-addition { + color: #a3be8c; +} + +/* Ocean Blue */ +.hljs-title, +.hljs-section { + color: #8fa1b3; +} + +/* Ocean Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #b48ead; +} + +.hljs { + display: block; + overflow-x: auto; + background: #2b303b; + color: #c0c5ce; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/4.8.1/css/highlight/paraiso-dark.css b/4.8.1/css/highlight/paraiso-dark.css new file mode 100644 index 00000000..e7292401 --- /dev/null +++ b/4.8.1/css/highlight/paraiso-dark.css @@ -0,0 +1,72 @@ +/* + Paraíso (dark) + Created by Jan T. Sott (http://github.com/idleberg) + Inspired by the art of Rubens LP (http://www.rubenslp.com.br) +*/ + +/* Paraíso Comment */ +.hljs-comment, +.hljs-quote { + color: #8d8687; +} + +/* Paraíso Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-tag, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class, +.hljs-regexp, +.hljs-link, +.hljs-meta { + color: #ef6155; +} + +/* Paraíso Orange */ +.hljs-number, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params, +.hljs-deletion { + color: #f99b15; +} + +/* Paraíso Yellow */ +.hljs-title, +.hljs-section, +.hljs-attribute { + color: #fec418; +} + +/* Paraíso Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet, +.hljs-addition { + color: #48b685; +} + +/* Paraíso Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #815ba4; +} + +.hljs { + display: block; + overflow-x: auto; + background: #2f1e2e; + color: #a39e9b; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/4.8.1/css/highlight/paraiso-light.css b/4.8.1/css/highlight/paraiso-light.css new file mode 100644 index 00000000..944857cd --- /dev/null +++ b/4.8.1/css/highlight/paraiso-light.css @@ -0,0 +1,72 @@ +/* + Paraíso (light) + Created by Jan T. Sott (http://github.com/idleberg) + Inspired by the art of Rubens LP (http://www.rubenslp.com.br) +*/ + +/* Paraíso Comment */ +.hljs-comment, +.hljs-quote { + color: #776e71; +} + +/* Paraíso Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-tag, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class, +.hljs-regexp, +.hljs-link, +.hljs-meta { + color: #ef6155; +} + +/* Paraíso Orange */ +.hljs-number, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params, +.hljs-deletion { + color: #f99b15; +} + +/* Paraíso Yellow */ +.hljs-title, +.hljs-section, +.hljs-attribute { + color: #fec418; +} + +/* Paraíso Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet, +.hljs-addition { + color: #48b685; +} + +/* Paraíso Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #815ba4; +} + +.hljs { + display: block; + overflow-x: auto; + background: #e7e9db; + color: #4f424c; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/4.8.1/css/highlight/pojoaque.css b/4.8.1/css/highlight/pojoaque.css new file mode 100644 index 00000000..04135043 --- /dev/null +++ b/4.8.1/css/highlight/pojoaque.css @@ -0,0 +1,83 @@ +/* + +Pojoaque Style by Jason Tate +http://web-cms-designs.com/ftopict-10-pojoaque-style-for-highlight-js-code-highlighter.html +Based on Solarized Style from http://ethanschoonover.com/solarized + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + color: #dccf8f; + background: url(pojoaque.jpg) repeat scroll left top #181914; +} + +.hljs-comment, +.hljs-quote { + color: #586e75; + font-style: italic; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-literal, +.hljs-addition { + color: #b64926; +} + +.hljs-number, +.hljs-string, +.hljs-doctag, +.hljs-regexp { + color: #468966; +} + +.hljs-title, +.hljs-section, +.hljs-built_in, +.hljs-name { + color: #ffb03b; +} + +.hljs-variable, +.hljs-template-variable, +.hljs-class .hljs-title, +.hljs-type, +.hljs-tag { + color: #b58900; +} + +.hljs-attribute { + color: #b89859; +} + +.hljs-symbol, +.hljs-bullet, +.hljs-link, +.hljs-subst, +.hljs-meta { + color: #cb4b16; +} + +.hljs-deletion { + color: #dc322f; +} + +.hljs-selector-id, +.hljs-selector-class { + color: #d3a60c; +} + +.hljs-formula { + background: #073642; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/4.8.1/css/highlight/pojoaque.jpg b/4.8.1/css/highlight/pojoaque.jpg new file mode 100644 index 00000000..9c07d4ab Binary files /dev/null and b/4.8.1/css/highlight/pojoaque.jpg differ diff --git a/4.8.1/css/highlight/purebasic.css b/4.8.1/css/highlight/purebasic.css new file mode 100644 index 00000000..5ce9b9e0 --- /dev/null +++ b/4.8.1/css/highlight/purebasic.css @@ -0,0 +1,96 @@ +/* + +PureBASIC native IDE style ( version 1.0 - April 2016 ) + +by Tristano Ajmone + +Public Domain + +NOTE_1: PureBASIC code syntax highlighting only applies the following classes: + .hljs-comment + .hljs-function + .hljs-keywords + .hljs-string + .hljs-symbol + + Other classes are added here for the benefit of styling other languages with the look and feel of PureBASIC native IDE style. + If you need to customize a stylesheet for PureBASIC only, remove all non-relevant classes -- PureBASIC-related classes are followed by + a "--- used for PureBASIC ... ---" comment on same line. + +NOTE_2: Color names provided in comments were derived using "Name that Color" online tool: + http://chir.ag/projects/name-that-color +*/ + +.hljs { /* Common set of rules required by highlight.js (don'r remove!) */ + display: block; + overflow-x: auto; + padding: 0.5em; + background: #FFFFDF; /* Half and Half (approx.) */ +/* --- Uncomment to add PureBASIC native IDE styled font! + font-family: Consolas; +*/ +} + +.hljs, /* --- used for PureBASIC base color --- */ +.hljs-type, /* --- used for PureBASIC Procedures return type --- */ +.hljs-function, /* --- used for wrapping PureBASIC Procedures definitions --- */ +.hljs-name, +.hljs-number, +.hljs-attr, +.hljs-params, +.hljs-subst { + color: #000000; /* Black */ +} + +.hljs-comment, /* --- used for PureBASIC Comments --- */ +.hljs-regexp, +.hljs-section, +.hljs-selector-pseudo, +.hljs-addition { + color: #00AAAA; /* Persian Green (approx.) */ +} + +.hljs-title, /* --- used for PureBASIC Procedures Names --- */ +.hljs-tag, +.hljs-variable, +.hljs-code { + color: #006666; /* Blue Stone (approx.) */ +} + +.hljs-keyword, /* --- used for PureBASIC Keywords --- */ +.hljs-class, +.hljs-meta-keyword, +.hljs-selector-class, +.hljs-built_in, +.hljs-builtin-name { + color: #006666; /* Blue Stone (approx.) */ + font-weight: bold; +} + +.hljs-string, /* --- used for PureBASIC Strings --- */ +.hljs-selector-attr { + color: #0080FF; /* Azure Radiance (approx.) */ +} + +.hljs-symbol, /* --- used for PureBASIC Constants --- */ +.hljs-link, +.hljs-deletion, +.hljs-attribute { + color: #924B72; /* Cannon Pink (approx.) */ +} + +.hljs-meta, +.hljs-literal, +.hljs-selector-id { + color: #924B72; /* Cannon Pink (approx.) */ + font-weight: bold; +} + +.hljs-strong, +.hljs-name { + font-weight: bold; +} + +.hljs-emphasis { + font-style: italic; +} diff --git a/4.8.1/css/highlight/qtcreator_dark.css b/4.8.1/css/highlight/qtcreator_dark.css new file mode 100644 index 00000000..7aa56a36 --- /dev/null +++ b/4.8.1/css/highlight/qtcreator_dark.css @@ -0,0 +1,83 @@ +/* + +Qt Creator dark color scheme + +*/ + + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #000000; +} + +.hljs, +.hljs-subst, +.hljs-tag, +.hljs-title { + color: #aaaaaa; +} + +.hljs-strong, +.hljs-emphasis { + color: #a8a8a2; +} + +.hljs-bullet, +.hljs-quote, +.hljs-number, +.hljs-regexp, +.hljs-literal { + color: #ff55ff; +} + +.hljs-code +.hljs-selector-class { + color: #aaaaff; +} + +.hljs-emphasis, +.hljs-stronge, +.hljs-type { + font-style: italic; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-function, +.hljs-section, +.hljs-symbol, +.hljs-name { + color: #ffff55; +} + +.hljs-attribute { + color: #ff5555; +} + +.hljs-variable, +.hljs-params, +.hljs-class .hljs-title { + color: #8888ff; +} + +.hljs-string, +.hljs-selector-id, +.hljs-selector-attr, +.hljs-selector-pseudo, +.hljs-type, +.hljs-built_in, +.hljs-builtin-name, +.hljs-template-tag, +.hljs-template-variable, +.hljs-addition, +.hljs-link { + color: #ff55ff; +} + +.hljs-comment, +.hljs-meta, +.hljs-deletion { + color: #55ffff; +} diff --git a/4.8.1/css/highlight/qtcreator_light.css b/4.8.1/css/highlight/qtcreator_light.css new file mode 100644 index 00000000..1efa2c66 --- /dev/null +++ b/4.8.1/css/highlight/qtcreator_light.css @@ -0,0 +1,83 @@ +/* + +Qt Creator light color scheme + +*/ + + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #ffffff; +} + +.hljs, +.hljs-subst, +.hljs-tag, +.hljs-title { + color: #000000; +} + +.hljs-strong, +.hljs-emphasis { + color: #000000; +} + +.hljs-bullet, +.hljs-quote, +.hljs-number, +.hljs-regexp, +.hljs-literal { + color: #000080; +} + +.hljs-code +.hljs-selector-class { + color: #800080; +} + +.hljs-emphasis, +.hljs-stronge, +.hljs-type { + font-style: italic; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-function, +.hljs-section, +.hljs-symbol, +.hljs-name { + color: #808000; +} + +.hljs-attribute { + color: #800000; +} + +.hljs-variable, +.hljs-params, +.hljs-class .hljs-title { + color: #0055AF; +} + +.hljs-string, +.hljs-selector-id, +.hljs-selector-attr, +.hljs-selector-pseudo, +.hljs-type, +.hljs-built_in, +.hljs-builtin-name, +.hljs-template-tag, +.hljs-template-variable, +.hljs-addition, +.hljs-link { + color: #008000; +} + +.hljs-comment, +.hljs-meta, +.hljs-deletion { + color: #008000; +} diff --git a/4.8.1/css/highlight/railscasts.css b/4.8.1/css/highlight/railscasts.css new file mode 100644 index 00000000..008cdc5b --- /dev/null +++ b/4.8.1/css/highlight/railscasts.css @@ -0,0 +1,106 @@ +/* + +Railscasts-like style (c) Visoft, Inc. (Damien White) + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #232323; + color: #e6e1dc; +} + +.hljs-comment, +.hljs-quote { + color: #bc9458; + font-style: italic; +} + +.hljs-keyword, +.hljs-selector-tag { + color: #c26230; +} + +.hljs-string, +.hljs-number, +.hljs-regexp, +.hljs-variable, +.hljs-template-variable { + color: #a5c261; +} + +.hljs-subst { + color: #519f50; +} + +.hljs-tag, +.hljs-name { + color: #e8bf6a; +} + +.hljs-type { + color: #da4939; +} + + +.hljs-symbol, +.hljs-bullet, +.hljs-built_in, +.hljs-builtin-name, +.hljs-attr, +.hljs-link { + color: #6d9cbe; +} + +.hljs-params { + color: #d0d0ff; +} + +.hljs-attribute { + color: #cda869; +} + +.hljs-meta { + color: #9b859d; +} + +.hljs-title, +.hljs-section { + color: #ffc66d; +} + +.hljs-addition { + background-color: #144212; + color: #e6e1dc; + display: inline-block; + width: 100%; +} + +.hljs-deletion { + background-color: #600; + color: #e6e1dc; + display: inline-block; + width: 100%; +} + +.hljs-selector-class { + color: #9b703f; +} + +.hljs-selector-id { + color: #8b98ab; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} + +.hljs-link { + text-decoration: underline; +} diff --git a/4.8.1/css/highlight/rainbow.css b/4.8.1/css/highlight/rainbow.css new file mode 100644 index 00000000..905eb8ef --- /dev/null +++ b/4.8.1/css/highlight/rainbow.css @@ -0,0 +1,85 @@ +/* + +Style with support for rainbow parens + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #474949; + color: #d1d9e1; +} + + +.hljs-comment, +.hljs-quote { + color: #969896; + font-style: italic; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-literal, +.hljs-type, +.hljs-addition { + color: #cc99cc; +} + +.hljs-number, +.hljs-selector-attr, +.hljs-selector-pseudo { + color: #f99157; +} + +.hljs-string, +.hljs-doctag, +.hljs-regexp { + color: #8abeb7; +} + +.hljs-title, +.hljs-name, +.hljs-section, +.hljs-built_in { + color: #b5bd68; +} + +.hljs-variable, +.hljs-template-variable, +.hljs-selector-id, +.hljs-class .hljs-title { + color: #ffcc66; +} + +.hljs-section, +.hljs-name, +.hljs-strong { + font-weight: bold; +} + +.hljs-symbol, +.hljs-bullet, +.hljs-subst, +.hljs-meta, +.hljs-link { + color: #f99157; +} + +.hljs-deletion { + color: #dc322f; +} + +.hljs-formula { + background: #eee8d5; +} + +.hljs-attr, +.hljs-attribute { + color: #81a2be; +} + +.hljs-emphasis { + font-style: italic; +} diff --git a/4.8.1/css/highlight/routeros.css b/4.8.1/css/highlight/routeros.css new file mode 100644 index 00000000..ebe23990 --- /dev/null +++ b/4.8.1/css/highlight/routeros.css @@ -0,0 +1,108 @@ +/* + + highlight.js style for Microtik RouterOS script + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #F0F0F0; +} + +/* Base color: saturation 0; */ + +.hljs, +.hljs-subst { + color: #444; +} + +.hljs-comment { + color: #888888; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-meta-keyword, +.hljs-doctag, +.hljs-name { + font-weight: bold; +} + +.hljs-attribute { + color: #0E9A00; +} + +.hljs-function { + color: #99069A; +} + +.hljs-builtin-name { + color: #99069A; +} + +/* User color: hue: 0 */ + +.hljs-type, +.hljs-string, +.hljs-number, +.hljs-selector-id, +.hljs-selector-class, +.hljs-quote, +.hljs-template-tag, +.hljs-deletion { + color: #880000; +} + +.hljs-title, +.hljs-section { + color: #880000; + font-weight: bold; +} + +.hljs-regexp, +.hljs-symbol, +.hljs-variable, +.hljs-template-variable, +.hljs-link, +.hljs-selector-attr, +.hljs-selector-pseudo { + color: #BC6060; +} + + +/* Language color: hue: 90; */ + +.hljs-literal { + color: #78A960; +} + +.hljs-built_in, +.hljs-bullet, +.hljs-code, +.hljs-addition { + color: #0C9A9A; +} + + +/* Meta color: hue: 200 */ + +.hljs-meta { + color: #1f7199; +} + +.hljs-meta-string { + color: #4d99bf; +} + + +/* Misc effects */ + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/4.8.1/css/highlight/school-book.css b/4.8.1/css/highlight/school-book.css new file mode 100644 index 00000000..60f217ba --- /dev/null +++ b/4.8.1/css/highlight/school-book.css @@ -0,0 +1,72 @@ +/* + +School Book style from goldblog.com.ua (c) Zaripov Yura + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 15px 0.5em 0.5em 30px; + font-size: 11px; + line-height:16px; +} + +pre{ + background:#f6f6ae url(school-book.png); + border-top: solid 2px #d2e8b9; + border-bottom: solid 1px #d2e8b9; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-literal { + color:#005599; + font-weight:bold; +} + +.hljs, +.hljs-subst { + color: #3e5915; +} + +.hljs-string, +.hljs-title, +.hljs-section, +.hljs-type, +.hljs-symbol, +.hljs-bullet, +.hljs-attribute, +.hljs-built_in, +.hljs-builtin-name, +.hljs-addition, +.hljs-variable, +.hljs-template-tag, +.hljs-template-variable, +.hljs-link { + color: #2c009f; +} + +.hljs-comment, +.hljs-quote, +.hljs-deletion, +.hljs-meta { + color: #e60415; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-literal, +.hljs-doctag, +.hljs-title, +.hljs-section, +.hljs-type, +.hljs-name, +.hljs-selector-id, +.hljs-strong { + font-weight: bold; +} + +.hljs-emphasis { + font-style: italic; +} diff --git a/4.8.1/css/highlight/school-book.png b/4.8.1/css/highlight/school-book.png new file mode 100644 index 00000000..956e9790 Binary files /dev/null and b/4.8.1/css/highlight/school-book.png differ diff --git a/4.8.1/css/highlight/solarized-dark.css b/4.8.1/css/highlight/solarized-dark.css new file mode 100644 index 00000000..b4c0da1f --- /dev/null +++ b/4.8.1/css/highlight/solarized-dark.css @@ -0,0 +1,84 @@ +/* + +Orginal Style from ethanschoonover.com/solarized (c) Jeremy Hull + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #002b36; + color: #839496; +} + +.hljs-comment, +.hljs-quote { + color: #586e75; +} + +/* Solarized Green */ +.hljs-keyword, +.hljs-selector-tag, +.hljs-addition { + color: #859900; +} + +/* Solarized Cyan */ +.hljs-number, +.hljs-string, +.hljs-meta .hljs-meta-string, +.hljs-literal, +.hljs-doctag, +.hljs-regexp { + color: #2aa198; +} + +/* Solarized Blue */ +.hljs-title, +.hljs-section, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #268bd2; +} + +/* Solarized Yellow */ +.hljs-attribute, +.hljs-attr, +.hljs-variable, +.hljs-template-variable, +.hljs-class .hljs-title, +.hljs-type { + color: #b58900; +} + +/* Solarized Orange */ +.hljs-symbol, +.hljs-bullet, +.hljs-subst, +.hljs-meta, +.hljs-meta .hljs-keyword, +.hljs-selector-attr, +.hljs-selector-pseudo, +.hljs-link { + color: #cb4b16; +} + +/* Solarized Red */ +.hljs-built_in, +.hljs-deletion { + color: #dc322f; +} + +.hljs-formula { + background: #073642; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/4.8.1/css/highlight/solarized-light.css b/4.8.1/css/highlight/solarized-light.css new file mode 100644 index 00000000..fdcfcc72 --- /dev/null +++ b/4.8.1/css/highlight/solarized-light.css @@ -0,0 +1,84 @@ +/* + +Orginal Style from ethanschoonover.com/solarized (c) Jeremy Hull + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #fdf6e3; + color: #657b83; +} + +.hljs-comment, +.hljs-quote { + color: #93a1a1; +} + +/* Solarized Green */ +.hljs-keyword, +.hljs-selector-tag, +.hljs-addition { + color: #859900; +} + +/* Solarized Cyan */ +.hljs-number, +.hljs-string, +.hljs-meta .hljs-meta-string, +.hljs-literal, +.hljs-doctag, +.hljs-regexp { + color: #2aa198; +} + +/* Solarized Blue */ +.hljs-title, +.hljs-section, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #268bd2; +} + +/* Solarized Yellow */ +.hljs-attribute, +.hljs-attr, +.hljs-variable, +.hljs-template-variable, +.hljs-class .hljs-title, +.hljs-type { + color: #b58900; +} + +/* Solarized Orange */ +.hljs-symbol, +.hljs-bullet, +.hljs-subst, +.hljs-meta, +.hljs-meta .hljs-keyword, +.hljs-selector-attr, +.hljs-selector-pseudo, +.hljs-link { + color: #cb4b16; +} + +/* Solarized Red */ +.hljs-built_in, +.hljs-deletion { + color: #dc322f; +} + +.hljs-formula { + background: #eee8d5; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/4.8.1/css/highlight/sunburst.css b/4.8.1/css/highlight/sunburst.css new file mode 100644 index 00000000..f56dd5e9 --- /dev/null +++ b/4.8.1/css/highlight/sunburst.css @@ -0,0 +1,102 @@ +/* + +Sunburst-like style (c) Vasily Polovnyov + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #000; + color: #f8f8f8; +} + +.hljs-comment, +.hljs-quote { + color: #aeaeae; + font-style: italic; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-type { + color: #e28964; +} + +.hljs-string { + color: #65b042; +} + +.hljs-subst { + color: #daefa3; +} + +.hljs-regexp, +.hljs-link { + color: #e9c062; +} + +.hljs-title, +.hljs-section, +.hljs-tag, +.hljs-name { + color: #89bdff; +} + +.hljs-class .hljs-title, +.hljs-doctag { + text-decoration: underline; +} + +.hljs-symbol, +.hljs-bullet, +.hljs-number { + color: #3387cc; +} + +.hljs-params, +.hljs-variable, +.hljs-template-variable { + color: #3e87e3; +} + +.hljs-attribute { + color: #cda869; +} + +.hljs-meta { + color: #8996a8; +} + +.hljs-formula { + background-color: #0e2231; + color: #f8f8f8; + font-style: italic; +} + +.hljs-addition { + background-color: #253b22; + color: #f8f8f8; +} + +.hljs-deletion { + background-color: #420e09; + color: #f8f8f8; +} + +.hljs-selector-class { + color: #9b703f; +} + +.hljs-selector-id { + color: #8b98ab; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/4.8.1/css/highlight/tomorrow-night-blue.css b/4.8.1/css/highlight/tomorrow-night-blue.css new file mode 100644 index 00000000..78e59cc8 --- /dev/null +++ b/4.8.1/css/highlight/tomorrow-night-blue.css @@ -0,0 +1,75 @@ +/* Tomorrow Night Blue Theme */ +/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ +/* Original theme - https://github.com/chriskempson/tomorrow-theme */ +/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ + +/* Tomorrow Comment */ +.hljs-comment, +.hljs-quote { + color: #7285b7; +} + +/* Tomorrow Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-tag, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class, +.hljs-regexp, +.hljs-deletion { + color: #ff9da4; +} + +/* Tomorrow Orange */ +.hljs-number, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params, +.hljs-meta, +.hljs-link { + color: #ffc58f; +} + +/* Tomorrow Yellow */ +.hljs-attribute { + color: #ffeead; +} + +/* Tomorrow Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet, +.hljs-addition { + color: #d1f1a9; +} + +/* Tomorrow Blue */ +.hljs-title, +.hljs-section { + color: #bbdaff; +} + +/* Tomorrow Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #ebbbff; +} + +.hljs { + display: block; + overflow-x: auto; + background: #002451; + color: white; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/4.8.1/css/highlight/tomorrow-night-bright.css b/4.8.1/css/highlight/tomorrow-night-bright.css new file mode 100644 index 00000000..e05af8ae --- /dev/null +++ b/4.8.1/css/highlight/tomorrow-night-bright.css @@ -0,0 +1,74 @@ +/* Tomorrow Night Bright Theme */ +/* Original theme - https://github.com/chriskempson/tomorrow-theme */ +/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ + +/* Tomorrow Comment */ +.hljs-comment, +.hljs-quote { + color: #969896; +} + +/* Tomorrow Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-tag, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class, +.hljs-regexp, +.hljs-deletion { + color: #d54e53; +} + +/* Tomorrow Orange */ +.hljs-number, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params, +.hljs-meta, +.hljs-link { + color: #e78c45; +} + +/* Tomorrow Yellow */ +.hljs-attribute { + color: #e7c547; +} + +/* Tomorrow Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet, +.hljs-addition { + color: #b9ca4a; +} + +/* Tomorrow Blue */ +.hljs-title, +.hljs-section { + color: #7aa6da; +} + +/* Tomorrow Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #c397d8; +} + +.hljs { + display: block; + overflow-x: auto; + background: black; + color: #eaeaea; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/4.8.1/css/highlight/tomorrow-night-eighties.css b/4.8.1/css/highlight/tomorrow-night-eighties.css new file mode 100644 index 00000000..08fd51c7 --- /dev/null +++ b/4.8.1/css/highlight/tomorrow-night-eighties.css @@ -0,0 +1,74 @@ +/* Tomorrow Night Eighties Theme */ +/* Original theme - https://github.com/chriskempson/tomorrow-theme */ +/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ + +/* Tomorrow Comment */ +.hljs-comment, +.hljs-quote { + color: #999999; +} + +/* Tomorrow Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-tag, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class, +.hljs-regexp, +.hljs-deletion { + color: #f2777a; +} + +/* Tomorrow Orange */ +.hljs-number, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params, +.hljs-meta, +.hljs-link { + color: #f99157; +} + +/* Tomorrow Yellow */ +.hljs-attribute { + color: #ffcc66; +} + +/* Tomorrow Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet, +.hljs-addition { + color: #99cc99; +} + +/* Tomorrow Blue */ +.hljs-title, +.hljs-section { + color: #6699cc; +} + +/* Tomorrow Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #cc99cc; +} + +.hljs { + display: block; + overflow-x: auto; + background: #2d2d2d; + color: #cccccc; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/4.8.1/css/highlight/tomorrow-night.css b/4.8.1/css/highlight/tomorrow-night.css new file mode 100644 index 00000000..ddd270a4 --- /dev/null +++ b/4.8.1/css/highlight/tomorrow-night.css @@ -0,0 +1,75 @@ +/* Tomorrow Night Theme */ +/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ +/* Original theme - https://github.com/chriskempson/tomorrow-theme */ +/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ + +/* Tomorrow Comment */ +.hljs-comment, +.hljs-quote { + color: #969896; +} + +/* Tomorrow Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-tag, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class, +.hljs-regexp, +.hljs-deletion { + color: #cc6666; +} + +/* Tomorrow Orange */ +.hljs-number, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params, +.hljs-meta, +.hljs-link { + color: #de935f; +} + +/* Tomorrow Yellow */ +.hljs-attribute { + color: #f0c674; +} + +/* Tomorrow Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet, +.hljs-addition { + color: #b5bd68; +} + +/* Tomorrow Blue */ +.hljs-title, +.hljs-section { + color: #81a2be; +} + +/* Tomorrow Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #b294bb; +} + +.hljs { + display: block; + overflow-x: auto; + background: #1d1f21; + color: #c5c8c6; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/4.8.1/css/highlight/tomorrow.css b/4.8.1/css/highlight/tomorrow.css new file mode 100644 index 00000000..026a62fe --- /dev/null +++ b/4.8.1/css/highlight/tomorrow.css @@ -0,0 +1,72 @@ +/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ + +/* Tomorrow Comment */ +.hljs-comment, +.hljs-quote { + color: #8e908c; +} + +/* Tomorrow Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-tag, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class, +.hljs-regexp, +.hljs-deletion { + color: #c82829; +} + +/* Tomorrow Orange */ +.hljs-number, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params, +.hljs-meta, +.hljs-link { + color: #f5871f; +} + +/* Tomorrow Yellow */ +.hljs-attribute { + color: #eab700; +} + +/* Tomorrow Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet, +.hljs-addition { + color: #718c00; +} + +/* Tomorrow Blue */ +.hljs-title, +.hljs-section { + color: #4271ae; +} + +/* Tomorrow Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #8959a8; +} + +.hljs { + display: block; + overflow-x: auto; + background: white; + color: #4d4d4c; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/4.8.1/css/highlight/vs.css b/4.8.1/css/highlight/vs.css new file mode 100644 index 00000000..c5d07d31 --- /dev/null +++ b/4.8.1/css/highlight/vs.css @@ -0,0 +1,68 @@ +/* + +Visual Studio-like style based on original C# coloring by Jason Diamond + +*/ +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: white; + color: black; +} + +.hljs-comment, +.hljs-quote, +.hljs-variable { + color: #008000; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-built_in, +.hljs-name, +.hljs-tag { + color: #00f; +} + +.hljs-string, +.hljs-title, +.hljs-section, +.hljs-attribute, +.hljs-literal, +.hljs-template-tag, +.hljs-template-variable, +.hljs-type, +.hljs-addition { + color: #a31515; +} + +.hljs-deletion, +.hljs-selector-attr, +.hljs-selector-pseudo, +.hljs-meta { + color: #2b91af; +} + +.hljs-doctag { + color: #808080; +} + +.hljs-attr { + color: #f00; +} + +.hljs-symbol, +.hljs-bullet, +.hljs-link { + color: #00b0e8; +} + + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/4.8.1/css/highlight/vs2015.css b/4.8.1/css/highlight/vs2015.css new file mode 100644 index 00000000..d1d9be3c --- /dev/null +++ b/4.8.1/css/highlight/vs2015.css @@ -0,0 +1,115 @@ +/* + * Visual Studio 2015 dark style + * Author: Nicolas LLOBERA + */ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #1E1E1E; + color: #DCDCDC; +} + +.hljs-keyword, +.hljs-literal, +.hljs-symbol, +.hljs-name { + color: #569CD6; +} +.hljs-link { + color: #569CD6; + text-decoration: underline; +} + +.hljs-built_in, +.hljs-type { + color: #4EC9B0; +} + +.hljs-number, +.hljs-class { + color: #B8D7A3; +} + +.hljs-string, +.hljs-meta-string { + color: #D69D85; +} + +.hljs-regexp, +.hljs-template-tag { + color: #9A5334; +} + +.hljs-subst, +.hljs-function, +.hljs-title, +.hljs-params, +.hljs-formula { + color: #DCDCDC; +} + +.hljs-comment, +.hljs-quote { + color: #57A64A; + font-style: italic; +} + +.hljs-doctag { + color: #608B4E; +} + +.hljs-meta, +.hljs-meta-keyword, +.hljs-tag { + color: #9B9B9B; +} + +.hljs-variable, +.hljs-template-variable { + color: #BD63C5; +} + +.hljs-attr, +.hljs-attribute, +.hljs-builtin-name { + color: #9CDCFE; +} + +.hljs-section { + color: gold; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} + +/*.hljs-code { + font-family:'Monospace'; +}*/ + +.hljs-bullet, +.hljs-selector-tag, +.hljs-selector-id, +.hljs-selector-class, +.hljs-selector-attr, +.hljs-selector-pseudo { + color: #D7BA7D; +} + +.hljs-addition { + background-color: #144212; + display: inline-block; + width: 100%; +} + +.hljs-deletion { + background-color: #600; + display: inline-block; + width: 100%; +} diff --git a/4.8.1/css/highlight/xcode.css b/4.8.1/css/highlight/xcode.css new file mode 100644 index 00000000..43dddad8 --- /dev/null +++ b/4.8.1/css/highlight/xcode.css @@ -0,0 +1,93 @@ +/* + +XCode style (c) Angel Garcia + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #fff; + color: black; +} + +.hljs-comment, +.hljs-quote { + color: #006a00; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-literal { + color: #aa0d91; +} + +.hljs-name { + color: #008; +} + +.hljs-variable, +.hljs-template-variable { + color: #660; +} + +.hljs-string { + color: #c41a16; +} + +.hljs-regexp, +.hljs-link { + color: #080; +} + +.hljs-title, +.hljs-tag, +.hljs-symbol, +.hljs-bullet, +.hljs-number, +.hljs-meta { + color: #1c00cf; +} + +.hljs-section, +.hljs-class .hljs-title, +.hljs-type, +.hljs-attr, +.hljs-built_in, +.hljs-builtin-name, +.hljs-params { + color: #5c2699; +} + +.hljs-attribute, +.hljs-subst { + color: #000; +} + +.hljs-formula { + background-color: #eee; + font-style: italic; +} + +.hljs-addition { + background-color: #baeeba; +} + +.hljs-deletion { + background-color: #ffc8bd; +} + +.hljs-selector-id, +.hljs-selector-class { + color: #9b703f; +} + +.hljs-doctag, +.hljs-strong { + font-weight: bold; +} + +.hljs-emphasis { + font-style: italic; +} diff --git a/4.8.1/css/highlight/xt256.css b/4.8.1/css/highlight/xt256.css new file mode 100644 index 00000000..58df82cb --- /dev/null +++ b/4.8.1/css/highlight/xt256.css @@ -0,0 +1,92 @@ + +/* + xt256.css + + Contact: initbar [at] protonmail [dot] ch + : github.com/initbar +*/ + +.hljs { + display: block; + overflow-x: auto; + color: #eaeaea; + background: #000; + padding: 0.5; +} + +.hljs-subst { + color: #eaeaea; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} + +.hljs-builtin-name, +.hljs-type { + color: #eaeaea; +} + +.hljs-params { + color: #da0000; +} + +.hljs-literal, +.hljs-number, +.hljs-name { + color: #ff0000; + font-weight: bolder; +} + +.hljs-comment { + color: #969896; +} + +.hljs-selector-id, +.hljs-quote { + color: #00ffff; +} + +.hljs-template-variable, +.hljs-variable, +.hljs-title { + color: #00ffff; + font-weight: bold; +} + +.hljs-selector-class, +.hljs-keyword, +.hljs-symbol { + color: #fff000; +} + +.hljs-string, +.hljs-bullet { + color: #00ff00; +} + +.hljs-tag, +.hljs-section { + color: #000fff; +} + +.hljs-selector-tag { + color: #000fff; + font-weight: bold; +} + +.hljs-attribute, +.hljs-built_in, +.hljs-regexp, +.hljs-link { + color: #ff00ff; +} + +.hljs-meta { + color: #fff; + font-weight: bolder; +} diff --git a/4.8.1/css/highlight/zenburn.css b/4.8.1/css/highlight/zenburn.css new file mode 100644 index 00000000..07be5020 --- /dev/null +++ b/4.8.1/css/highlight/zenburn.css @@ -0,0 +1,80 @@ +/* + +Zenburn style from voldmar.ru (c) Vladimir Epifanov +based on dark.css by Ivan Sagalaev + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #3f3f3f; + color: #dcdcdc; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-tag { + color: #e3ceab; +} + +.hljs-template-tag { + color: #dcdcdc; +} + +.hljs-number { + color: #8cd0d3; +} + +.hljs-variable, +.hljs-template-variable, +.hljs-attribute { + color: #efdcbc; +} + +.hljs-literal { + color: #efefaf; +} + +.hljs-subst { + color: #8f8f8f; +} + +.hljs-title, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class, +.hljs-section, +.hljs-type { + color: #efef8f; +} + +.hljs-symbol, +.hljs-bullet, +.hljs-link { + color: #dca3a3; +} + +.hljs-deletion, +.hljs-string, +.hljs-built_in, +.hljs-builtin-name { + color: #cc9393; +} + +.hljs-addition, +.hljs-comment, +.hljs-quote, +.hljs-meta { + color: #7f9f7f; +} + + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/4.8.1/css/main.css b/4.8.1/css/main.css new file mode 100644 index 00000000..7d99de65 --- /dev/null +++ b/4.8.1/css/main.css @@ -0,0 +1,1217 @@ +@import "custom.css"; +@import "tools.css"; +@import "skin.css"; + +/* +//////////////////////////////////////////////////////////////////////////////// +// +// Body & Html. +// +//////////////////////////////////////////////////////////////////////////////// +*/ + +.body { + font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;; + text-align: justify; + font-size: 85%; + background: #F2F2F2; +} + +/* Monospace should be same size as other fonts: this fix was taken from + * + * http://meyerweb.com/eric/thoughts/2010/02/12/fixed-monospace-sizing/ + */ +pre, code { + font-family: "Courier New", monospace, serif; + font-size: 1em; +} + +/* +//////////////////////////////////////////////////////////////////////////////// +// +// Html Tag. +// +//////////////////////////////////////////////////////////////////////////////// +*/ + +strong { + font-weight: bold; +} + +/* +//////////////////////////////////////////////////////////////////////////////// +// +// Content. +// +//////////////////////////////////////////////////////////////////////////////// +*/ + +#iframe { + overflow-x: hidden; +} + +/* +//////////////////////////////////////// +// Colset. +//////////////////////////////////////// +*/ + +#colset { + width: 100%; +} + +#colset #col2, #colset #col1 { + vertical-align: top; +} + +#colset #col2 { + display: table-cell; + width: 250px; +} + +/* Required for IE6 */ +#col2 .local { width: 250px; } + +/* +//////////////////////////////////////// +// Main & Local. +//////////////////////////////////////// +*/ + +#main { + margin: 10px; + border-width: 1px; + padding: 10px 15px; + margin-bottom: 0; +} + +#main.reference h1 { + color: #feb672; +} + +.local { + margin-right: 10px; +} + +.local .local-title { + display: block; + padding: 6px 0; + padding-top: 10px; + margin: 0; +} + +.local .local-title a { + text-decoration: none; + font-size: 1.25em; + font-weight: bold; +} + +.local .local-title .toggle { + display: none; +} + +.js .local .local-title .toggle { + display: inline; +} + +.local .local-title .toggle, .local .local-title .toggle a { + font-size: 1.05em; + font-weight: normal; +} + +.local .local-title .toggle a:hover { + text-decoration: underline; +} + +.next-right{ + float:right; +} + +.prev-left{ + float:left; +} + +/* +//////////////////////////////////////// +// Project. +//////////////////////////////////////// +*/ + +#main .project { + clear: left; + padding-top: 10px; +} + +#main .project h1 { + padding: 0; + margin: 5px 0 8px; +} + +#main .project p { + padding: 2px 0; + margin: 0; +} + +/* +//////////////////////////////////////// +// Table of content. +//////////////////////////////////////// +*/ + + +.section-block-right{ + float:right; + clear:right; + width:50%; +} + +.section-block-left{ + float:left; + clear:left; + width:50%; +} + +.toc-item span { + padding-left:10px; +} + +.toc-item { + font-size: 0.90rem; + line-height: 1.4; +} + +#table-of-content a { + display: block; + padding: 4px 10px; + text-decoration: none; + color: #444; +} + +#table-of-content a:hover { + text-decoration: none; + border-right: 2px solid #feb672; +} + +/* +//////////////////////////////////////// +// Reference menu. +//////////////////////////////////////// +*/ + +.js .menu .menu-sub { + display: none; +} +.js .menu .selected { + display: block; +} + +.menu .menu-block { + width: 210px; + padding: 0 2%; +} + +.menu .menu-block h1 { + padding: 2px 0; + cursor:pointer; + padding-top: 8px; + margin: 0; + font-size: 1.1em; + font-weight: bold; +} + +.menu .menu-sub .menu-item { + margin-left: 10px; + padding: 2px 0; + padding-left: 10px; +} + +.menu .menu-sub .menu-item:first-child { + margin-bottom: 0.3em; + margin-top: 0.3em; +} + +.menu a { + text-decoration: none; +} + + + +/* +//////////////////////////////////////////////////////////////////////////////// +// +// Navigation. +// +//////////////////////////////////////////////////////////////////////////////// +*/ + +#navigation { + border-width: 0; + font-size: 1.1em; + height: 100px; +} + +#navigation ul { + margin: 0; + padding: 0; + padding-top: 25px; + height: 3.1em; +} + +#navigation ul li { + list-style: none; + padding: 7px 3px; + padding-left: 6px; + margin: 0; + float: left; +} + +#navigation ul li.separator { + display: none; +} + +.js #navigation ul li.separator { + display: block; +} + +#navigation a { + display: block; + padding: 0.3em 10px; + outline: none; + text-decoration: none; +} + +#nav-summary { + position: relative; + margin: 0; + padding: 0; +} + +#nav-summary #nav-summary-childs { + position: absolute; + top: 1.6em; + margin: 0; + border-width: 1px; + padding: 10px; + width: 25em; + z-index: 1; +} + +#nav-summary #nav-summary-childs { + display: none; +} + +#nav-summary #nav-summary-childs a { + float: none; +} + +/* +//////////////////////////////////////////////////////////////////////////////// +// +// Footer. +// +//////////////////////////////////////////////////////////////////////////////// +*/ + +#footer { + padding: 10px 10px 10px 20px; +} + +/* +//////////////////////////////////////////////////////////////////////////////// +// +// Header. +// +//////////////////////////////////////////////////////////////////////////////// +*/ + +#header { + padding: 15px 15px 5px 15px; +} + +#header .images { + width: 100%; + padding: 0; + margin: 0; +} + +#header p { + font-size: 1.1em; + margin: 0 0 0.5em 0; +} + +#header { +} + +#header #logo, #header #sponsor { + display: block; + width: 40%; + float: left; +} + +#header #sponsor { + float: right; + text-align: right; +} + +/* +//////////////////////////////////////////////////////////////////////////////// +// +// Default Style. +// +//////////////////////////////////////////////////////////////////////////////// +*/ + +.warning { + border: 1px solid #F0C000; + margin-top: 1.5em; + margin-bottom: 1.5em; + padding: 10px; + line-height: 100%; + width: 80%; + background-color: #FFFFCE; +} + +.note table { + margin-bottom: 0px; +} +.warning table { + margin-bottom: 0px; +} +.note { + border: 1px solid #006fd2; + margin-top: 1.5em; + margin-bottom: 1.5em; + padding: 10px; + line-height: 100%; + width: 80%; + background-color: #cee8ff; +} + +.bq { + margin-top: 4px; + margin-bottom: 4px; + padding: 5px 5px 5px 5px; + padding-bottom: 15px; + color: inherit; + background-color: #F0F0F0; + border: 1px dashed black; + font-family: courier, courier new, monospace; + font-size: 1em; + line-height: 1.1em; + white-space: pre; + width: 90%; + overflow: auto; + overflow: scroll -moz-scrollbars-horizontal; + overflow-x: auto; +} + +/** +* Wiki text stylesheet definitions. +* @author Matthias L. Jugel +* @version $Id: SnipSnap-Theme.snip,v 1.1.2.1 2004/01/26 14:07:31 leo Exp $ +*/ + +.bold { + font-weight: bold; +} + +.italic { + font-style: italic; +} + +/************************************************/ +/* image positioning */ +img { + margin-top: 1px; + margin-bottom: 1px; + vertical-align: middle; +} + +img.left { + display: block; + left: 0px; +} + +img.right { + display: block; + right: 0px; +} + +img.center { + text-align: center; +} + +img.float-left { + float: left; + margin-top: 3px; + margin-right: 3px; + margin-bottom: 3px; +} + +img.float-right { + float: right; + margin-top: 3px; + margin-left: 3px; + margin-bottom: 3px; +} + +/* +.graph-image { + position: relative; + width: 100%; +} +*/ + +.heading-1 { + font-weight: bold; + font-size: 1.05em; + font-variant: small-caps; +} + +.heading-1-1 { + font-size: 1em; + font-variant: small-caps; +} + +.heading-1-1-1 { + font-size: 1em; +} + +.quote { + font-style: italic; + color: inherit; + background-color: inherit; + font-family: inherit; + font-size: inherit; +} + +/************************************************/ +/* code formatting */ +.code { + margin: 4px 0; + padding: 5px 15Px; + color: inherit; + border-width: 1px; + font-family: courier, courier new, monospace; + font-size: 1em; + line-height: 1.1em; + white-space: pre; + overflow: auto; + overflow: scroll -moz-scrollbars-horizontal; + overflow-x: auto; +} + +.java-keyword { + font-weight: bold; + background-color: inherit; +} + +.java-object { + background-color: inherit; +} + +.java-quote { + background-color: inherit; +} + +.xml-keyword { + font-weight: bold; +} + +.xml-tag { + color: #0000aa; + background-color: inherit; +} + +/* weblog formatting */ +.blog-date { + display: block; + background-color: #f8f8f8; + color: black; + font-family: verdana, sans-serif; + font-size: 1em; + font-weight: bold; + margin-bottom: 10px; + width: 100%; +} + +/* special formatting of a wiki table */ +.wiki-table { + border-style: solid; + border-color: black; + border-width: 0px 1px 1px 1px; + empty-cells: show; +} + +.wiki-table td { + border-top: 1px solid black; + padding: 4px 4px 4px 4px; +} + +.wiki-table th { + border-top: 1px solid black; + text-align: left; + color: inherit; + font-weight: bold; /* background-color: #DDEEFF; */ + padding: 4px 4px 4px 4px; + font-size: 1em; +} + +.wiki-table .table-odd { + color: inherit; + background-color: #F8F8F8; +} + +.wiki-table .table-even { +} + +/************************************************/ +/* list formatting */ + +.list { +} + +.list-title { + font-weight: bold; +} + +.list ul { + margin-top: 0px; + margin-bottom: 0px; + margin-left: 0px; + padding-left: 0px; + list-style-type: none; +} + +/* wiki lists */ + +ul.minus { + list-style-type: square; +} + +ul.star { + list-style-type: disc; +} + +ol.roman { + list-style-type: lower-roman; +} + +ol.ROMAN { + list-style-type: upper-roman; +} + +ol.alpha { + list-style-type: lower-alpha; +} + +ol.ALPHA { + list-style-type: upper-alpha; +} + +ol.greek { + list-style-type: lower-greek; +} + +ol.GREEK { + list-style-type: upper-greek; +} + +ol.hiragana { + list-style-type: hiragana; +} + +ol.HIRAGANA { + list-style-type: hiragana-iroha; +} + +ol.katakana { + list-style-type: katakana; +} + +ol.KATAKANA { + list-style-type: katakana-iroha; +} + +ol.HEBREW { + list-style-type: hebrew; +} + +li { + margin-top: 0.7em; +} + +/************************************************/ +/* index formatting */ +.index-top { +} + +.index-top th { + padding: 1px 1px 1px 1px; + text-align: left; + color: inherit; + font-weight: bold; + background-color: #d9e4f9; +} + +.index { +} + +.index td { + padding: 1px 1px 1px 1px; +} + +.index th { + padding: 1px 1px 1px 1px; + text-align: left; + color: inherit; + font-weight: bold; + background-color: #d9e4f9; +} + +/************************************************/ +/* calendar display */ +.calendar { + border-spacing: 0px; + font-size: 0.7em; +} + +.calendar td { + text-align: right; + padding: 0px; +} + +.calendar caption { + font-size: 1em; + text-align: left; + font-weight: bold; +} + +.calendar .today { + border: 3px solid #cccccc; +} + +/* +//////////////////////////////////////////////////////////////////////////////// +// +// CSS 3. +// +//////////////////////////////////////////////////////////////////////////////// +*/ + +.corner-all, #nav-summary #nav-summary-childs { + border-radius: 5px; + -moz-border-radius: 5px; + -webkit-border-radius: 5px; +} + +#navigation a { + border-radius: 18px; + -moz-border-radius: 18px; + -webkit-border-radius: 18px; +} + +#table-of-content a:hover, #navigation #nav-summary-childs a { + text-shadow: 0px 1px 0px rgba(255, 255, 255, 0.9); +} + +.wiki-table th strong { + text-shadow: 0px 1px 0px rgba(255, 255, 255, 0.5); +} + +#nav-summary #nav-summary-childs a:hover { + text-shadow: 0px 1px 0px rgba(0, 0, 0, 0.8); +} + +article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block} +audio,canvas,video{display:inline-block} +audio:not([controls]){display:none;height:0} +[hidden],template{display:none} +script{display:none!important} +html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%} +body{margin:0} +a{background:transparent} +a:focus{outline:thin dotted} +a:active,a:hover{outline:0} +h1{font-size:2em;margin:.67em 0} +abbr[title]{border-bottom:1px dotted} +b,strong{font-weight:bold} +dfn{font-style:italic} +hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0} +mark{background:#ff0;color:#000} +code,kbd,pre,samp{font-family:monospace;font-size:0.90rem} +pre{white-space:pre} +q{quotes:"\201C" "\201D" "\2018" "\2019"} +small{font-size:80%} +sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline} +sup{top:-.5em} +sub{bottom:-.25em} +img{border:0} +svg:not(:root){overflow:hidden} +figure{margin:0} +fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em} +legend{border:0;padding:0} +button,input,select,textarea{font-family:inherit;font-size:100%;margin:0} +button,input{line-height:normal} +button,select{text-transform:none} +button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer} +button[disabled],html input[disabled]{cursor:default} +input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0} +input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box} +input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none} +button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0} +textarea{overflow:auto;vertical-align:top} +table{border-collapse:collapse;border-spacing:0} +html,body{font-size:100%} +body{color:rgba(0,0,0,.8);padding:0;margin:0;font-family:"Noto Serif","DejaVu Serif",serif;font-weight:400;font-style:normal;line-height:1;position:relative;cursor:auto} +a:hover{cursor:pointer} +img,object,embed{max-width:100%;height:auto} +object,embed{height:100%} +img{-ms-interpolation-mode:bicubic} +.left{float:left!important} +.right{float:right!important} +.text-left{text-align:left!important} +.text-right{text-align:right!important} +.text-center{text-align:center!important} +.text-justify{text-align:justify!important} +.hide{display:none} +body{-webkit-font-smoothing:antialiased} +img,object,svg{display:inline-block;vertical-align:middle} +textarea{height:auto;min-height:50px} +select{width:100%} +.center{margin-left:auto;margin-right:auto} +.spread{width:100%} +p.lead,.paragraph.lead>p,#preamble>.sectionbody>.paragraph:first-of-type p{font-size:1.21875em;line-height:1.6} +.subheader,.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{line-height:1.45;color:#7a2518;font-weight:400;margin-top:0;margin-bottom:.25em} +div,dl,dt,dd,ul,ol,li,h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6,pre,form,p,blockquote,th,td{margin:0;padding:0;direction:ltr} +a{color:#2156a5;text-decoration:underline;line-height:inherit} +a:hover,a:focus{color:#1d4b8f} +a img{border:none} +p{font-family:inherit;font-weight:400;font-size:1em;line-height:1.6;margin-bottom:1.25em;text-rendering:optimizeLegibility} +p aside{font-size:.875em;line-height:1.35;font-style:italic} +h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{font-family:"Open Sans","DejaVu Sans",sans-serif;font-weight:300;font-style:normal;color:#ba3925;text-rendering:optimizeLegibility;margin-top:1em;margin-bottom:.5em;line-height:1.0125em} +h1 small,h2 small,h3 small,#toctitle small,.sidebarblock>.content>.title small,h4 small,h5 small,h6 small{font-size:60%;color:#e99b8f;line-height:0} +h1{font-size:2.125em} +h2{font-size:1.6875em} +h3,#toctitle,.sidebarblock>.content>.title{font-size:1.375em} +h4,h5{font-size:1.125em} +h6{font-size:1em} +hr{border:solid #ddddd8;border-width:1px 0 0;clear:both;margin:1.25em 0 1.1875em;height:0} +em,i{font-style:italic;line-height:inherit} +strong,b{font-weight:bold;line-height:inherit} +small{font-size:60%;line-height:inherit} +code{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;color:rgba(0,0,0,.9)} +ul,ol,dl{font-size:1em;line-height:1.6;margin-bottom:1.25em;list-style-position:outside;font-family:inherit} +ul,ol,ul.no-bullet,ol.no-bullet{margin-left:1.5em} +ul li ul,ul li ol{margin-left:1.25em;margin-bottom:0;font-size:1em} +ul.square li ul,ul.circle li ul,ul.disc li ul{list-style:inherit} +ul.square{list-style-type:square} +ul.circle{list-style-type:circle} +ul.disc{list-style-type:disc} +ul.no-bullet{list-style:none} +ol li ul,ol li ol{margin-left:1.25em;margin-bottom:0} +dl dt{margin-bottom:.3125em;font-weight:bold} +dl dd{margin-bottom:1.25em} +abbr,acronym{text-transform:uppercase;font-size:90%;color:rgba(0,0,0,.8);border-bottom:1px dotted #ddd;cursor:help} +abbr{text-transform:none} +blockquote{margin:0 0 1.25em;padding:.5625em 1.25em 0 1.1875em;border-left:1px solid #ddd} +blockquote cite{display:block;font-size:.9375em;color:rgba(0,0,0,.6)} +blockquote cite:before{content:"\2014 \0020"} +blockquote cite a,blockquote cite a:visited{color:rgba(0,0,0,.6)} +blockquote,blockquote p{line-height:1.6;color:rgba(0,0,0,.85)} +@media only screen and (min-width:768px){h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2} + h1{font-size:2.75em} + h2{font-size:2.3125em} + h3,#toctitle,.sidebarblock>.content>.title{font-size:1.6875em} + h4{font-size:1.4375em}} +table{margin-bottom:1.25em;border:solid 1px #dedede} +table thead,table tfoot{background:#f7f8f7;font-weight:bold} +table thead tr th,table thead tr td,table tfoot tr th,table tfoot tr td{padding:.5em .625em .625em;font-size:inherit;color:rgba(0,0,0,.8);text-align:left} +table tr th,table tr td{padding:.5625em .625em;font-size:inherit;color:rgba(0,0,0,.8)} +table tr.even,table tr.alt,table tr:nth-of-type(even){background:#f8f8f7} +table thead tr th,table tfoot tr th,table tbody tr td,table tr td,table tfoot tr td{display:table-cell;line-height:1.6} +body{tab-size:4} +h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2;word-spacing:-.05em} +h1 strong,h2 strong,h3 strong,#toctitle strong,.sidebarblock>.content>.title strong,h4 strong,h5 strong,h6 strong{font-weight:400} +.clearfix:before,.clearfix:after,.float-group:before,.float-group:after{content:" ";display:table} +.clearfix:after,.float-group:after{clear:both} +*:not(pre)>code{font-size:.9375em;font-style:normal!important;letter-spacing:0;padding:.1em .5ex;word-spacing:-.15em;background-color:#f7f7f8;-webkit-border-radius:4px;border-radius:4px;line-height:1.45;text-rendering:optimizeSpeed} +pre,pre>code{line-height:1.45;color:rgba(0,0,0,.9);font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;text-rendering:optimizeSpeed} +.keyseq{color:rgba(51,51,51,.8)} +kbd{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;display:inline-block;color:rgba(0,0,0,.8);font-size:.65em;line-height:1.45;background-color:#f7f7f7;border:1px solid #ccc;-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em white inset;box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em #fff inset;margin:0 .15em;padding:.2em .5em;vertical-align:middle;position:relative;top:-.1em;white-space:nowrap} +.keyseq kbd:first-child{margin-left:0} +.keyseq kbd:last-child{margin-right:0} +.menuseq,.menu{color:rgba(0,0,0,.8)} +b.button:before,b.button:after{position:relative;top:-1px;font-weight:400} +b.button:before{content:"[";padding:0 3px 0 2px} +b.button:after{content:"]";padding:0 2px 0 3px} +p a>code:hover{color:rgba(0,0,0,.9)} +#header,#content,#footnotes,#footer{width:100%;margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;max-width:62.5em;*zoom:1;position:relative;padding-left:.9375em;padding-right:.9375em} +#header:before,#header:after,#content:before,#content:after,#footnotes:before,#footnotes:after,#footer:before,#footer:after{content:" ";display:table} +#header:after,#content:after,#footnotes:after,#footer:after{clear:both} +#content{margin-top:1.25em} +#content:before{content:none} +#header>h1:first-child{color:rgba(0,0,0,.85);margin-top:2.25rem;margin-bottom:0} +#header>h1:first-child+#toc{margin-top:8px;border-top:1px solid #ddddd8} +#header>h1:only-child,body.toc2 #header>h1:nth-last-child(2){border-bottom:1px solid #ddddd8;padding-bottom:8px} +#header .details{border-bottom:1px solid #ddddd8;line-height:1.45;padding-top:.25em;padding-bottom:.25em;padding-left:.25em;color:rgba(0,0,0,.6);display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-flow:row wrap;-webkit-flex-flow:row wrap;flex-flow:row wrap} +#header .details span:first-child{margin-left:-.125em} +#header .details span.email a{color:rgba(0,0,0,.85)} +#header .details br{display:none} +#header .details br+span:before{content:"\00a0\2013\00a0"} +#header .details br+span.author:before{content:"\00a0\22c5\00a0";color:rgba(0,0,0,.85)} +#header .details br+span#revremark:before{content:"\00a0|\00a0"} +#header #revnumber{text-transform:capitalize} +#header #revnumber:after{content:"\00a0"} +#content>h1:first-child:not([class]){color:rgba(0,0,0,.85);border-bottom:1px solid #ddddd8;padding-bottom:8px;margin-top:0;padding-top:1rem;margin-bottom:1.25rem} +#toc{border-bottom:1px solid #efefed;padding-bottom:.5em} +#toc>ul{margin-left:.125em} +#toc ul.sectlevel0>li>a{font-style:italic} +#toc ul.sectlevel0 ul.sectlevel1{margin:.5em 0} +#toc ul{font-family:"Open Sans","DejaVu Sans",sans-serif;list-style-type:none} +#toc li{line-height:1.3334;margin-top:.3334em} +#toc a{text-decoration:none} +#toc a:active{text-decoration:underline} +#toctitle{color:#7a2518;font-size:1.2em} +@media only screen and (min-width:768px){#toctitle{font-size:1.375em} + body.toc2{padding-left:15em;padding-right:0} + #toc.toc2{margin-top:0!important;background-color:#f8f8f7;position:fixed;width:15em;left:0;top:0;border-right:1px solid #efefed;border-top-width:0!important;border-bottom-width:0!important;z-index:1000;padding:1.25em 1em;height:100%;overflow:auto} + #toc.toc2 #toctitle{margin-top:0;margin-bottom:.8rem;font-size:1.2em} + #toc.toc2>ul{font-size:.9em;margin-bottom:0} + #toc.toc2 ul ul{margin-left:0;padding-left:1em} + #toc.toc2 ul.sectlevel0 ul.sectlevel1{padding-left:0;margin-top:.5em;margin-bottom:.5em} + body.toc2.toc-right{padding-left:0;padding-right:15em} + body.toc2.toc-right #toc.toc2{border-right-width:0;border-left:1px solid #efefed;left:auto;right:0}} +@media only screen and (min-width:1280px){body.toc2{padding-left:20em;padding-right:0} + #toc.toc2{width:20em} + #toc.toc2 #toctitle{font-size:1.375em} + #toc.toc2>ul{font-size:.95em} + #toc.toc2 ul ul{padding-left:1.25em} + body.toc2.toc-right{padding-left:0;padding-right:20em}} +#content #toc{border-style:solid;border-width:1px;border-color:#e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;-webkit-border-radius:4px;border-radius:4px} +#content #toc>:first-child{margin-top:0} +#content #toc>:last-child{margin-bottom:0} +#footer{max-width:100%;background-color:rgba(0,0,0,.8);padding:1.25em} +#footer-text{color:rgba(255,255,255,.8);line-height:1.44} +.sect1{padding-bottom:.625em} +@media only screen and (min-width:768px){.sect1{padding-bottom:1.25em}} +.sect1+.sect1{border-top:1px solid #efefed} +#content h1>a.anchor,h2>a.anchor,h3>a.anchor,#toctitle>a.anchor,.sidebarblock>.content>.title>a.anchor,h4>a.anchor,h5>a.anchor,h6>a.anchor{position:absolute;z-index:1001;width:1.5ex;margin-left:-1.5ex;display:block;text-decoration:none!important;visibility:hidden;text-align:center;font-weight:400} +#content h1>a.anchor:before,h2>a.anchor:before,h3>a.anchor:before,#toctitle>a.anchor:before,.sidebarblock>.content>.title>a.anchor:before,h4>a.anchor:before,h5>a.anchor:before,h6>a.anchor:before{content:"\00A7";font-size:.85em;display:block;padding-top:.1em} +#content h1:hover>a.anchor,#content h1>a.anchor:hover,h2:hover>a.anchor,h2>a.anchor:hover,h3:hover>a.anchor,#toctitle:hover>a.anchor,.sidebarblock>.content>.title:hover>a.anchor,h3>a.anchor:hover,#toctitle>a.anchor:hover,.sidebarblock>.content>.title>a.anchor:hover,h4:hover>a.anchor,h4>a.anchor:hover,h5:hover>a.anchor,h5>a.anchor:hover,h6:hover>a.anchor,h6>a.anchor:hover{visibility:visible} +#content h1>a.link,h2>a.link,h3>a.link,#toctitle>a.link,.sidebarblock>.content>.title>a.link,h4>a.link,h5>a.link,h6>a.link{color:#ba3925;text-decoration:none} +#content h1>a.link:hover,h2>a.link:hover,h3>a.link:hover,#toctitle>a.link:hover,.sidebarblock>.content>.title>a.link:hover,h4>a.link:hover,h5>a.link:hover,h6>a.link:hover{color:#a53221} +.audioblock,.imageblock,.literalblock,.listingblock,.stemblock,.videoblock{margin-bottom:1.25em} +.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{text-rendering:optimizeLegibility;text-align:left;font-family:"Noto Serif","DejaVu Serif",serif;font-size:1rem;font-style:italic} +table.tableblock>caption.title{white-space:nowrap;overflow:visible;max-width:0} +.paragraph.lead>p,#preamble>.sectionbody>.paragraph:first-of-type p{color:rgba(0,0,0,.85)} +table.tableblock #preamble>.sectionbody>.paragraph:first-of-type p{font-size:inherit} +.admonitionblock>table{border-collapse:separate;border:0;background:none;width:100%} +.admonitionblock>table td.icon{text-align:center;width:70px} +.admonitionblock>table td.icon img{max-width:none} +.admonitionblock>table td.icon .title{font-weight:bold;font-family:"Open Sans","DejaVu Sans",sans-serif;text-transform:uppercase} +.admonitionblock>table td.content{padding-left:1.125em;padding-right:1.25em;border-left:1px solid #ddddd8;color:rgba(0,0,0,.6)} +.admonitionblock>table td.content>:last-child>:last-child{margin-bottom:0} +.exampleblock>.content{border-style:solid;border-width:1px;border-color:#e6e6e6;margin-bottom:1.25em;padding:1.25em;background:#fff;-webkit-border-radius:4px;border-radius:4px} +.exampleblock>.content>:first-child{margin-top:0} +.exampleblock>.content>:last-child{margin-bottom:0} +.sidebarblock{border-style:solid;border-width:1px;border-color:#e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;-webkit-border-radius:4px;border-radius:4px} +.sidebarblock>:first-child{margin-top:0} +.sidebarblock>:last-child{margin-bottom:0} +.sidebarblock>.content>.title{color:#7a2518;margin-top:0;text-align:center} +.exampleblock>.content>:last-child>:last-child,.exampleblock>.content .olist>ol>li:last-child>:last-child,.exampleblock>.content .ulist>ul>li:last-child>:last-child,.exampleblock>.content .qlist>ol>li:last-child>:last-child,.sidebarblock>.content>:last-child>:last-child,.sidebarblock>.content .olist>ol>li:last-child>:last-child,.sidebarblock>.content .ulist>ul>li:last-child>:last-child,.sidebarblock>.content .qlist>ol>li:last-child>:last-child{margin-bottom:0} +.literalblock pre,.listingblock pre:not(.highlight),.listingblock pre[class="highlight"],.listingblock pre[class^="highlight "],.listingblock pre.CodeRay,.listingblock pre.prettyprint{background:#f7f7f8} +.sidebarblock .literalblock pre,.sidebarblock .listingblock pre:not(.highlight),.sidebarblock .listingblock pre[class="highlight"],.sidebarblock .listingblock pre[class^="highlight "],.sidebarblock .listingblock pre.CodeRay,.sidebarblock .listingblock pre.prettyprint{background:#f2f1f1} +.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{-webkit-border-radius:4px;border-radius:4px;word-wrap:break-word;padding:1em;font-size:.8125em} +.literalblock pre.nowrap,.literalblock pre[class].nowrap,.listingblock pre.nowrap,.listingblock pre[class].nowrap{overflow-x:auto;white-space:pre;word-wrap:normal} +@media only screen and (min-width:768px){.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{font-size:.90625em}} +@media only screen and (min-width:1280px){.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{font-size:1em}} +.literalblock.output pre{color:#f7f7f8;background-color:rgba(0,0,0,.9)} +.listingblock pre.highlightjs{padding:0} +.listingblock pre.highlightjs>code{padding:1em;-webkit-border-radius:4px;border-radius:4px} +.listingblock pre.prettyprint{border-width:0} +.listingblock>.content{position:relative} +.listingblock code[data-lang]:before{display:none;content:attr(data-lang);position:absolute;font-size:.75em;top:.425rem;right:.5rem;line-height:1;text-transform:uppercase;color:#999} +.listingblock:hover code[data-lang]:before{display:block} +.listingblock.terminal pre .command:before{content:attr(data-prompt);padding-right:.5em;color:#999} +.listingblock.terminal pre .command:not([data-prompt]):before{content:"$"} +table.pyhltable{border-collapse:separate;border:0;margin-bottom:0;background:none} +table.pyhltable td{vertical-align:top;padding-top:0;padding-bottom:0;line-height:1.45} +table.pyhltable td.code{padding-left:.75em;padding-right:0} +pre.pygments .lineno,table.pyhltable td:not(.code){color:#999;padding-left:0;padding-right:.5em;border-right:1px solid #ddddd8} +pre.pygments .lineno{display:inline-block;margin-right:.25em} +table.pyhltable .linenodiv{background:none!important;padding-right:0!important} +.quoteblock{margin:0 1em 1.25em 1.5em;display:table} +.quoteblock>.title{margin-left:-1.5em;margin-bottom:.75em} +.quoteblock blockquote,.quoteblock blockquote p{color:rgba(0,0,0,.85);font-size:1.15rem;line-height:1.75;word-spacing:.1em;letter-spacing:0;font-style:italic;text-align:justify} +.quoteblock blockquote{margin:0;padding:0;border:0} +.quoteblock blockquote:before{content:"\201c";float:left;font-size:2.75em;font-weight:bold;line-height:.6em;margin-left:-.6em;color:#7a2518;text-shadow:0 1px 2px rgba(0,0,0,.1)} +.quoteblock blockquote>.paragraph:last-child p{margin-bottom:0} +.quoteblock .attribution{margin-top:.5em;margin-right:.5ex;text-align:right} +.quoteblock .quoteblock{margin-left:0;margin-right:0;padding:.5em 0;border-left:3px solid rgba(0,0,0,.6)} +.quoteblock .quoteblock blockquote{padding:0 0 0 .75em} +.quoteblock .quoteblock blockquote:before{display:none} +.verseblock{margin:0 1em 1.25em 1em} +.verseblock pre{font-family:"Open Sans","DejaVu Sans",sans;font-size:1.15rem;color:rgba(0,0,0,.85);font-weight:300;text-rendering:optimizeLegibility} +.verseblock pre strong{font-weight:400} +.verseblock .attribution{margin-top:1.25rem;margin-left:.5ex} +.quoteblock .attribution,.verseblock .attribution{font-size:.9375em;line-height:1.45;font-style:italic} +.quoteblock .attribution br,.verseblock .attribution br{display:none} +.quoteblock .attribution cite,.verseblock .attribution cite{display:block;letter-spacing:-.025em;color:rgba(0,0,0,.6)} +.quoteblock.abstract{margin:0 0 1.25em 0;display:block} +.quoteblock.abstract blockquote,.quoteblock.abstract blockquote p{text-align:left;word-spacing:0} +.quoteblock.abstract blockquote:before,.quoteblock.abstract blockquote p:first-of-type:before{display:none} +table.tableblock{max-width:100%;border-collapse:separate} +table.tableblock td>.paragraph:last-child p>p:last-child,table.tableblock th>p:last-child,table.tableblock td>p:last-child{margin-bottom:0} +table.tableblock,th.tableblock,td.tableblock{border:0 solid #dedede} +table.grid-all th.tableblock,table.grid-all td.tableblock{border-width:0 1px 1px 0} +table.grid-all tfoot>tr>th.tableblock,table.grid-all tfoot>tr>td.tableblock{border-width:1px 1px 0 0} +table.grid-cols th.tableblock,table.grid-cols td.tableblock{border-width:0 1px 0 0} +table.grid-all *>tr>.tableblock:last-child,table.grid-cols *>tr>.tableblock:last-child{border-right-width:0} +table.grid-rows th.tableblock,table.grid-rows td.tableblock{border-width:0 0 1px 0} +table.grid-all tbody>tr:last-child>th.tableblock,table.grid-all tbody>tr:last-child>td.tableblock,table.grid-all thead:last-child>tr>th.tableblock,table.grid-rows tbody>tr:last-child>th.tableblock,table.grid-rows tbody>tr:last-child>td.tableblock,table.grid-rows thead:last-child>tr>th.tableblock{border-bottom-width:0} +table.grid-rows tfoot>tr>th.tableblock,table.grid-rows tfoot>tr>td.tableblock{border-width:1px 0 0 0} +table.frame-all{border-width:1px} +table.frame-sides{border-width:0 1px} +table.frame-topbot{border-width:1px 0} +th.halign-left,td.halign-left{text-align:left} +th.halign-right,td.halign-right{text-align:right} +th.halign-center,td.halign-center{text-align:center} +th.valign-top,td.valign-top{vertical-align:top} +th.valign-bottom,td.valign-bottom{vertical-align:bottom} +th.valign-middle,td.valign-middle{vertical-align:middle} +table thead th,table tfoot th{font-weight:bold} +tbody tr th{display:table-cell;line-height:1.6;background:#f7f8f7} +tbody tr th,tbody tr th p,tfoot tr th,tfoot tr th p{color:rgba(0,0,0,.8);font-weight:bold} +p.tableblock>code:only-child{background:none;padding:0} +p.tableblock{font-size:1em} +td>div.verse{white-space:pre} +ol{margin-left:1.75em} +ul li ol{margin-left:1.5em} +dl dd{margin-left:1.125em} +dl dd:last-child,dl dd:last-child>:last-child{margin-bottom:0} +ol>li p,ul>li p,ul dd,ol dd,.olist .olist,.ulist .ulist,.ulist .olist,.olist .ulist{margin-bottom:.625em} +ul.unstyled,ol.unnumbered,ul.checklist,ul.none{list-style-type:none} +ul.unstyled,ol.unnumbered,ul.checklist{margin-left:.625em} +ul.checklist li>p:first-child>.fa-square-o:first-child,ul.checklist li>p:first-child>.fa-check-square-o:first-child{width:1em;font-size:.85em} +ul.checklist li>p:first-child>input[type="checkbox"]:first-child{width:1em;position:relative;top:1px} +ul.inline{margin:0 auto .625em auto;margin-left:-1.375em;margin-right:0;padding:0;list-style:none;overflow:hidden} +ul.inline>li{list-style:none;float:left;margin-left:1.375em;display:block} +ul.inline>li>*{display:block} +.unstyled dl dt{font-weight:400;font-style:normal} +ol.arabic{list-style-type:decimal} +ol.decimal{list-style-type:decimal-leading-zero} +ol.loweralpha{list-style-type:lower-alpha} +ol.upperalpha{list-style-type:upper-alpha} +ol.lowerroman{list-style-type:lower-roman} +ol.upperroman{list-style-type:upper-roman} +ol.lowergreek{list-style-type:lower-greek} +.hdlist>table,.colist>table{border:0;background:none} +.hdlist>table>tbody>tr,.colist>table>tbody>tr{background:none} +td.hdlist1,td.hdlist2{vertical-align:top;padding:0 .625em} +td.hdlist1{font-weight:bold;padding-bottom:1.25em} +.literalblock+.colist,.listingblock+.colist{margin-top:-.5em} +.colist>table tr>td:first-of-type{padding:0 .75em;line-height:1} +.colist>table tr>td:last-of-type{padding:.25em 0} +.thumb,.th{line-height:0;display:inline-block;border:solid 4px #fff;-webkit-box-shadow:0 0 0 1px #ddd;box-shadow:0 0 0 1px #ddd} +.imageblock.left,.imageblock[style*="float: left"]{margin:.25em .625em 1.25em 0} +.imageblock.right,.imageblock[style*="float: right"]{margin:.25em 0 1.25em .625em} +.imageblock>.title{margin-bottom:0} +.imageblock.thumb,.imageblock.th{border-width:6px} +.imageblock.thumb>.title,.imageblock.th>.title{padding:0 .125em} +.image.left,.image.right{margin-top:.25em;margin-bottom:.25em;display:inline-block;line-height:0} +.image.left{margin-right:.625em} +.image.right{margin-left:.625em} +a.image{text-decoration:none;display:inline-block} +a.image object{pointer-events:none} +sup.footnote,sup.footnoteref{font-size:.875em;position:static;vertical-align:super} +sup.footnote a,sup.footnoteref a{text-decoration:none} +sup.footnote a:active,sup.footnoteref a:active{text-decoration:underline} +#footnotes{padding-top:.75em;padding-bottom:.75em;margin-bottom:.625em} +#footnotes hr{width:20%;min-width:6.25em;margin:-.25em 0 .75em 0;border-width:1px 0 0 0} +#footnotes .footnote{padding:0 .375em 0 .225em;line-height:1.3334;font-size:.875em;margin-left:1.2em;text-indent:-1.05em;margin-bottom:.2em} +#footnotes .footnote a:first-of-type{font-weight:bold;text-decoration:none} +#footnotes .footnote:last-of-type{margin-bottom:0} +#content #footnotes{margin-top:-.625em;margin-bottom:0;padding:.75em 0} +.gist .file-data>table{border:0;background:#fff;width:100%;margin-bottom:0} +.gist .file-data>table td.line-data{width:99%} +div.unbreakable{page-break-inside:avoid} +.big{font-size:larger} +.small{font-size:smaller} +.underline{text-decoration:underline} +.overline{text-decoration:overline} +.line-through{text-decoration:line-through} +.aqua{color:#00bfbf} +.aqua-background{background-color:#00fafa} +.black{color:#000} +.black-background{background-color:#000} +.blue{color:#0000bf} +.blue-background{background-color:#0000fa} +.fuchsia{color:#bf00bf} +.fuchsia-background{background-color:#fa00fa} +.gray{color:#606060} +.gray-background{background-color:#7d7d7d} +.green{color:#006000} +.green-background{background-color:#007d00} +.lime{color:#00bf00} +.lime-background{background-color:#00fa00} +.maroon{color:#600000} +.maroon-background{background-color:#7d0000} +.navy{color:#000060} +.navy-background{background-color:#00007d} +.olive{color:#606000} +.olive-background{background-color:#7d7d00} +.purple{color:#600060} +.purple-background{background-color:#7d007d} +.red{color:#bf0000} +.red-background{background-color:#fa0000} +.silver{color:#909090} +.silver-background{background-color:#bcbcbc} +.teal{color:#006060} +.teal-background{background-color:#007d7d} +.white{color:#bfbfbf} +.white-background{background-color:#fafafa} +.yellow{color:#bfbf00} +.yellow-background{background-color:#fafa00} +span.icon>.fa{cursor:default} +.admonitionblock td.icon [class^="fa icon-"]{font-size:2.5em;text-shadow:1px 1px 2px rgba(0,0,0,.5);cursor:default} +.admonitionblock td.icon .icon-note:before{content:"\f05a";color:#19407c} +.admonitionblock td.icon .icon-tip:before{content:"\f0eb";text-shadow:1px 1px 2px rgba(155,155,0,.8);color:#111} +.admonitionblock td.icon .icon-warning:before{content:"\f071";color:#f1c102} +.admonitionblock td.icon .icon-caution:before{content:"\f06d";color:#bf3400} +.admonitionblock td.icon .icon-important:before{content:"\f06a";color:#bf0000} +.conum[data-value]{display:inline-block;color:#fff!important;background-color:rgba(0,0,0,.8);-webkit-border-radius:100px;border-radius:100px;text-align:center;font-size:.75em;width:1.67em;height:1.67em;line-height:1.67em;font-family:"Open Sans","DejaVu Sans",sans-serif;font-style:normal;font-weight:bold} +.conum[data-value] *{color:#fff!important} +.conum[data-value]+b{display:none} +.conum[data-value]:after{content:attr(data-value)} +pre .conum[data-value]{position:relative;top:-.125em} +b.conum *{color:inherit!important} +.conum:not([data-value]):empty{display:none} +dt,th.tableblock,td.content,div.footnote{text-rendering:optimizeLegibility} +h1,h2,p,td.content,span.alt{letter-spacing:-.01em} +p strong,td.content strong,div.footnote strong{letter-spacing:-.005em} +p,blockquote,dt,td.content,span.alt{font-size:1.0rem} +p{margin-bottom:1.25rem} +.sidebarblock p,.sidebarblock dt,.sidebarblock td.content,p.tableblock{font-size:1em} +.exampleblock>.content{background-color:#fffef7;border-color:#e0e0dc;-webkit-box-shadow:0 1px 4px #e0e0dc;box-shadow:0 1px 4px #e0e0dc} +.print-only{display:none!important} +@media print{@page{margin:1.25cm .75cm} + *{-webkit-box-shadow:none!important;box-shadow:none!important;text-shadow:none!important} + a{color:inherit!important;text-decoration:underline!important} + a.bare,a[href^="#"],a[href^="mailto:"]{text-decoration:none!important} + a[href^="http:"]:not(.bare):after,a[href^="https:"]:not(.bare):after{content:"(" attr(href) ")";display:inline-block;font-size:.875em;padding-left:.25em} + abbr[title]:after{content:" (" attr(title) ")"} + pre,blockquote,tr,img,object,svg{page-break-inside:avoid} + thead{display:table-header-group} + svg{max-width:100%} + p,blockquote,dt,td.content{font-size:1em;orphans:3;widows:3} + h2,h3,#toctitle,.sidebarblock>.content>.title{page-break-after:avoid} + #toc,.sidebarblock,.exampleblock>.content{background:none!important} + #toc{border-bottom:1px solid #ddddd8!important;padding-bottom:0!important} + .sect1{padding-bottom:0!important} + .sect1+.sect1{border:0!important} + #header>h1:first-child{margin-top:1.25rem} + body.book #header{text-align:center} + body.book #header>h1:first-child{border:0!important;margin:2.5em 0 1em 0} + body.book #header .details{border:0!important;display:block;padding:0!important} + body.book #header .details span:first-child{margin-left:0!important} + body.book #header .details br{display:block} + body.book #header .details br+span:before{content:none!important} + body.book #toc{border:0!important;text-align:left!important;padding:0!important;margin:0!important} + body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-break-before:always} + .listingblock code[data-lang]:before{display:block} + #footer{background:none!important;padding:0 .9375em} + #footer-text{color:rgba(0,0,0,.6)!important;font-size:.9em} + .hide-on-print{display:none!important} + .print-only{display:block!important} + .hide-for-print{display:none!important} + .show-for-print{display:inherit!important}} + /* Stylesheet for CodeRay to match GitHub theme | MIT License | http://foundation.zurb.com */ + /*pre.CodeRay {background-color:#f7f7f8;}*/ + .CodeRay .line-numbers{border-right:1px solid #d8d8d8;padding:0 0.5em 0 .25em} +.CodeRay span.line-numbers{display:inline-block;margin-right:.5em;color:rgba(0,0,0,.3)} +.CodeRay .line-numbers strong{color:rgba(0,0,0,.4)} +table.CodeRay{border-collapse:separate;border-spacing:0;margin-bottom:0;border:0;background:none} +table.CodeRay td{vertical-align: top;line-height:1.45} +table.CodeRay td.line-numbers{text-align:right} +table.CodeRay td.line-numbers>pre{padding:0;color:rgba(0,0,0,.3)} +table.CodeRay td.code{padding:0 0 0 .5em} +table.CodeRay td.code>pre{padding:0} +.CodeRay .debug{color:#fff !important;background:#000080 !important} +.CodeRay .annotation{color:#007} +.CodeRay .attribute-name{color:#000080} +.CodeRay .attribute-value{color:#700} +.CodeRay .binary{color:#509} +.CodeRay .comment{color:#998;font-style:italic} +.CodeRay .char{color:#04d} +.CodeRay .char .content{color:#04d} +.CodeRay .char .delimiter{color:#039} +.CodeRay .class{color:#458;font-weight:bold} +.CodeRay .complex{color:#a08} +.CodeRay .constant,.CodeRay .predefined-constant{color:#008080} +.CodeRay .color{color:#099} +.CodeRay .class-variable{color:#369} +.CodeRay .decorator{color:#b0b} +.CodeRay .definition{color:#099} +.CodeRay .delimiter{color:#000} +.CodeRay .doc{color:#970} +.CodeRay .doctype{color:#34b} +.CodeRay .doc-string{color:#d42} +.CodeRay .escape{color:#666} +.CodeRay .entity{color:#800} +.CodeRay .error{color:#808} +.CodeRay .exception{color:inherit} +.CodeRay .filename{color:#099} +.CodeRay .function{color:#900;font-weight:bold} +.CodeRay .global-variable{color:#008080} +.CodeRay .hex{color:#058} +.CodeRay .integer,.CodeRay .float{color:#099} +.CodeRay .include{color:#555} +.CodeRay .inline{color:#000} +.CodeRay .inline .inline{background:#ccc} +.CodeRay .inline .inline .inline{background:#bbb} +.CodeRay .inline .inline-delimiter{color:#d14} +.CodeRay .inline-delimiter{color:#d14} +.CodeRay .important{color:#555;font-weight:bold} +.CodeRay .interpreted{color:#b2b} +.CodeRay .instance-variable{color:#008080} +.CodeRay .label{color:#970} +.CodeRay .local-variable{color:#963} +.CodeRay .octal{color:#40e} +.CodeRay .predefined{color:#369} +.CodeRay .preprocessor{color:#579} +.CodeRay .pseudo-class{color:#555} +.CodeRay .directive{font-weight:bold} +.CodeRay .type{font-weight:bold} +.CodeRay .predefined-type{color:inherit} +.CodeRay .reserved,.CodeRay .keyword {color:#000;font-weight:bold} +.CodeRay .key{color:#808} +.CodeRay .key .delimiter{color:#606} +.CodeRay .key .char{color:#80f} +.CodeRay .value{color:#088} +.CodeRay .regexp .delimiter{color:#808} +.CodeRay .regexp .content{color:#808} +.CodeRay .regexp .modifier{color:#808} +.CodeRay .regexp .char{color:#d14} +.CodeRay .regexp .function{color:#404;font-weight:bold} +.CodeRay .string{color:#d20} +.CodeRay .string .string .string{background:#ffd0d0} +.CodeRay .string .content{color:#d14} +.CodeRay .string .char{color:#d14} +.CodeRay .string .delimiter{color:#d14} +.CodeRay .shell{color:#d14} +.CodeRay .shell .delimiter{color:#d14} +.CodeRay .symbol{color:#990073} +.CodeRay .symbol .content{color:#a60} +.CodeRay .symbol .delimiter{color:#630} +.CodeRay .tag{color:#008080} +.CodeRay .tag-special{color:#d70} +.CodeRay .variable{color:#036} +.CodeRay .insert{background:#afa} +.CodeRay .delete{background:#faa} +.CodeRay .change{color:#aaf;background:#007} +.CodeRay .head{color:#f8f;background:#505} +.CodeRay .insert .insert{color:#080} +.CodeRay .delete .delete{color:#800} +.CodeRay .change .change{color:#66f} +.CodeRay .head .head{color:#f4f} \ No newline at end of file diff --git a/4.8.1/css/menu.css b/4.8.1/css/menu.css new file mode 100644 index 00000000..ace229e5 --- /dev/null +++ b/4.8.1/css/menu.css @@ -0,0 +1,17 @@ +.menuItem { + font-family:Tahoma, Verdana, Arial; + font-weight: normal; + font-size:95%; +} +.menuTitle { + font-size:85%; + font-family:Tahoma, Verdana, Arial; +} +.menuUsageItem { + font-size:95%; + font-family:Tahoma, Verdana, Arial; + margin-bottom:10px; +} +.menuUsageItem a { + text-decoration: none; +} \ No newline at end of file diff --git a/4.8.1/css/multi-language-sample.css b/4.8.1/css/multi-language-sample.css new file mode 100644 index 00000000..706cb6d0 --- /dev/null +++ b/4.8.1/css/multi-language-sample.css @@ -0,0 +1,218 @@ +.exampleblock > .content { + background-color: inherit; + border: 0 none; + box-shadow: none; + padding: 0; +} + +.exampleblock > .content .title { + background-color: #f7f7f8; + border-top: 1px solid #ccc; + font-family: 'Inconsolata', monospace; + margin: 0; + padding: 1em 1em 0; +} + +.exampleblock .listingblock { + margin: 0; +} + +/* Multi-language selection */ + +.multi-language-selector .language-option[data-lang='gradle'], +.multi-language-selector .language-option[data-lang='gradle-groovy'], +.multi-language-selector .language-option[data-lang='gradle-kotlin'], +.multi-language-selector .language-option[data-lang='yaml'], +.multi-language-selector .language-option[data-lang='toml'], +.multi-language-selector .language-option[data-lang='hocon'], +.multi-language-selector .language-option[data-lang='properties'], +.multi-language-selector .language-option[data-lang='groovy-config'], +.exampleblock[data-lang=gradle] > .content .title, +.exampleblock[data-lang=gradle-groovy] > .content .title, +.exampleblock[data-lang=gradle-kotlin] > .content .title, +.exampleblock[data-lang=yaml] > .content .title, +.exampleblock[data-lang=toml] > .content .title, +.exampleblock[data-lang=hocon] > .content .title, +.exampleblock[data-lang=properties] > .content .title, { + background-image: url('data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTE1LjYgMTExIiB3aWR0aD0iMjUwMCIgaGVpZ2h0PSI1MzgiPjxzdHlsZT4uc3Qwe2ZpbGw6IzAyMzAzYX0uc3Qxe2ZpbGw6IzIyZGEyN30uc3Qye2ZpbGw6I2ZmZn08L3N0eWxlPjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0xNzMuNSA0NC45YzQtOS4yIDMuOS0xOC4zIDEuNS0yNS41LTMtOC44LTE1LjMtMjAuNC0xOS4yLTE1LjgtLjUuNi03LjYtLjItOC43IDEuMy0xLjcgMi4yLS43IDIuOS4xIDMuNyAyLjUgMi4yIDguOCA0LjYgMTEuNyAxMi4xIDEuMiAzLjIgNCAxMC42LS45IDE1LjEtNS41IDUtMTEuNyA2LjItMzcuMS0xNy40QzkzLjktNi43IDU3LjcgMy41IDQ1LjcgNy41cy0xNy41IDgtMTIuOCAxNy4yYzYuNCAxMi42IDQuMyA4LjcgMTAuNiAxOS4xIDkuOSAxNi41IDMxLjctNy42IDMxLjctNy42LTE2LjIgMjQuNC0zMC4xIDE4LjUtMzUuNCAxMC00LjgtNy43LTguNS0xNi41LTguNS0xNi41LTQxIDE0LjgtMjkuOSA4MC0yOS45IDgwaDIwLjRjNS4yLTI0IDIzLjgtMjMuMSAyNi45IDBoMTUuNWMxMy43LTQ2LjkgNDMuMSAwIDQzLjEgMGgxNy40YzAtMjUtMi42LTM0LjQgMTAuMi0zNi4yIDIxLjgtMi45IDMyLTEzLjEgMzguNi0yOC42eiIvPjxwYXRoIGNsYXNzPSJzdDEiIGQ9Ik0yNDcgMzguNnY5LjljMi4xLTMuNiA2LjktMTEuOCAyMi41LTExLjNsLS4xIDE3LjFjLTMuNi4xLTkuOS4yLTE1IDQuMS03LjEgNS40LTcuNCAxMi41LTcuNCAyNHYyNi4zaC0xNi4xVjM4LjVsMTYuMS4xek0yNzYuMiA1OS42Yy4zLTMuNS42LTYuOSAyLjgtMTAuOSA2LjctMTIuMSAyMy4yLTEyIDI3LjctMTIgNi43IDAgMTQuNy45IDIwLjggNC41IDguMiA1IDguMyAxMS42IDguMyAxOS4xbC0uMSAzNi44YzAgNS4zIDAgNy40IDMgMTEuNkgzMTljLS4xLTEuNy0uNC00LjktLjQtNS44LTMuNiAzLTExIDctMjAuNiA3LTE1LjctLjEtMjUuMS05LjgtMjUuMS0yMS44IDAtMy41LjktNi43IDIuMy05LjQgNS0xMCAxNS43LTEyLjIgMjIuNC0xMy40IDIyLjctMy44IDIxLjQtNiAyMS05LjQtLjMtMy4yLTMuNi02LjItMTEuMy02LjItNi45IDAtMTAuNyAyLjItMTIuNCA0LjQtMS44IDIuMi0xLjcgMy42LTEuNyA1LjZsLTE3LS4xek0zMTkgNzMuN2MtMy4zIDEuNy03LjEgMi45LTE0LjYgNC4xLTYgLjgtMTMuOSAyLjItMTMuOSA5LjUgMCA1LjQgNC42IDguMiAxMS4yIDguMiA4LjUgMCAxNC41LTMuOCAxNi4zLTggMS0yLjEgMS00LjIgMS02LjJ2LTcuNnpNNDEwLjQgMTAuNWwtLjMgOTguMmgtMTYuNXYtNi44Yy01LjIgNi4yLTEyLjEgOC43LTE5LjMgOC43LTE2LjUtLjEtMzAuOC0xMi41LTMwLjctMzUuNC4xLTIwLjcgMTEuOC0zOC4zIDMxLjctMzguMiA2LjggMCAxMy4xIDIgMTguNCA3LjhWMTAuNWgxNi43em0tMjAuNiA0OC4zYy0yLjUtMy44LTYuNi02LjQtMTIuMi02LjQtMTEuMyAwLTE2LjcgMTAuMS0xNi43IDIxLjEgMCAxLjMuMSAyMi4xIDE2LjMgMjIuMSA4LjYgMCAxNi40LTYuMyAxNi4zLTIxLjMtLjItNC41LS43LTEwLjktMy43LTE1LjV6TTQzOS40IDEwLjVsLS4zIDk4LjJoLTE2LjhWMTAuNWgxNy4xek01MTMuOSA5Mi40Yy03LjcgMTMuNi0xNy41IDE4LjYtMzEuNyAxOC42LTE4LjItLjEtMzUuNy0xMS42LTM1LjYtMzcuMi4xLTIzLjMgMTUuMS0zNi41IDM0LjctMzYuNCAxOC4zLjEgMjUuOSAxMS4xIDI3LjMgMTMuMSA1LjcgOC4xIDYuOSAyMC4yIDcgMjcuMWwtNTEuNC0uMmMxLjkgMTEgOC43IDE3LjMgMTkuNyAxNy4zIDExLjQgMCAxNC40LTYuNyAxNi41LTkuNmwxMy41IDcuM3ptLTE2LjUtMjcuMWMtMS41LTEwLjgtOC4xLTE0LjYtMTUuNS0xNC42LTguOSAwLTE1IDUuMS0xNyAxNC41bDMyLjUuMXoiLz48Zz48cGF0aCBjbGFzcz0ic3QxIiBkPSJNMTc5LjYgNTcuNHYxNC40aDI0LjZ2MTYuOWMtNi4zIDQtMTMuNSA2LjMtMjMuOCA2LjMtMTYuNiAwLTMwLjMtMTMuOS0zMC4zLTM1LjYgMC0yMS4zIDEyLjYtMzUuNSAzMS44LTM1LjUgMTUuNCAwIDIxLjIgMTIuNyAyMi4xIDE3LjVoMTYuOGMwLTkuOC0xMS42LTMzLjktNDAuNC0zMy45LTMwLjUgMC00OC41IDIxLjYtNDguNSA1MiAwIDMxLjYgMjEuNiA1MS40IDQ3LjQgNTEuNCAzOC4yIDAgNDEuNS0xOS4xIDQxLjUtMTkuMVY1Ny40aC00MS4yeiIvPjwvZz48cGF0aCBjbGFzcz0ic3QwIiBkPSJNMTc2LjYgMjhjLTMuNy4zLTcuNC45LTEwLjkgMS45LS4xLjEtLjIuMy0uMy40LTEuNiAxLjgtMy42IDMuNS01LjggNC41LS4zLjItLjYuMy0uOS40bC0uNi42Yy01LjUgNS0xMi4yIDYuMi0zNy4xLTE3LjRDOTQuMy02LjkgNTcuOCAzLjUgNDUuOCA3LjVzLTE3LjUgOC0xMi44IDE3LjJjNi40IDEyLjYgNC4zIDguNyAxMC42IDE5LjEgOS45IDE2LjUgMzEuNy03LjYgMzEuNy03LjYtMTYuMiAyNC40LTMwLjEgMTguNS0zNS40IDEwLTQuOC03LjctOC41LTE2LjUtOC41LTE2LjUtNDEgMTQuOC0yOS45IDgwLTI5LjkgODBoMjAuNGM1LjItMjQgMjMuOC0yMy4xIDI2LjkgMGgxNS41YzEzLjctNDYuOSA0My4xIDAgNDMuMSAwaDE3LjRjMC0yNS0yLjYtMzQuNCAxMC4yLTM2LjIgMjEuOS0zIDMyLTEzLjIgMzguNi0yOC42IDIuNC01LjggMy4zLTExLjYgMy0xNi45eiIvPjxnPjxwYXRoIGNsYXNzPSJzdDIiIGQ9Ik0xMDIuNyAzNC41czkuNCAzLjEgMjIgNy4zYy0uNyAzLjQtNyA5LjktMTUuMSA3LjEtMTAuOC0zLjUtNi45LTE0LjQtNi45LTE0LjR6Ii8+PGVsbGlwc2UgdHJhbnNmb3JtPSJyb3RhdGUoLTYuMDY2IDExMy4zNjMgNDEuMjg1KSIgY2xhc3M9InN0MCIgY3g9IjExMy40IiBjeT0iNDEuMyIgcng9IjUuNyIgcnk9IjUuNSIvPjwvZz48cGF0aCBjbGFzcz0ic3QwIiBkPSJNMTQ3LjIgOC43Yy43LjYgMS42IDEuMiAyLjUgMS44IDQuMi0zLjUgOS43LTMuNCAxNC40LTUuMy00LjEtMy44LTEwLjctNi43LTEyLjctNC4zLS41LjYtMy4xIDIuNi00LjIgNC4xLTEuOCAyLjItLjkgMi45IDAgMy43eiIvPjwvc3ZnPg=='); + background-position: 16px 80%; + background-repeat: no-repeat; + background-size: 40px 12px; + padding-left: 2.5em; +} + +.multi-language-selector .language-option[data-lang='yaml'], +.exampleblock[data-lang=yaml] > .content .title { + background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNDcwLjY0NyI+CiAgPHBvbHlnb24gaWQ9IlkiIHBvaW50cz0iMjM1Ljc5MyAwIDE0My45NzggMTM3LjY3NCAxNDMuOTc4IDIyNC45NDkgODcuNzAyIDIyNC45NDkgODcuNzAyIDEzNy42NzQgMCAwIDYzLjI1IDAgMTE5LjAxOCA4OC42NDYgMTc1LjI0MyAwIDIzNS43OTMgMCAyMzUuNzkzIDAiLz4KICA8cGF0aCBpZD0iQSIgZmlsbD0iI2NiMTcxZSIgZD0iTTMzMC4yOTQsMTc1LjQ1MWgtMTAxLjg2MWwtMjAuNzE3LDUwLjAyNGgtNDUuMTA2bDk1LjM4LC0yMjQuOTQ5aDQ2LjEzN2w5MS41MSwyMjQuOTQ5aC00OC4ybC0xNy4xNDQsLTUwLjAyNHptLTE2LjkyLC00NC45MTFsLTMxLjIyNiwtODIuNTVsLTM0LjgzNyw4Mi41NWg2Ni4wNjN6Ii8+CiAgPHBvbHlnb24gaWQ9Ik0iIHBvaW50cz0iODcuNzAxIDI1MC4xNzcgODcuNzAxIDQ3MC42NDcgMTM1LjAwNCA0NzAuNjQ3IDEzNS4wMDQgMzE4LjU2OSAxODQuNTA5IDQyMC43ODkgMjIxLjc0MyA0MjAuNzg5IDI3Mi45MzkgMzE0Ljk3NiAyNzIuOTM5IDQ3MC42MDIgMzE4LjMxOCA0NzAuNjAyIDMxOC4zMTggMjUwLjE3NyAyNTYuMzU4IDI1MC4xNzcgMjAxLjM4MSAzNDkuODgzIDE0OS4wMjEgMjUwLjE3NyA4Ny43MDEgMjUwLjE3NyA4Ny43MDEgMjUwLjE3NyIvPgogIDxwb2x5Z29uIGlkPSJMIiBwb2ludHM9IjUxMiA0MjIuNzM1IDM5NS42MzggNDIyLjczNSAzOTUuNjM4IDI1MC4xMjUgMzQ3LjQ0MiAyNTAuMTI1IDM0Ny40NDIgNDY5LjY0NyA1MTIgNDY5LjY0NyA1MTIgNDIyLjczNyA1MTIgNDIyLjczNSIvPgo8L3N2Zz4=); + background-position: 16px 80%; + background-repeat: no-repeat; + background-size: 40px 12px; + padding-left: 2.5em; +} + +.multi-language-selector .language-option[data-lang='toml'], +.exampleblock[data-lang=toml] > .content .title { + background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE5LjAuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgNDAwIDQwMCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNDAwIDQwMDsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLnN0MHtmaWxsOiNGRkZGRkY7fQoJLnN0MXtmaWxsOiM3RTdGN0Y7fQo8L3N0eWxlPgo8cmVjdCBpZD0iWE1MSURfMV8iIGNsYXNzPSJzdDAiIHdpZHRoPSI0MDAiIGhlaWdodD0iNDAwIi8+CjxnIGlkPSJYTUxJRF8yXyI+Cgk8ZyBpZD0iWE1MSURfMTFfIj4KCQk8cGF0aCBpZD0iWE1MSURfMTJfIiBjbGFzcz0ic3QxIiBkPSJNMjguNiwzMC41aDc1LjF2MzcuM0g2OXYyNjIuN2gzNC43VjM2OEgyOC42VjMwLjV6Ii8+Cgk8L2c+Cgk8ZyBpZD0iWE1MSURfNF8iPgoJCTxwYXRoIGlkPSJYTUxJRF82XyIgZD0iTTI3Ni40LDEwMS41djM5LjFoLTYwLjF2MTgxLjlIMTc0VjE0MC42aC02MC40di0zOS4xSDI3Ni40eiIvPgoJPC9nPgoJPGcgaWQ9IlhNTElEXzNfIj4KCQk8cGF0aCBpZD0iWE1MSURfNV8iIGNsYXNzPSJzdDEiIGQ9Ik0zNjUuNywzNjhoLTc1LjF2LTM3LjNoMzQuN1Y2OGgtMzQuN1YzMC41aDc1LjFWMzY4eiIvPgoJPC9nPgo8L2c+Cjwvc3ZnPg==); + background-position: 16px 80%; + background-repeat: no-repeat; + background-size: 40px 12px; + padding-left: 2.5em; +} + +.multi-language-selector .language-option[data-lang='groovy-config'], +.exampleblock[data-lang=groovy] > .content .title { + background-image: url('data:image/svg+xml;base64,PHN2Zw0KICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIg0KICAgd2lkdGg9IjYxNC4wNjA4NSINCiAgIGhlaWdodD0iMzAzLjU5ODYiDQogICB2ZXJzaW9uPSIxLjEiPg0KICA8Zw0KICAgICB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMzUuMzk2NTk5LC0zMC41NTgxOTYpIj4NCiAgICA8cGF0aA0KICAgICAgIGQ9Im0gMTU0Ljk3Njg3LDMzMi42OTE2MiBjIDAsLTAuODA1ODcgMTAuODMxMjMsLTE4LjYyMTcyIDI0LjA2OTQsLTM5LjU5MDc2IDEzLjIzODE5LC0yMC45NjkwNSAyMi42NjA1NywtMzguNjIwNjYgMjAuOTM4NjcsLTM5LjIyNTc3IC0xLjcyMTkxLC0wLjYwNTEgLTcuNjc5OTIsMC40ODU2NyAtMTMuMjQwMDIsMi40MjM5MyAtMTYuNzQ1MjQsNS44Mzc0MyAtMjAuMTg2MDUsNC4yOTAxNiAtMzIuNjkzMDgsLTE0LjcwMTU1IC0xMy41MzI2NSwtMjAuNTQ5MDYgLTE0LjAxNzI0LC0yMi42Njk4MyAtNi45NjE1OCwtMzAuNDY2MjQgNC42MDg3NiwtNS4wOTI1NiA0LjMzMTU5LC02LjI3OTY3IC0zLjIzMTksLTEzLjg0MzE2IC00LjU1MDA5LC00LjU1MDEgLTguMjcyODksLTkuNjQzMDkgLTguMjcyODksLTExLjMxNzc2IDAsLTIuODE2NzkgLTMwLjk5MTQ1LC0xNS41ODkzMyAtNzkuOTg5NDk2LC0zMi45NjYxNSAtMTEuMTA5NjYsLTMuOTM5OTcgLTIwLjE5OTM3NSwtNy44MjkyOCAtMjAuMTk5Mzc1LC04LjY0MjkxIDAsLTAuODEzNjYgMjMuNDcwNzM4LC0xLjAwNDc2IDUyLjE1NzE5MSwtMC40MjQ2OSBsIDUyLjE1NzIxLDEuMDU0NjYgNS4wOTEyNywtOC4wMzAwMSBjIDIxLjUxNjQ0LC0zMy45MzU5MiA1NC4wMDk1MiwtNjQuNTg4MjEyIDY4LjQ2NzA1LC02NC41ODgyMTIgMy4wMTA2LDAgOS4xMjE0MSwyLjg2OTE4IDEzLjU3OTUzLDYuMzc1OTQ1IDcuMjU5NDYsNS43MTAyODMgOC4yNTY1LDkuMjQ4NjMyIDkuNTQ5OTQsMzMuODkxOTY3IDAuNzk0MywxNS4xMzM4MiAyLjQyNDIyLDI4LjQ5NjAxIDMuNjIxOTgsMjkuNjkzNzkgMS4xOTc3NSwxLjE5Nzc2IDQuOTk3NjksLTAuMzc0MjUgOC40NDQzMSwtMy40OTMzOSA0LjQwMTQsLTMuOTgzMjMgOS4wMzQ4NCwtNS4wNjMxMyAxNS41Njc2MSwtMy42MjgzIDYuNzY3NTYsMS40ODY0MSAxMC42MjcxLDAuNDY4OTUgMTQuMTY5MzgsLTMuNzM1NDMgNS4zMTM2LC02LjMwNjY2IDMxLjkwNTk2LC00OC45MzcyMDEgMzEuOTA1OTYsLTUxLjE0ODc0NCAwLC0wLjc1MTU4OCA1LjI2NTA5LC05Ljc1NzMwNiAxMS43MDAyMywtMjAuMDEyNzAzIDYuNDM1MDksLTEwLjI1NTM5NyAxMy44NDY2NCwtMjIuMDgwNjMxIDE2LjQ3MDA3LC0yNi4yNzgyODMgNC42NjU1OCwtNy40NjUyMDEgNS4zOTY2LC02LjU4MTczNSAzMy40MjY5Miw0MC4zOTg3MzYgMjguOTQxMjEsNDguNTA3MTY0IDQ0LjUxNzY3LDY2LjQwNjU1NCA1Mi4zMTU3LDYwLjExNzYzNCA1LjQ0MiwtNC4zODg4OSAzNC4wMDA1NSwtNC42Mzc5NCA0MS45ODI0NiwtMC4zNjYxNCA0LjUzNjY1LDIuNDI3OTMgNy40MTkxNiwyLjM5NjEgOS45MjQ4NCwtMC4xMDk2MiA1LjIwMDA3LC01LjIwMDA2IDE3LjY0OTgyLC00LjI5NDM3IDIwLjkwNDEyLDEuNTIwNzggMi41NjM5Myw0LjU4MTQ2IDMuMjE3ODQsNC41ODE0NiA3LjAyMDE0LDAgMi4zMDYwNiwtMi43Nzg2NyA5LjEzNjE5LC01LjA1MjA4IDE1LjE3ODAzLC01LjA1MjA4IDguNTM4ODQsMCAxMS43OTMzNiwxLjc3MzY3IDE0LjYxNDAzLDcuOTY0MzcgbCAzLjYyODgxLDcuOTY0MzYgNTYuMDkyMDMsLTEuOTg1OCBjIDMwLjg1MDYyLC0xLjA5MjIyIDU2LjA5MjA0LC0xLjI4Njg4IDU2LjA5MjA0LC0wLjQzMjU1IDAsMC44NTQyNyAtMjIuOTA2MDgsMTAuMDcxOTUgLTUwLjkwMjQxLDIwLjQ4MzcxIC0yNy45OTYzMiwxMC40MTE3MiAtNTEuMzY3LDE5LjI0MzA1IC01MS45MzQ4NCwxOS42MjUxMiAtMC41Njc4NSwwLjM4MjA3IDAuNjk4NDcsOS40OTI3MyAyLjgxNDA1LDIwLjI0NTg4IDUuNTA0NTcsMjcuOTc5MTcgMS45MTQ1OCw0Ni42MjU4OSAtMTEuOTI2MjksNjEuOTQ2MDQgLTYuMjA5LDYuODcyNjMgLTE2LjI4MzM4LDE0LjE0Mzk1IC0yMi4zODc1MywxNi4xNTg0OSAtNi4xMDQxNSwyLjAxNDU0IC0xMS4wOTg0NCw0LjM4NjE0IC0xMS4wOTg0NCw1LjI3MDE5IDAsMC44ODQwNiA2LjUxNTI1LDExLjY3ODkzIDE0LjQ3ODM1LDIzLjk4ODU5IDcuOTYzMDksMTIuMzA5NjkgMTMuMjgyOCwyMi4zODEyNSAxMS44MjE1MiwyMi4zODEyNSAtMi4zODUwNCwwIC02MC40Njk4NywtMjIuNDQyMzggLTE1MC43ODg5OCwtNTguMjYwNyAtMTcuODA5LC03LjA2MjU4IC0zNC4wMjY4MywtMTIuODQxMDkgLTM2LjAzOTYxLC0xMi44NDEwOSAtMy43NTM2MywwIC0zNi4xNjY5LDEyLjI4NjYyIC0xMzEuMjI0MjMsNDkuNzQyMDYgLTU1LjEyNTI1LDIxLjcyMTAzIC01Ny4yOTIxNywyMi40NzM0OCAtNTcuMjkyMTcsMTkuODk0NTEgeiBtIDExMy4xMTY0OCwtNTEuMjUyNjUgYyAyOS4zMjk0OSwtMTEuMzk1MDYgNTguNDE2NTcsLTIyLjUzMDggNjQuNjM3OTgsLTI0Ljc0NjA3IDEwLjcwMDY4LC0zLjgxMDE5IDE0LjI3OTE4LC0yLjg1NDkzIDY2LjI1Mzk0LDE3LjY4NjM0IDMwLjIxODI1LDExLjk0Mjc0IDYwLjAzMjUyLDIzLjU3NTg3IDY2LjI1MzkyLDI1Ljg1MTM0IDYuMjIxNDEsMi4yNzU1MiAxOS4wNDMxNyw3LjIyMDU5IDI4LjQ5Mjc1LDEwLjk4OTA4IDEwLjc3NTAzLDQuMjk3MDQgMTYuMjgyNTEsNS4zMzE2NiAxNC43NzEwOCwyLjc3NDg0IC0xNi44ODM3LC0yOC41NjExMyAtMTcuMzk5OCwtMjkuMDM3MTYgLTI5LjEwMDgzLC0yNi44NDIwNSAtMTQuMTEzNjEsMi42NDc3MiAtMjIuODc4OTcsLTAuMDY4NSAtMjcuMzgzNjksLTguNDg1NTQgLTIuOTIxMTIsLTUuNDU4MTYgLTIuMDI5NDQsLTguMTI3NTkgNS4yNTQ0MiwtMTUuNzMwMzEgMTAuODQ4ODcsLTExLjMyMzc3IDkuMTQ0NTcsLTIxLjc0MTQ0IC00Ljg0NDI5LC0yOS42MTA5OSAtNS4zNjc2NCwtMy4wMTk1OSAtMTIuMTQwNTksLTEwLjQ4MzcyIC0xNS4wNTEwMiwtMTYuNTg2OTcgbCAtNS4yOTE2OSwtMTEuMDk2ODIgLTExLjM0NTUxLDcuNjk5MjggYyAtMTMuOTQ0NTgsOS40NjMwNCAtMzAuOTUwNjIsOS45NTA2MyAtNDUuMTQ3NjQsMS4yOTQ0OCBsIC0xMC40NjQ4OCwtNi4zODA2NSAtMTIuMTU4NDEsOC4yNjI4NCBjIC0xMi4xNzQ2Miw4LjI3Mzg2IC0yNi4xOTEwOCw5LjM0MjggLTQwLjQzNzUyLDMuMDgzOTIgLTMuOTI0OTgsLTEuNzI0MzkgLTUuNjU1ODMsLTEuMDU0MTUgLTUuNjU1ODMsMi4xOTAwOCAwLDIuNTcxMTggLTMuNzA0MjksNi4zNjI2NSAtOC4yMzE4MSw4LjQyNTUzIC0xMy41NzQyLDYuMTg0NzkgLTI2LjgyMTA3LDQuNTQyNDcgLTM1LjgwMjI5LC00LjQzODc1IGwgLTguMTg5NDQsLTguMTg5NDQgLTYuNjA5ODIsOC40MDMwMyBjIC0zLjYzNTM5LDQuNjIxNjYgLTEyLjA0OTUyLDExLjgzNjk4IC0xOC42OTgwNSwxNi4wMzM5OCAtOC4yMjk2NSw1LjE5NTE4IC0xOC40MTc0MSwxNy44NzE4MiAtMzEuOTE2NCwzOS43MTM2MSAtMTAuOTA1NDksMTcuNjQ1NDYgLTE5LjgyODE2LDMyLjk4MDQyIC0xOS44MjgxNiwzNC4wNzc3NiAwLDEuMDk3MyA4LjM2MjU1LC0xLjUyNzM2IDE4LjU4MzQyLC01LjgzMjU5IDEwLjIyMDg5LC00LjMwNTIxIDQyLjU4MDI4LC0xNy4xNTA4NyA3MS45MDk3NywtMjguNTQ1OTMgeiBtIDI0OC43NjcyOSwtMTIuMjU4NDYgYyAyMi4yNTU1NywtMTIuNTA4MzMgMjcuNDE0MjQsLTM1LjY0ODA4IDE3LjU3Njg1LC03OC44NDMxOCAtOC4yMjE0LC0zNi4wOTk2MSAtMTIuMzI1NSwtNDcuOTEzMjcgLTE3LjE5NDk0LC00OS40OTU5NyAtMy4zNjkwMiwtMS4wOTUwMyAtMy44ODY3NCwwLjEwNjk5IC0xLjk4ODU4LDQuNjE2MzUgMTIuMzE1MTYsMjkuMjU3NzEgMTIuOTk5NjMsNDMuOTQ2NjIgMi4yNDAyMiw0OC4wNzU0MSAtNy4zOTE1MSwyLjgzNjQyIC0xNS4yMzIzOSwtNy43OTA3NSAtMjEuMzk5MDIsLTI5LjAwMzI2IC00Ljc3NTEyLC0xNi40MjU4NyAtOS43Njg2MSwtMjMuODI4MzcgLTEzLjUzMzg3LC0yMC4wNjMxMSAtMC45MDE1NywwLjkwMTYgMC42Nzg0OCw2LjEyMTE3IDMuNTExMjQsMTEuNTk5MTMgMi44MzI3Myw1LjQ3NzkgNi43MTcyMSwyMS45NzQ1NSA4LjYzMjE3LDM2LjY1OTIgMS45MTQ5NywxNC42ODQ2MiA1LjYxMzg1LDMwLjA2MDczIDguMjE5NzMsMzQuMTY5MTIgNi43NzE5OCwxMC42NzY2MSAxNy41NTEyOCw4LjEwMzYgMjQuNTIzODIsLTUuODUzODQgNi44OTM3MywtMTMuNzk5NzUgNy42NzI4NCwtNC42MDc4MSAwLjk2OTMsMTEuNDM2MDIgLTYuOTYwNzQsMTYuNjU5MzcgLTI3LjYzNDQyLDIxLjY1NDgxIC01MS41ODQxOCwxMi40NjQ0MiAtMy44MzMzLC0xLjQ3MDk2IC01LjEzMDM5LDAuMDUxNSAtNS4xMzAzOSw2LjAyMDk3IDAsNC4zOTQzMSAtMi45MzYxOCwxMS43MjI0NSAtNi41MjQ4OCwxNi4yODQ3IGwgLTYuNTI0ODgsOC4yOTUwNiA4Ljk0ODgxLDEuNTExMjMgYyAxNS40NDk0NSwyLjYwOTA5IDM2LjYzMzI4LC0wLjc3NjQyIDQ5LjI1ODYsLTcuODcyMjUgeiBtIC0zMjAuMzY2NSwtMjcuNTM3MzMgYyA0Ni40NTk2NSwtMTMuMzU0NSA1NC43NjE4OCwtMjguOTMwOTMgMzkuMzI4ODUsLTczLjc4NzgyIC0zLjU4MTg1LC0xMC40MTA3OSAtNi41MTI0MywtMjEuNjA5NzEgLTYuNTEyNDMsLTI0Ljg4NjU0IDAsLTExLjE1NzEyIC01LjYxMTUyLC02LjAwMTYxIC05LjgxNzEzLDkuMDE5NDMgLTUuNTYyMDMsMTkuODY1NjEgLTIyLjI5MTE1LDM2Ljc1MDUzIC0zNi4zNDUxNiwzNi42ODM2NCAtMTIuMjA1NDcsLTAuMDU4MiAtMTYuMTgyNTEsLTIuMjgwMDggLTIxLjIyMzc4LC0xMS44NTc2OCAtOS4wNDc0OCwtMTcuMTg4ODIgMC44MTQ2OSwtNDMuNTY3OTcgMjUuOTY5NTQsLTY5LjQ2MjcyIDE4LjQyNDMxLC0xOC45NjYzMDQgMjguNDg4OTMsLTIwLjY4Mzk2NSAyOC40ODg5MywtNC44NjIwNSAwLDI0LjY3MzIgLTE3LjAxMTM0LDYwLjk5NDcgLTI1Ljk3MzA5LDU1LjQ1NjA0IC00LjM4MjA1LC0yLjcwODI2IC0zLjY3MTM4LC0xNC42Njc1MiAxLjQxNzIyLC0yMy44NTAwOSA0LjMyNzM1LC03LjgwODgyIDMuNDQ4MTQsLTE5LjcwNzcxIC0xLjQ1NjIsLTE5LjcwNzcxIC01LjY4Njg5LDAgLTE2Ljk0NTQ3LDIwLjcxMTk2IC0xOC40MzMxOCwzMy45MTA3NCAtMS4zMTUxNSwxMS42NjgyNiAtMC40OTI4NiwxNC41MDU0NSA1LjA2NjUyLDE3LjQ4MDcyIDE5LjQ4MjQ0LDEwLjQyNjcgNDUuMDA1MzEsLTIxLjM5NTQ1IDQ2LjI5MDgzLC01Ny43MTU4NCAwLjY3NTA0LC0xOS4wNzMxODEgLTMuMDE2NzYsLTI0LjQ0MTEwNSAtMTQuNzc5MDYsLTIxLjQ4ODk1MSAtMTcuMTE4NzksNC4yOTY1NDMgLTYzLjIzNDgzLDYzLjc4NjY0MSAtNjMuMjM0ODMsODEuNTczNDYxIDAsMTMuOTEyOCA2Ljk4NzM3LDIzLjY5NzI4IDE5LjI4ODI3LDI3LjAwOTYgMjAuOTE0MTksNS42MzE2MiA0MS4xMzUzOSwtNC4zNzM4OSA1NS40NjMzLC0yNy40NDMzOCBsIDYuMDIxNzUsLTkuNjk1NzEgMC4wMTMyLDEzLjE3MjIzIGMgMC4wMTYyLDE5LjA3MzggLTEyLjQyNjE5LDI5LjEyNzQgLTUxLjY5ODE3LDQxLjc2NzkzIC05Ljc3NjQ5LDMuMTQ2OCAtMTguMTgzMzIsNi4wNTQ0MSAtMTguNjgxOCw2LjQ2MTM3IC0xLjgyMDU2LDEuNDg2MzIgMTYuNjg3MzksMjcuNDc1NzEgMTkuNTY2NDQsMjcuNDc1NzEgMS42MzI2MiwwIDExLjE5MTE1LC0yLjM2MzU5IDIxLjI0MTIzLC01LjI1MjM4IHogTSA0NzYuNDExLDIxNy45NjMwMSBjIDQuNjYzNDcsLTUuMTUzMSA1LjQ4NTUxLC0xMC43NTEwMyA0LjQ4NTc5LC0zMC41NDgyMyAtMS4wODczOSwtMjEuNTMzMzEgLTIuMjc3NDYsLTI1LjMzODUxIC0xMC42NjE0MywtMzQuMDg5NDkgLTE1LjE0ODgyLC0xNS44MTE5NCAtMzMuODYxMjMsLTExLjc3ODI4IC0yMi45MDgxOSw0LjkzODE0IDUuODIyNTYsOC44ODYzNyAxMi45MjU0LDcuMzY4NjQgMTAuNDE2NDEsLTIuMjI1ODEgLTEuOTk4NjQsLTcuNjQyNzYgMS43Mjk5OCwtNy44NDM1OCA4LjIyODM5LC0wLjQ0MzIyIDEyLjE5MzAxLDEzLjg4NTM3IDkuMTE1MzQsMzMuMTI2OTggLTUuMjk4NiwzMy4xMjY5OCAtOS44NjcxNiwwIC0xMi45NDE5NSwtNC4yMzE3NiAtMTkuMzczNTMsLTI2LjY2MzE4IC0yLjkzMDU5LC0xMC4yMjA4NyAtNi40OTk2NCwtMTguNTgzNDMgLTcuOTMxMjcsLTE4LjU4MzQzIC00Ljc2ODk5LDAgLTYuODkyODcsNC4yMDg3OCAtMy45MjcyMSw3Ljc4MjQgMS42MTA4OCwxLjk0MTEgNi4wNzIxOCwxNS44OTEyNyA5LjkxNDA0LDMxLjAwMDQxIDkuNjY5MDMsMzguMDI1OTYgMjMuMTc2NjYsNTEuMDQxNDUgMzcuMDU1NiwzNS43MDU0MyB6IG0gLTE4My43NzEyNSwwLjYwMzk1IGMgMS45ODk3OCwtMS4zMzUgMi44OTk3NSwtNy42NDg5MyAyLjA3ODY1LC0xNC40MjMgLTEuMzI0NDksLTEwLjkyNzAyIC0yLjA2NjYyLC0xMS43MjQxIC03Ljk3MjcsLTguNTYzMjcgLTguNDg3MzMsNC41NDIyNyAtMTcuNjA4MzksLTQuMDYzNTEgLTIwLjcwMjIyLC0xOS41MzI2IC0yLjM0NzA3LC0xMS43MzUzOCAtMy4wNjUyNiwtMTEuNTA0ODkgMTQuMDI1NzYsLTQuNTAxNDkgMi4xNDI4OCwwLjg3ODA4IDcuNTk2NzEsLTIuMTA0MDIgMTIuMTE5NjMsLTYuNjI2OTQgOC4yNzQwOCwtOC4yNzQwOCAxMC45OTgwMiwtMTguMjEyOTkgNC45OTE1NiwtMTguMjEyOTkgLTEuNzc3NTQsMCAtMy4yMzE5LDEuNDU0MzYgLTMuMjMxOSwzLjIzMTkgMCw0LjY0OTIzIC04Ljg0MjMxLDMuOTg5ODIgLTEwLjgzNDY1LC0wLjgwNzk3IC0xLjE2MjI0LC0yLjc5ODc5IC0zLjYzODA3LC0xLjgwNTkxIC04LjA1OTE1LDMuMjMxOSAtMy41MDk4NSwzLjk5OTQ4IC03Ljc5NjczLDcuMjcxNzggLTkuNTI2NDEsNy4yNzE3OCAtMS43Mjk2OSwwIC00LjA2NTYsLTMuMjcyMyAtNS4xOTA4OCwtNy4yNzE3OCAtMS45NzE5NSwtNy4wMDg1NiAtMi4yMTM2NiwtNy4wNTI3NyAtNi42NzczNywtMS4yMjE2OSAtMy45MTA2LDUuMTA4NTQgLTMuOTQ1NTcsNi43MzU4MyAtMC4yMjQ2MSwxMC40NTY2MSAzLjk0MDYyLDMuOTQwNjQgMTEuNDI2MTUsMzAuODcxMDIgMTEuNDI2MTUsNDEuMTA3NDQgMCwxMi43Mjg2NyAxNy41MjkzMywyMi43MzgzMiAyNy43NzgzLDE1Ljg2MjEgeiBtIDU4Ljk0MzA5LC0xNi44NzUzMSBjIDEyLjE0NTY3LC0xMi4xNDU2NyAxNS43NDQ1MiwtMzAuMzUxNDMgOS4xMjk0MywtNDYuMTgzNTcgLTUuMTcwMTYsLTEyLjM3Mzk3IC0xNC4xNDQ2NiwtMTcuMDA1MTYgLTI2Ljc5ODc4LC0xMy44MjkxOCAtOS40MDI2MywyLjM1OTkxIC0yMy43MjMxMSwyOS43NzY1OSAtMjMuNzczODcsNDUuNTE1MzYgLTAuMDc5MiwyNC41MjkwMiAyMy4yNTA1MywzMi42OTAwNSA0MS40NDMyMiwxNC40OTczOSB6IG0gLTIyLjA4MzQxLC0xOS40MzQwNyBjIC0zLjU1NTEsLTMuNTU1MSAtNi40MTc1NSwtMTAuNDYzMjggLTYuMzYxMDIsLTE1LjM1MTUzIDAuMDkzNCwtOC4wNzk2NSAwLjQ5MzE1LC04LjM3MzUgNC4zOTYxOSwtMy4yMzE5IDQuODI0NjQsNi4zNTU2OSAxMy4zOTc5Nyw3LjQ1NjY2IDE2LjY4MjQxLDIuMTQyMzIgMS4xOTQzMiwtMS45MzI0MSAwLjU1Mjk1LC01LjEzMjAyIC0xLjQyNTIsLTcuMTEwMTcgLTUuMDgxMzIsLTUuMDgxMzIgLTQuNDY1NjEsLTExLjk5OTYzIDEuMDY3OTIsLTExLjk5OTYzIDYuMTUxMzcsMCAxNC43MjY3OSwxMi41MTQ3NyAxNC43MjY3OSwyMS40OTE5MSAwLDYuNjA2NzQgLTEzLjQ0NDQsMjAuNTIyOCAtMTkuODI3MjQsMjAuNTIyOCAtMS41Mzc4NSwwIC01LjcwNDc2LC0yLjkwODcyIC05LjI1OTg1LC02LjQ2MzggeiBtIDg2LjM0ODk3LDE4LjU4MzQxIGMgMTMuNDEwNzQsLTE0LjYwMjYzIDEyLjEwMzc2LC0zNy4wOTggLTMuMDk4MjUsLTUzLjMyNjM0IC03Ljg1MDU3LC04LjM4MDYgLTI1LjI5Mjk4LC05LjgyNTUyIC0zMi40MzE4NSwtMi42ODY2NCAtNi41ODc2MSw2LjU4NzYxIC0xMy4xNjQ2NSwzMi40OTMwMyAtMTAuNzIxMjIsNDIuMjI4NDEgNS4yMTEyMiwyMC43NjMxOCAzMi40MDA0MSwyOC44NjY1MiA0Ni4yNTEzMiwxMy43ODQ1NyB6IG0gLTI3LjQ1NTY1LC0yMy42MTQ1MiBjIC01LjMwNjIzLC0zLjcxNjY0IC03LjEyOTQxLC04LjE0OTc0IC02Ljk3ODA2LC0xNi45Njc0NyAwLjE2OTM1LC05Ljg2MDMzIDAuNjg0MywtMTAuNzQ5ODEgMi45NjE0NSwtNS4xMTQxNSAzLjM0NTczLDguMjgwMzIgMTAuMzYyOTIsMTEuNDA3MzQgMTYuNTE4MTQsNy4zNjA5IDMuODE3NTMsLTIuNTA5NjMgMy42MzkyOSwtMy42OTU5NyAtMS4xMDEwNCwtNy4zMjkwNyAtNi4zMjE4OSwtNC44NDUyMyAtNy41NTUwOCwtMTEuNzAxOTEgLTIuMTA0NjUsLTExLjcwMTkxIDQuODczNjQsMCAyMi4zMDQwMiwxOS4wNjY2NiAyMi4zMDQwMiwyNC4zOTc3OCAwLDUuMjAzMTYgLTEyLjM3NzM5LDE0LjM4NTAzIC0xOS4zOTEzOSwxNC4zODUwMyAtMi43NjQwNSwwIC04LjI1NzksLTIuMjY0MDIgLTEyLjIwODQ3LC01LjAzMTExIHogbSAxODkuOTYyOTIsLTE0LjI4ODg3IDMzLjkzNDk1LC0xMi43MzY4MiAtMzYuMzU4ODgsLTAuMTMxMjUgYyAtMzIuNTM5MiwtMC4xMTczNiAtMzYuMzU0MjQsMC40NjMwNyAtMzYuMzE0NzUsNS41MjQ3NSAwLjA0MDEsNS4xMjc1NyAzLjMzMDczLDIwLjI4Mzk1IDQuMzcyNywyMC4xMzk2NyAwLjIzNzIyLC0wLjAzMjkgMTUuNzAxNzcsLTUuNzkxMjQgMzQuMzY1OTgsLTEyLjc5NjQ4IHogbSAtNDQzLjQ5MzQzLC0yLjI3OTMgMy40NjgyNSwtMTAuMjg3NjEgLTMwLjQ2Njg2LC0xLjAyNDA0IGMgLTE2Ljc1Njc0NCwtMC41NjMyMiAtMzAuNDYzNTg0LC0wLjEzMjEzIC0zMC40NTk1OCwwLjk1ODA0IDAuMDA1OCwxLjU5NTEzIDUyLjUwNjU3LDIyLjEwNzA3IDUzLjY2MTc0LDIwLjk2NTUyIDAuMTgwMzUsLTAuMTc4NCAxLjg4ODkyLC00Ljk1MzcyIDMuNzk2NDUsLTEwLjYxMTkxIHogbSAyMDguOTA5MiwtMzEuODg2OTUgYyA3LjE2NjY3LDEuMTQ2IDE1LjI0OTgxLDQuMDc5MjQgMTcuOTYyNTYsNi41MTgzNSA0LjIxMjc5LDMuNzg3ODMgNi4wNDUyOCwzLjUyOTY2IDEyLjU2MjA3LC0xLjc2OTg1IDQuMTk2NDMsLTMuNDEyNSA5LjY1MDI2LC02LjIwNDU3IDEyLjExOTYzLC02LjIwNDU3IDIuNDY5MzksMCA0LjQ4OTgyLC0wLjcxMzA4IDQuNDg5ODIsLTEuNTg0NjcgMCwtMy4wMDkxOCAtNDYuNTM5NTQsLTc5LjIxMjUyIC00OC4zMTQ0NywtNzkuMTA5NjEgLTIuMDg1LDAuMTIwODcyIC00OS43ODYwMyw4MC4wODc5OCAtNTEuMjU0NjQsODUuOTI0MzcgLTAuNjE2MzQsMi40NDk1MiAxLjMxODA0LDMuMzUzNzEgNS4wNzM2NCwyLjM3MTYgMy4zMzgzNiwtMC44NzMgNy45NTQxNiwwLjY4MzI2IDEwLjI1NzI3LDMuNDU4MzYgMy43MzU0LDQuNTAwODcgNS4yNjEwOCw0LjE0MjI5IDE0LjEzMDY4LC0zLjMyMDk3IDguNDI2NDcsLTcuMDkwNDEgMTEuOTMwOCwtOC4wNDg4IDIyLjk3MzQ0LC02LjI4MzAxIHoiDQogICAgICAgc3R5bGU9ImZpbGw6IzMzMzMzMztmaWxsLW9wYWNpdHk6MSIgLz4NCiAgICA8cGF0aA0KICAgICAgIHN0eWxlPSJmaWxsOiM2Mzk4YWE7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmUiDQogICAgICAgZD0ibSAzMDkuNTQ1NzksMTQwLjg3OTIyIGMgLTAuNTAwNzUsLTAuMjMzMTEgLTEuMTE4MDQsLTAuNzY3OTkgLTIuNTI3OCwtMi4xOTAzNSAtMS45MTE4OCwtMS45Mjg5NyAtMi42NzE4OCwtMi40OTAxMyAtNC4yNjEwOCwtMy4xNDYyOCAtMi4wODc5MSwtMC44NjIwNCAtNC4zNTQ5LC0xLjA5NDIzIC02LjQ4MjMxLC0wLjY2MzkxIC0xLjg5ODA4LDAuMzgzOTMgLTIuNDI0MzUsMC40MjUyNyAtMy4yODI0MiwwLjI1NzggLTEuNDMyMjQsLTAuMjc5NTMgLTEuOTQxNTcsLTEuMTQ5MjkgLTEuNTM1ODMsLTIuNjIyNzIgMC41MDU3MywtMS44MzY1NyA0LjMzNjkzLC04Ljk0MjU1IDEyLjAwODk5LC0yMi4yNzM4NyAxNS41ODM3LC0yNy4wNzg5ODggMzYuNTM2MjQsLTYxLjIyMDk2OCAzOC44NTA1NiwtNjMuMzA2NjYyIDAuMjU2MzEsLTAuMjMwOTk0IDAuMjY1LC0wLjIzMDk5NCAwLjUyMjQ4LDAgMS4zNzc2OCwxLjIzNTk3NiA5LjQ3NjIsMTMuNzI1ODg5IDIwLjU0MDM2LDMxLjY3ODI5OCAxNC45NjY5NiwyNC4yODUwMDQgMjcuNDExMDIsNDUuNjQzNzE0IDI3LjQxMTAyLDQ3LjA0NzcwNCAwLDAuODU3MjkgLTEuMzE2MDgsMS4zNzIxNSAtNC4wODU5MSwxLjU5ODQ1IC0zLjQ0MjI2LDAuMjgxMjQgLTcuNDI0NzgsMi4zMDE4OCAtMTIuODY4ODcsNi41MjkzNiAtMi41ODcxMiwyLjAwODk4IC0zLjY5MTI2LDIuNzU5MzMgLTQuOTUwNjIsMy4zNjQzOCAtMS4wNDkyOCwwLjUwNDExIC0xLjEzNjkyLDAuNTI0MzcgLTIuMjY4NTQsMC41MjQzNyAtMS4xMTM2OCwwIC0xLjIyNjYxLC0wLjAyNDkgLTIuMDk2MjMsLTAuNDYxMjggLTAuNTEyMTMsLTAuMjU3MDIgLTEuNTA0NjksLTAuOTQ5MyAtMi4yNDE1NSwtMS41NjM0MiAtMi4xNzg0OCwtMS44MTU2MSAtNC43OTkxOCwtMy4xMzYxNCAtOS4wNzE5NywtNC41NzEyNCAtNS40Mjk5NywtMS44MjM3NiAtMTEuMjQ0NTQsLTIuOTE4NCAtMTYuMTk1NTEsLTMuMDQ4OTYgLTMuOTA5MzQsLTAuMTAzMDggLTUuNzEyMDEsMC4yNDc5OCAtOC42NzYwMiwxLjY4OTYzIC0yLjQxOTg4LDEuMTc2OTggLTMuNTg2MjEsMi4wMTMxMSAtOS4xMjQ3NSw2LjU0MTQ1IC01LjYzMzc2LDQuNjA2MTcgLTcuNjM0NDIsNS41NjIwNSAtOS42NjQsNC42MTcyNSB6IiAvPg0KICAgIDxwYXRoDQogICAgICAgc3R5bGU9ImZpbGw6IzYzOThhYTtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSINCiAgICAgICBkPSJtIDEyOC42Mzc4NiwxNzAuNzM5IGMgLTEwLjE1OSwtMi45NjA3IC00NS41MDMxNzEsLTE2LjkxOTYyIC01MC40NTA5MjQsLTE5LjkyNTIzIC0wLjY4MjkxNiwtMC40MTQ4NCAtMC43MzgwOTgsLTAuNDc3ODcgLTAuNTQzMjA3LC0wLjYyMDM4IDEuMTMxNTYzLC0wLjgyNzQxIDEyLjMzNzk4MywtMS4yMzkwMSAyNS4wMDQwMzEsLTAuOTE4MzYgNS4wNTEzMSwwLjEyNzg4IDM1LjUwMTMyLDEuMTMzMjMgMzUuNTUwOSwxLjE3Mzc3IDAuMDk5NywwLjA4MTUgLTYuNTIxNjQsMTkuMjg4OCAtNy4wMzA1MSwyMC4zOTQzMyAtMC4yMTI1MSwwLjQ2MTcgLTAuNjUwNjMsMC40NDM2NyAtMi41MzAyOSwtMC4xMDQxMyB6IiAvPg0KICAgIDxwYXRoDQogICAgICAgc3R5bGU9ImZpbGw6IzYzOThhYTtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSINCiAgICAgICBkPSJtIDU0My42OTQxMywxNzUuMzEwNTUgYyAtMS4zODYyLC0yLjcxMjg3IC0zLjg4NzY5LC0xNC45NzA2NyAtMy45NjA3OCwtMTkuNDA4NTggLTAuMDI4NCwtMS43MjQyNCAwLjE4NjY3LC0yLjQyNzQxIDAuOTYwNiwtMy4xNDA4IDEuNzczNzgsLTEuNjM1MDEgNS4zNzkzOCwtMi4yMjMyIDE1LjI5MDE3LC0yLjQ5NDM0IDUuMDAzNDcsLTAuMTM2ODkgMjguMTAxOSwtMC4xNTc5NiA0NC40MTEyNywtMC4wNDA1IGwgMTEuNDI4NTksMC4wODIzIC0yNy41MTc3LDEwLjMxNDI3IGMgLTI1LjA5MjkyLDkuNDA1NCAtMzkuNjg0NzMsMTQuODQxMjYgLTQwLjIyNDkxLDE0Ljk4NDkgLTAuMTM1MTcsMC4wMzYgLTAuMjY5ODEsLTAuMDY3NCAtMC4zODcyNCwtMC4yOTcyMyBsIDAsMCB6IiAvPg0KICAgIDxwYXRoDQogICAgICAgc3R5bGU9ImZpbGw6IzYzOThhYTtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSINCiAgICAgICBkPSJtIDE3OC4wODgzNSwzMTUuNTE0MzMgYyAwLC0wLjc3MDc4IDMuMjY4OSwtNi41MzMxIDExLjU1Mzk1LC0yMC4zNjY5OCAxOS44NTExOCwtMzMuMTQ2MzEgMjguOTI3MTUsLTQ1LjE2MDEyIDQwLjA3MjkyLC01My4wNDQyOSA5Ljk3MTI3LC03LjA1MzM3IDE1LjMwMjc5LC0xMS45Mjk0IDIxLjI0NTM5LC0xOS40MzAzMyBsIDMuNjY0MDksLTQuNjI0OTIgNC45Mzk5LDQuODU2NTIgYyA4LjY0Nzg0LDguNTAxODkgMTMuODYxMywxMC45NjY2OCAyMy4yOTcxNywxMS4wMTQzMiAxMS41NDA1OCwwLjA1ODMgMjQuMTc4NDksLTYuMzg4MSAyNC4xNzg0OSwtMTIuMzMyOTkgMCwtMS4zMzk4IDAuOTU0MDQsLTIuNzIyMzYgMS44Nzg1NywtMi43MjIzNiAwLjM5MTMyLDAgMi42MTY4NiwwLjY4MzY1IDQuOTQ1NjUsMS41MTkyMyA2LjA2OTkyLDIuMTc3OSA5LjYzMDI4LDIuOTY1NDggMTQuNjA5MTIsMy4yMzE2NSA0LjkzOTk4LDAuMjY0MDkgOC41NDg0OCwtMC4xNzA0IDEzLjM1ODE3LC0xLjYwODQxIDQuNzI1NjEsLTEuNDEyODggNy40NDcwOSwtMi44NTkwNSAxNS41OTgzMywtOC4yODg4MiA0LjEwNzYsLTIuNzM2MTggNy41OTk1NCwtNC45NzQ4NyA3Ljc1OTg4LC00Ljk3NDg3IDAuMTYwMzMsMCAzLjEyNTM0LDEuNzE4OTYgNi41ODg5LDMuODE5OTEgMy40NjM1NiwyLjEwMDk1IDcuNjI1NDIsNC4zODEzMyA5LjI0ODU5LDUuMDY3NTEgMTEuMDY4NjIsNC42NzkxOCAyMy4wMjQ0NSw0LjM3MzkgMzMuOTcxMjYsLTAuODY3NDEgMS45NTc5NSwtMC45Mzc0NyA2LjU2NzkzLC0zLjczMDc0IDEwLjI0NDQsLTYuMjA3MjcgMy42NzY0OCwtMi40NzY1MyA2LjczNjEzLC00LjQ0NTc2IDYuNzk5MjMsLTQuMzc2MDYgMC4wNjMxLDAuMDY5NyAxLjQ1NjA1LDIuOTIwOCAzLjA5NTQ0LDYuMzM1NzggMS42Mzk0LDMuNDE0OTggMy42OTg5NSw3LjI2NjcgNC41NzY3OSw4LjU1OTM3IDMuODAwMDEsNS41OTU3OCA4LjE3NTg4LDkuNzUxNDEgMTQuMDgzNDMsMTMuMzc0NjQgNi4wODEyMiwzLjcyOTc1IDkuODMyMDYsOC42ODY4IDEwLjIxODgyLDEzLjUwNTA3IDAuMzgzNjcsNC43Nzk2OCAtMS43MDMyOSw5LjAxOTM5IC03LjcyMTg5LDE1LjY4NzIxIC00LjY5NzQ3LDUuMjA0MTkgLTUuODczMyw3LjIzNTQgLTUuODYxMTMsMTAuMTI0OTEgMC4wMTIyLDIuODkyNjIgMS43MDEwMyw2LjIyODU0IDQuNjY5NjQsOS4yMjM3OSA0LjgwNTMzLDQuODQ4NDQgMTIuMzQ2MDUsNi4yODc3NyAyMy40MzUzNCw0LjQ3MzE5IDIuNDc0MDgsLTAuNDA0ODQgNS41OTQ3OSwtMC43Mzc1NyA2LjkzNDkxLC0wLjczOTM4IDQuMjg1NTEsLTAuMDA2IDYuOTAzMTksMi4wOTU5NSAxMS44OTI1MSw5LjU0ODU5IDMuNDQzNTEsNS4xNDM2NSAxMC45NzM5NiwxNy43NTUwOCAxMC45NzM5NiwxOC4zNzgzNiAwLDAuMzI0MDcgLTAuMzUxNDUsMC41NTIwOCAtMC44NTA5NywwLjU1MjA4IC0xLjA1MTA5LDAgLTUuNjIzMTQsLTEuMjQzOCAtOC45MzIxNCwtMi40Mjk5NCAtNC4zNDg1LC0xLjU1ODc1IC01Ny4yNzIzOCwtMjIuMDA1MjYgLTc0Ljc0Nzg2LC0yOC44Nzc5NSAtNDYuNjYzNSwtMTguMzUxNjIgLTYyLjAyODA1LC0yNC4yMTI0NiAtNjkuNTM2NTcsLTI2LjUyNDg5IC04LjExNDE3LC0yLjQ5ODk1IC0xMy42NDAyOSwtMy4wODUyMiAtMTguMTI2NjEsLTEuOTIzMDYgLTUuNTc5OTYsMS40NDU0NiAtODEuNzIwNjcsMzAuODY4ODggLTEyNi4xMzI0NSw0OC43NDE5NSAtMjEuOTMxMTksOC44MjYgLTI0LjY3NzQ5LDkuODc1NzcgLTI4Ljc4MTE2LDExLjAwMTU5IC0zLjI2MzAzLDAuODk1MjEgLTMuMTQ0MDcsMC44ODI5NCAtMy4xNDQwNywwLjMyNDI2IHoiIC8+DQogIDwvZz4NCjwvc3ZnPg=='); + background-position: 16px 80%; + background-repeat: no-repeat; + background-size: 20px 12px; + padding-left: 2.5em; +} + +.multi-language-selector .language-option[data-lang='json-config'], +.exampleblock[data-lang=json] > .content .title { + background-position: 16px 80%; + background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYwIiBoZWlnaHQ9IjE2MCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KIDx0aXRsZT5KU09OIGxvZ288L3RpdGxlPgogPGRlZnM+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJsaW5lYXJHcmFkaWVudDgzODUiPgogICA8c3RvcCBvZmZzZXQ9IjAiLz4KICAgPHN0b3Agc3RvcC1jb2xvcj0iI2ZmZiIgb2Zmc2V0PSIxIi8+CiAgPC9saW5lYXJHcmFkaWVudD4KICA8bGluZWFyR3JhZGllbnQgaWQ9ImxpbmVhckdyYWRpZW50MzAwMiIgeDE9Ii01NTMuMjciIHgyPSItNjY2LjEyIiB5MT0iNTI1LjkxIiB5Mj0iNDEzLjA1IiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KC45OTg4NCAwIDAgLjk5ODcgNjg5LjAxIC0zODguODQpIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeGxpbms6aHJlZj0iI2xpbmVhckdyYWRpZW50ODM4NSIvPgogIDxsaW5lYXJHcmFkaWVudCBpZD0ibGluZWFyR3JhZGllbnQzMDA1IiB4MT0iLTY2Ni4xMiIgeDI9Ii01NTMuMjciIHkxPSI0MTMuMDQiIHkyPSI1MjUuOTEiIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoLjk5ODg0IDAgMCAuOTk4NyA2ODkuMDEgLTM4OC44NCkiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4bGluazpocmVmPSIjbGluZWFyR3JhZGllbnQ4Mzg1Ii8+CiA8L2RlZnM+CiA8ZyBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogIDxwYXRoIGQ9Im03OS44NjUgMTE5LjFjMzUuMzk4IDQ4LjI1NSA3MC4wNC0xMy40NjkgNjkuOTg5LTUwLjU4Ny0wLjA2MDItNDMuODg2LTQ0LjU0MS02OC40MTQtNzAuMDE4LTY4LjQxNC00MC44OTIgMC03OS44MzYgMzMuNzk2LTc5LjgzNiA4MC4wMzYgMCA1MS4zOTYgNDQuNjQgNzkuODY1IDc5LjgzNiA3OS44NjUtNy45NjQ1LTEuMTQ2OC0zNC41MDYtNi44MzQtMzQuODYzLTY3Ljk2Ny0wLjIzOTg3LTQxLjM0NyAxMy40ODgtNTcuODY2IDM0LjgwNS01MC41OTkgMC40Nzc0MyAwLjE3NzA3IDIzLjUxNCA5LjI2NDUgMjMuNTE0IDM4Ljk1MSAwIDI5LjU2LTIzLjQyNyAzOC43MTUtMjMuNDI3IDM4LjcxNXoiIGNvbG9yPSIjMDAwMDAwIiBmaWxsPSJ1cmwoI2xpbmVhckdyYWRpZW50MzAwNSkiLz4KICA8cGF0aCBkPSJtNzkuODIzIDQxLjQwMWMtMjMuMzktOC4wNjE5LTUyLjA0MyAxMS4yMTYtNTIuMDQzIDQ5LjgyOSAwIDYzLjA0OCA0Ni43MjEgNjguNzcgNTIuMzg0IDY4Ljc3IDQwLjg5MiAwIDc5LjgzNi0zMy43OTYgNzkuODM2LTgwLjAzNiAwLTUxLjM5Ni00NC42NC03OS44NjUtNzkuODM2LTc5Ljg2NSA5Ljc0ODEtMS4zNSA1Mi41NDEgMTAuNTUgNTIuNTQxIDY5LjAzNyAwIDM4LjE0MS0zMS45NTMgNTguOTA1LTUyLjczNSA1MC4wMzMtMC40Nzc0My0wLjE3NzA3LTIzLjUxNC05LjI2NDUtMjMuNTE0LTM4Ljk1MSAwLTI5LjU2IDIzLjM2Ny0zOC44MTggMjMuMzY3LTM4LjgxOHoiIGNvbG9yPSIjMDAwMDAwIiBmaWxsPSJ1cmwoI2xpbmVhckdyYWRpZW50MzAwMikiLz4KIDwvZz4KPC9zdmc+Cg=='); + background-repeat: no-repeat; + background-size: 20px 12px; + padding-left: 2.5em; +} + +.multi-language-selector .language-option[data-lang='maven'], +.exampleblock[data-lang=maven] > .content .title { + background-image: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgNDYyIDEwNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmb250LXN0eWxlPSJvYmxpcXVlIiBmb250LWZhbWlseT0iVmVyZGFuYSIgZm9udC13ZWlnaHQ9ImJvbGQiPjx0ZXh0IGZvbnQtc2l6ZT0iOTYiIHRyYW5zZm9ybT0ic2NhbGUoMC45NDMsMS4wNikiIHg9IjgyIiB5PSI3NiI+bTwvdGV4dD48dGV4dCBmb250LXNpemU9IjgwIiB3b3JkLXNwYWNpbmc9IjAiIHg9IjE3MyIgeT0iODAiPjx0c3BhbiBmaWxsPSIjZmY2ODA0Ij5hPC90c3Bhbj52ZW48L3RleHQ+PC9nPjwvc3ZnPg==); + background-position: 16px 80%; + background-repeat: no-repeat; + background-size: 40px 12px; + padding-left: 2.5em; +} + +.multi-language-selector .language-option[data-lang='java'], +.exampleblock[data-lang=java] > .content .title { + background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pg0KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE5LjAuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPg0KPHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCINCgkgdmlld0JveD0iMCAwIDUxMS45OTggNTExLjk5OCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNTExLjk5OCA1MTEuOTk4OyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8Zz4NCgk8cGF0aCBzdHlsZT0iZmlsbDojREIzODBFOyIgZD0iTTI1My40NjQsOTQuODY5Yy0yMy42NTgsMTYuNjM5LTUwLjQ3MSwzNS40OTgtNjQuODM4LDY2LjY5OQ0KCQljLTI0Ljk1NCw1NC40MzUsNTEuMDYyLDExMy44MTIsNTQuMzExLDExNi4zMTNjMC43NTUsMC41ODEsMS42NTksMC44NzEsMi41NiwwLjg3MWMwLjk1NywwLDEuOTE1LTAuMzI3LDIuNjkzLTAuOTc5DQoJCWMxLjUwOS0xLjI2MiwxLjkzNy0zLjQwNiwxLjAzMS01LjE1MmMtMC4yNzUtMC41My0yNy41NjEtNTMuNTMtMjYuNTQ3LTkxLjU1MmMwLjM1OS0xMy4yNDMsMTguODkyLTI4LjI2NiwzOC41MTItNDQuMTcxDQoJCWMxNy45Ny0xNC41NjgsMzguMzQtMzEuMDc5LDUwLjI1OC01MC4zOTRjMjYuMTY0LTQyLjUxNi0yLjkxNi04NC4zMjItMy4yMTMtODQuNzRjLTEuMTU1LTEuNjIyLTMuMjg3LTIuMjA5LTUuMTEtMS40MQ0KCQljLTEuODIxLDAuODA0LTIuODMsMi43NzMtMi40MTQsNC43MmMwLjA1OSwwLjI3Nyw1LjcxNCwyNy45MjMtMTAuMDIyLDU2LjQwNkMyODQuMjAzLDczLjI1LDI2OS45NTksODMuMjY4LDI1My40NjQsOTQuODY5eiIvPg0KCTxwYXRoIHN0eWxlPSJmaWxsOiNEQjM4MEU7IiBkPSJNMzUzLjEzNywxMTMuNjE3YzEuNjY5LTEuMjU3LDIuMTU5LTMuNTUsMS4xNS01LjM4Yy0xLjAxMS0xLjgzLTMuMjExLTIuNjM3LTUuMTY1LTEuODk1DQoJCWMtNC4wMTksMS41MjgtOTguNDE2LDM3LjkxNS05OC40MTYsODEuODhjMCwzMC4zMDcsMTIuOTQ2LDQ2LjMxNywyMi4zOTksNTguMDA5YzMuNzA4LDQuNTg2LDYuOTA5LDguNTQ2LDcuOTY0LDExLjkyNw0KCQljMi45Nyw5Ljc0My00LjA2NiwyNy4zNTMtNy4wMjUsMzMuMzE3Yy0wLjg1MywxLjcxNC0wLjQzNSwzLjc5MiwxLjAxNiw1LjA0NGMwLjc4NCwwLjY3NywxLjc2MywxLjAyMSwyLjc0MywxLjAyMQ0KCQljMC44MzQsMCwxLjY3Mi0wLjI0OCwyLjM5Ni0wLjc1MmMxLjYyMy0xLjEyOCwzOS42NjctMjguMDI2LDMyLjg0NC02MC40MzNjLTIuNTQyLTEyLjMxOC04LjU5NS0yMS4zMTgtMTMuOTM2LTI5LjI2DQoJCWMtOC4yNzQtMTIuMzA1LTE0LjI1LTIxLjE5My01LjE4NC0zNy42MDlDMzA0LjU0NSwxNTAuMzM4LDM1Mi42NSwxMTMuOTgxLDM1My4xMzcsMTEzLjYxN3oiLz4NCjwvZz4NCjxnPg0KCTxwYXRoIHN0eWxlPSJmaWxsOiM3M0ExRkI7IiBkPSJNMTA3LjQxOCwyOTguMjM2Yy0xLjYxOCw0Ljg0NS0wLjg1NCw5LjY1MSwyLjIwNywxMy45MDNjMTAuMjMzLDE0LjIwNyw0Ni40OCwyMi4wMjksMTAyLjA2OCwyMi4wMjkNCgkJYzAuMDAzLDAsMC4wMDUsMCwwLjAwNywwYzcuNTMyLDAsMTUuNDg0LTAuMTQ4LDIzLjYyOS0wLjQ0Yzg4Ljg3NS0zLjE4MSwxMjEuODM5LTMwLjg2OSwxMjMuMTk5LTMyLjA0Ng0KCQljMS40ODItMS4yODMsMS44NzgtMy40MTksMC45NTctNS4xNDdjLTAuOTIyLTEuNzI3LTIuOTA5LTIuNTk1LTQuODA4LTIuMDcyYy0zMS4zMDEsOC41NDYtODkuNzQ4LDExLjU4LTEzMC4yODgsMTEuNTgNCgkJYy00NS4zNjMsMC02OC40NjUtMy4yNjgtNzQuMTIxLTUuNjgxYzIuOTAyLTMuOTg1LDIwLjgwMi0xMS4xMDEsNDIuOTgzLTE1LjQ2NGMyLjEyLTAuNDE2LDMuNTc3LTIuMzc0LDMuMzY3LTQuNTI0DQoJCXMtMi4wMTYtMy43OS00LjE3Ny0zLjc5QzE3OS40MzksMjc2LjU4NCwxMTQuMjM0LDI3Ny42MjgsMTA3LjQxOCwyOTguMjM2eiIvPg0KCTxwYXRoIHN0eWxlPSJmaWxsOiM3M0ExRkI7IiBkPSJNNDA0LjgxMiwyNjkuNzE4Yy0xOC4zMzEsMC0zNS43MTQsOS4xODgtMzYuNDQ2LDkuNTc3Yy0xLjY5NSwwLjkwOC0yLjU1NSwyLjg1Mi0yLjA5LDQuNzINCgkJYzAuNDY3LDEuODY1LDIuMTQ0LDMuMTc2LDQuMDY3LDMuMTc4YzAuMzg5LDAsMzkuMTAyLDAuMzE3LDQyLjYwOCwyMi40MzZjMy4xMDYsMTkuMDgyLTM2LjYyOSw1MC01Mi4yMDIsNjAuMzA0DQoJCWMtMS42ODIsMS4xMTMtMi4zMzUsMy4yNjMtMS41NTQsNS4xMjNjMC42NjUsMS41ODMsMi4yMDYsMi41NzMsMy44NjgsMi41NzNjMC4yOSwwLDAuNTg0LTAuMDMsMC44NzYtMC4wOTINCgkJYzMuNjk2LTAuNzkxLDkwLjQwNi0xOS44OTksODEuMjM4LTcwLjM4NEM0MzkuNTg0LDI3Ni4yMTMsNDIwLjEzOCwyNjkuNzE4LDQwNC44MTIsMjY5LjcxOHoiLz4NCgk8cGF0aCBzdHlsZT0iZmlsbDojNzNBMUZCOyIgZD0iTTM0NS4zNDcsMzYzLjc1NWMwLjMwMi0xLjYxNy0wLjM3MS0zLjI2Mi0xLjcxNy00LjIwN2wtMjAuNzkxLTE0LjU2Mw0KCQljLTEuMDE0LTAuNzEtMi4yOTUtMC45MzMtMy40ODUtMC42MThjLTAuMjE3LDAuMDU1LTIxLjk1OSw1Ljc3MS01My41MjUsOS4yNzZjLTEyLjUyOCwxLjQwNS0yNi41NiwyLjE0Ny00MC41ODIsMi4xNDcNCgkJYy0zMS41NTgsMC01Mi4xOTItMy43MDgtNTUuMTk3LTYuNDI4Yy0wLjM5OC0wLjc2NC0wLjI3Mi0xLjExMS0wLjIwMS0xLjMwNGMwLjU0Ni0xLjUxOCwzLjQ3Mi0zLjMyMiw1LjM1OC00LjAzNg0KCQljMi4wODMtMC43NzEsMy4yMDYtMy4wMzMsMi41NTgtNS4xNTdjLTAuNjQ2LTIuMTI3LTIuODM3LTMuMzc4LTQuOTk5LTIuODU5Yy0yMC44NTYsNS4wMzMtMzEuMDU0LDEyLjA3MS0zMC4zMTIsMjAuOTE4DQoJCWMxLjMxOCwxNS42ODYsMzcuNjUsMjMuNzM3LDY4LjM2NSwyNS44NjVjNC40MTcsMC4zMDIsOS4xOTQsMC40NTUsMTQuMTk1LDAuNDU1YzAuMDAzLDAsMC4wMDUsMCwwLjAwOCwwDQoJCWM1MS4wNzQsMCwxMTYuNTUtMTYuMDI1LDExNy4yMDQtMTYuMTg4QzM0My44MjUsMzY2LjY2NiwzNDUuMDQ0LDM2NS4zNzUsMzQ1LjM0NywzNjMuNzU1eiIvPg0KCTxwYXRoIHN0eWxlPSJmaWxsOiM3M0ExRkI7IiBkPSJNMTg4LjYwMiwzOTcuNDE5YzEuNTc1LTEuMDI0LDIuMjczLTIuOTcxLDEuNzE0LTQuNzY0Yy0wLjU1Ny0xLjc5My0yLjIzNC0yLjk3MS00LjExOC0yLjk0Ng0KCQljLTIuNzk1LDAuMDc0LTI3LjM0OSwxLjE4Mi0yOS4wNjgsMTYuODE1Yy0wLjUyLDQuNjcyLDAuODE4LDguOTQxLDMuOTc5LDEyLjY4NmM4LjgxNiwxMC40NDgsMzIuNjE0LDE2LjY1OCw3Mi43NDEsMTguOTg0DQoJCWM0Ljc0NywwLjI4NSw5LjU2OSwwLjQyOCwxNC4zMzQsMC40MjhjNTEuMDE1LDAsODUuMzczLTE1Ljk3Myw4Ni44MTItMTYuNjUzYzEuMzk1LTAuNjYsMi4zMTUtMi4wMzEsMi4zOTctMy41NzENCgkJcy0wLjY4Ny0zLjAwMS0yLjAwMy0zLjgwNmwtMjYuMjc1LTE2LjA0Yy0wLjkxMi0wLjU1Ni0yLjAwMy0wLjc0LTMuMDQzLTAuNTI3Yy0wLjE2NiwwLjAzNS0xNi44NDksMy40OTUtNDIuMDI2LDYuOTEzDQoJCWMtNC43NjQsMC42NDgtMTAuNzMsMC45NzctMTcuNzMsMC45NzdjLTI1LjE1LDAtNTMuMTI0LTQuMTA5LTU4LjQ4OS02LjhDMTg3Ljc0OSwzOTguNjEzLDE4Ny44NDgsMzk3Ljk3NSwxODguNjAyLDM5Ny40MTl6Ii8+DQoJPHBhdGggc3R5bGU9ImZpbGw6IzczQTFGQjsiIGQ9Ik0yMjQuNDA4LDQ4Ni44NWMxMTYuODU0LTAuMDk5LDE3OS41NzEtMjAuODgsMTkxLjY1My0zMy45NTdjNC4yNzctNC42MjYsNC43MzktOS4wMDYsNC4zNzYtMTEuODY3DQoJCWMtMC44OTgtNy4wNC03LjMxMS0xMS4zNS04LjAzOC0xMS44MThjLTEuNzU0LTEuMTI4LTQuMTA4LTAuODMzLTUuNDc2LDAuNzQ1Yy0xLjM2NSwxLjU3OC0xLjM5NywzLjg4NC0wLjAyNyw1LjQ2MQ0KCQljMC43MzcsMC45NDgsMS4xNjMsMi41MzUtMC45OTIsNC42OTJjLTQuODMsNC41MTEtNTMuNTQ1LDE4LjIwNC0xMzQuNjU2LDIyLjMxOGMtMTEuMTExLDAuNTc3LTIyLjc2NSwwLjg3MS0zNC42MzYsMC44NzMNCgkJYy03Mi42MjMsMC0xMjUuNzcyLTkuOTQ4LTEzMi43NDktMTUuNzQ0YzIuNjg5LTMuODY0LDIxLjQ4OS0xMC4wMzcsNDEuNDgyLTEzLjUyOWMyLjI1My0wLjM5MywzLjc3NS0yLjUxNiwzLjQyNi00Ljc3Ng0KCQljLTAuMzQ5LTIuMjU5LTIuNDMyLTMuODE0LTQuNzA5LTMuNTE5Yy0wLjU2NCwwLjA3Ny0yLjQ3OCwwLjE5MS00LjY5NCwwLjMyN2MtMzIuOTg4LDIuMDE0LTcxLjEwOSw2LjUwMy03My4wOTgsMjMuNQ0KCQljLTAuNjA0LDUuMTc5LDAuOTM1LDkuODgxLDQuNTc2LDEzLjk3M2M4LjkwOSwxMC4wMSwzNC41MTYsMjMuMzE5LDE1My41NTgsMjMuMzE5QzIyNC40MDYsNDg2Ljg1LDIyNC40MDYsNDg2Ljg1LDIyNC40MDgsNDg2Ljg1eiINCgkJLz4NCgk8cGF0aCBzdHlsZT0iZmlsbDojNzNBMUZCOyIgZD0iTTQzOS4wMTMsNDU2LjU3OGMtMS42NTItMC43NjQtMy42MDQtMC4zNzgtNC44MzYsMC45NTJjLTAuMTcxLDAuMTg1LTE3Ljc0LDE4LjU1Ni03MC41NjQsMjkuMzQ0DQoJCWMtMjAuMjIzLDQuMDUyLTU4LjE4Myw2LjEwNy0xMTIuODI2LDYuMTA3Yy01NC43NDUsMC0xMDYuODM4LTIuMTU0LTEwNy4zNTctMi4xNzZjLTIuMTc2LTAuMTA2LTQuMDM3LDEuNDc2LTQuMzMzLDMuNjE4DQoJCWMtMC4yOTcsMi4xNCwxLjA4Myw0LjE1OCwzLjE4NCw0LjY1OGMwLjU0MiwwLjEyOCw1NS4xMzUsMTIuOTE4LDEyOS43NzksMTIuOTE4YzM1LjgwMSwwLDcwLjYzOS0yLjkwNywxMDMuNTQ4LTguNjQ1DQoJCWM2MS4zNjEtMTAuNzU3LDY1LjY1Ny00MS4xODMsNjUuODEtNDIuNDczQzQ0MS42MzIsNDU5LjA3OCw0NDAuNjYyLDQ1Ny4zNDIsNDM5LjAxMyw0NTYuNTc4eiIvPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPC9zdmc+DQo='); + background-position: 16px 80%; + background-repeat: no-repeat; + background-size: 20px 12px; + padding-left: 2.5em; +} + + +.multi-language-selector .language-option[data-lang='groovy'], +.exampleblock[data-lang=groovy] > .content .title { + background-image: url('data:image/svg+xml;base64,PHN2Zw0KICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIg0KICAgd2lkdGg9IjYxNC4wNjA4NSINCiAgIGhlaWdodD0iMzAzLjU5ODYiDQogICB2ZXJzaW9uPSIxLjEiPg0KICA8Zw0KICAgICB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMzUuMzk2NTk5LC0zMC41NTgxOTYpIj4NCiAgICA8cGF0aA0KICAgICAgIGQ9Im0gMTU0Ljk3Njg3LDMzMi42OTE2MiBjIDAsLTAuODA1ODcgMTAuODMxMjMsLTE4LjYyMTcyIDI0LjA2OTQsLTM5LjU5MDc2IDEzLjIzODE5LC0yMC45NjkwNSAyMi42NjA1NywtMzguNjIwNjYgMjAuOTM4NjcsLTM5LjIyNTc3IC0xLjcyMTkxLC0wLjYwNTEgLTcuNjc5OTIsMC40ODU2NyAtMTMuMjQwMDIsMi40MjM5MyAtMTYuNzQ1MjQsNS44Mzc0MyAtMjAuMTg2MDUsNC4yOTAxNiAtMzIuNjkzMDgsLTE0LjcwMTU1IC0xMy41MzI2NSwtMjAuNTQ5MDYgLTE0LjAxNzI0LC0yMi42Njk4MyAtNi45NjE1OCwtMzAuNDY2MjQgNC42MDg3NiwtNS4wOTI1NiA0LjMzMTU5LC02LjI3OTY3IC0zLjIzMTksLTEzLjg0MzE2IC00LjU1MDA5LC00LjU1MDEgLTguMjcyODksLTkuNjQzMDkgLTguMjcyODksLTExLjMxNzc2IDAsLTIuODE2NzkgLTMwLjk5MTQ1LC0xNS41ODkzMyAtNzkuOTg5NDk2LC0zMi45NjYxNSAtMTEuMTA5NjYsLTMuOTM5OTcgLTIwLjE5OTM3NSwtNy44MjkyOCAtMjAuMTk5Mzc1LC04LjY0MjkxIDAsLTAuODEzNjYgMjMuNDcwNzM4LC0xLjAwNDc2IDUyLjE1NzE5MSwtMC40MjQ2OSBsIDUyLjE1NzIxLDEuMDU0NjYgNS4wOTEyNywtOC4wMzAwMSBjIDIxLjUxNjQ0LC0zMy45MzU5MiA1NC4wMDk1MiwtNjQuNTg4MjEyIDY4LjQ2NzA1LC02NC41ODgyMTIgMy4wMTA2LDAgOS4xMjE0MSwyLjg2OTE4IDEzLjU3OTUzLDYuMzc1OTQ1IDcuMjU5NDYsNS43MTAyODMgOC4yNTY1LDkuMjQ4NjMyIDkuNTQ5OTQsMzMuODkxOTY3IDAuNzk0MywxNS4xMzM4MiAyLjQyNDIyLDI4LjQ5NjAxIDMuNjIxOTgsMjkuNjkzNzkgMS4xOTc3NSwxLjE5Nzc2IDQuOTk3NjksLTAuMzc0MjUgOC40NDQzMSwtMy40OTMzOSA0LjQwMTQsLTMuOTgzMjMgOS4wMzQ4NCwtNS4wNjMxMyAxNS41Njc2MSwtMy42MjgzIDYuNzY3NTYsMS40ODY0MSAxMC42MjcxLDAuNDY4OTUgMTQuMTY5MzgsLTMuNzM1NDMgNS4zMTM2LC02LjMwNjY2IDMxLjkwNTk2LC00OC45MzcyMDEgMzEuOTA1OTYsLTUxLjE0ODc0NCAwLC0wLjc1MTU4OCA1LjI2NTA5LC05Ljc1NzMwNiAxMS43MDAyMywtMjAuMDEyNzAzIDYuNDM1MDksLTEwLjI1NTM5NyAxMy44NDY2NCwtMjIuMDgwNjMxIDE2LjQ3MDA3LC0yNi4yNzgyODMgNC42NjU1OCwtNy40NjUyMDEgNS4zOTY2LC02LjU4MTczNSAzMy40MjY5Miw0MC4zOTg3MzYgMjguOTQxMjEsNDguNTA3MTY0IDQ0LjUxNzY3LDY2LjQwNjU1NCA1Mi4zMTU3LDYwLjExNzYzNCA1LjQ0MiwtNC4zODg4OSAzNC4wMDA1NSwtNC42Mzc5NCA0MS45ODI0NiwtMC4zNjYxNCA0LjUzNjY1LDIuNDI3OTMgNy40MTkxNiwyLjM5NjEgOS45MjQ4NCwtMC4xMDk2MiA1LjIwMDA3LC01LjIwMDA2IDE3LjY0OTgyLC00LjI5NDM3IDIwLjkwNDEyLDEuNTIwNzggMi41NjM5Myw0LjU4MTQ2IDMuMjE3ODQsNC41ODE0NiA3LjAyMDE0LDAgMi4zMDYwNiwtMi43Nzg2NyA5LjEzNjE5LC01LjA1MjA4IDE1LjE3ODAzLC01LjA1MjA4IDguNTM4ODQsMCAxMS43OTMzNiwxLjc3MzY3IDE0LjYxNDAzLDcuOTY0MzcgbCAzLjYyODgxLDcuOTY0MzYgNTYuMDkyMDMsLTEuOTg1OCBjIDMwLjg1MDYyLC0xLjA5MjIyIDU2LjA5MjA0LC0xLjI4Njg4IDU2LjA5MjA0LC0wLjQzMjU1IDAsMC44NTQyNyAtMjIuOTA2MDgsMTAuMDcxOTUgLTUwLjkwMjQxLDIwLjQ4MzcxIC0yNy45OTYzMiwxMC40MTE3MiAtNTEuMzY3LDE5LjI0MzA1IC01MS45MzQ4NCwxOS42MjUxMiAtMC41Njc4NSwwLjM4MjA3IDAuNjk4NDcsOS40OTI3MyAyLjgxNDA1LDIwLjI0NTg4IDUuNTA0NTcsMjcuOTc5MTcgMS45MTQ1OCw0Ni42MjU4OSAtMTEuOTI2MjksNjEuOTQ2MDQgLTYuMjA5LDYuODcyNjMgLTE2LjI4MzM4LDE0LjE0Mzk1IC0yMi4zODc1MywxNi4xNTg0OSAtNi4xMDQxNSwyLjAxNDU0IC0xMS4wOTg0NCw0LjM4NjE0IC0xMS4wOTg0NCw1LjI3MDE5IDAsMC44ODQwNiA2LjUxNTI1LDExLjY3ODkzIDE0LjQ3ODM1LDIzLjk4ODU5IDcuOTYzMDksMTIuMzA5NjkgMTMuMjgyOCwyMi4zODEyNSAxMS44MjE1MiwyMi4zODEyNSAtMi4zODUwNCwwIC02MC40Njk4NywtMjIuNDQyMzggLTE1MC43ODg5OCwtNTguMjYwNyAtMTcuODA5LC03LjA2MjU4IC0zNC4wMjY4MywtMTIuODQxMDkgLTM2LjAzOTYxLC0xMi44NDEwOSAtMy43NTM2MywwIC0zNi4xNjY5LDEyLjI4NjYyIC0xMzEuMjI0MjMsNDkuNzQyMDYgLTU1LjEyNTI1LDIxLjcyMTAzIC01Ny4yOTIxNywyMi40NzM0OCAtNTcuMjkyMTcsMTkuODk0NTEgeiBtIDExMy4xMTY0OCwtNTEuMjUyNjUgYyAyOS4zMjk0OSwtMTEuMzk1MDYgNTguNDE2NTcsLTIyLjUzMDggNjQuNjM3OTgsLTI0Ljc0NjA3IDEwLjcwMDY4LC0zLjgxMDE5IDE0LjI3OTE4LC0yLjg1NDkzIDY2LjI1Mzk0LDE3LjY4NjM0IDMwLjIxODI1LDExLjk0Mjc0IDYwLjAzMjUyLDIzLjU3NTg3IDY2LjI1MzkyLDI1Ljg1MTM0IDYuMjIxNDEsMi4yNzU1MiAxOS4wNDMxNyw3LjIyMDU5IDI4LjQ5Mjc1LDEwLjk4OTA4IDEwLjc3NTAzLDQuMjk3MDQgMTYuMjgyNTEsNS4zMzE2NiAxNC43NzEwOCwyLjc3NDg0IC0xNi44ODM3LC0yOC41NjExMyAtMTcuMzk5OCwtMjkuMDM3MTYgLTI5LjEwMDgzLC0yNi44NDIwNSAtMTQuMTEzNjEsMi42NDc3MiAtMjIuODc4OTcsLTAuMDY4NSAtMjcuMzgzNjksLTguNDg1NTQgLTIuOTIxMTIsLTUuNDU4MTYgLTIuMDI5NDQsLTguMTI3NTkgNS4yNTQ0MiwtMTUuNzMwMzEgMTAuODQ4ODcsLTExLjMyMzc3IDkuMTQ0NTcsLTIxLjc0MTQ0IC00Ljg0NDI5LC0yOS42MTA5OSAtNS4zNjc2NCwtMy4wMTk1OSAtMTIuMTQwNTksLTEwLjQ4MzcyIC0xNS4wNTEwMiwtMTYuNTg2OTcgbCAtNS4yOTE2OSwtMTEuMDk2ODIgLTExLjM0NTUxLDcuNjk5MjggYyAtMTMuOTQ0NTgsOS40NjMwNCAtMzAuOTUwNjIsOS45NTA2MyAtNDUuMTQ3NjQsMS4yOTQ0OCBsIC0xMC40NjQ4OCwtNi4zODA2NSAtMTIuMTU4NDEsOC4yNjI4NCBjIC0xMi4xNzQ2Miw4LjI3Mzg2IC0yNi4xOTEwOCw5LjM0MjggLTQwLjQzNzUyLDMuMDgzOTIgLTMuOTI0OTgsLTEuNzI0MzkgLTUuNjU1ODMsLTEuMDU0MTUgLTUuNjU1ODMsMi4xOTAwOCAwLDIuNTcxMTggLTMuNzA0MjksNi4zNjI2NSAtOC4yMzE4MSw4LjQyNTUzIC0xMy41NzQyLDYuMTg0NzkgLTI2LjgyMTA3LDQuNTQyNDcgLTM1LjgwMjI5LC00LjQzODc1IGwgLTguMTg5NDQsLTguMTg5NDQgLTYuNjA5ODIsOC40MDMwMyBjIC0zLjYzNTM5LDQuNjIxNjYgLTEyLjA0OTUyLDExLjgzNjk4IC0xOC42OTgwNSwxNi4wMzM5OCAtOC4yMjk2NSw1LjE5NTE4IC0xOC40MTc0MSwxNy44NzE4MiAtMzEuOTE2NCwzOS43MTM2MSAtMTAuOTA1NDksMTcuNjQ1NDYgLTE5LjgyODE2LDMyLjk4MDQyIC0xOS44MjgxNiwzNC4wNzc3NiAwLDEuMDk3MyA4LjM2MjU1LC0xLjUyNzM2IDE4LjU4MzQyLC01LjgzMjU5IDEwLjIyMDg5LC00LjMwNTIxIDQyLjU4MDI4LC0xNy4xNTA4NyA3MS45MDk3NywtMjguNTQ1OTMgeiBtIDI0OC43NjcyOSwtMTIuMjU4NDYgYyAyMi4yNTU1NywtMTIuNTA4MzMgMjcuNDE0MjQsLTM1LjY0ODA4IDE3LjU3Njg1LC03OC44NDMxOCAtOC4yMjE0LC0zNi4wOTk2MSAtMTIuMzI1NSwtNDcuOTEzMjcgLTE3LjE5NDk0LC00OS40OTU5NyAtMy4zNjkwMiwtMS4wOTUwMyAtMy44ODY3NCwwLjEwNjk5IC0xLjk4ODU4LDQuNjE2MzUgMTIuMzE1MTYsMjkuMjU3NzEgMTIuOTk5NjMsNDMuOTQ2NjIgMi4yNDAyMiw0OC4wNzU0MSAtNy4zOTE1MSwyLjgzNjQyIC0xNS4yMzIzOSwtNy43OTA3NSAtMjEuMzk5MDIsLTI5LjAwMzI2IC00Ljc3NTEyLC0xNi40MjU4NyAtOS43Njg2MSwtMjMuODI4MzcgLTEzLjUzMzg3LC0yMC4wNjMxMSAtMC45MDE1NywwLjkwMTYgMC42Nzg0OCw2LjEyMTE3IDMuNTExMjQsMTEuNTk5MTMgMi44MzI3Myw1LjQ3NzkgNi43MTcyMSwyMS45NzQ1NSA4LjYzMjE3LDM2LjY1OTIgMS45MTQ5NywxNC42ODQ2MiA1LjYxMzg1LDMwLjA2MDczIDguMjE5NzMsMzQuMTY5MTIgNi43NzE5OCwxMC42NzY2MSAxNy41NTEyOCw4LjEwMzYgMjQuNTIzODIsLTUuODUzODQgNi44OTM3MywtMTMuNzk5NzUgNy42NzI4NCwtNC42MDc4MSAwLjk2OTMsMTEuNDM2MDIgLTYuOTYwNzQsMTYuNjU5MzcgLTI3LjYzNDQyLDIxLjY1NDgxIC01MS41ODQxOCwxMi40NjQ0MiAtMy44MzMzLC0xLjQ3MDk2IC01LjEzMDM5LDAuMDUxNSAtNS4xMzAzOSw2LjAyMDk3IDAsNC4zOTQzMSAtMi45MzYxOCwxMS43MjI0NSAtNi41MjQ4OCwxNi4yODQ3IGwgLTYuNTI0ODgsOC4yOTUwNiA4Ljk0ODgxLDEuNTExMjMgYyAxNS40NDk0NSwyLjYwOTA5IDM2LjYzMzI4LC0wLjc3NjQyIDQ5LjI1ODYsLTcuODcyMjUgeiBtIC0zMjAuMzY2NSwtMjcuNTM3MzMgYyA0Ni40NTk2NSwtMTMuMzU0NSA1NC43NjE4OCwtMjguOTMwOTMgMzkuMzI4ODUsLTczLjc4NzgyIC0zLjU4MTg1LC0xMC40MTA3OSAtNi41MTI0MywtMjEuNjA5NzEgLTYuNTEyNDMsLTI0Ljg4NjU0IDAsLTExLjE1NzEyIC01LjYxMTUyLC02LjAwMTYxIC05LjgxNzEzLDkuMDE5NDMgLTUuNTYyMDMsMTkuODY1NjEgLTIyLjI5MTE1LDM2Ljc1MDUzIC0zNi4zNDUxNiwzNi42ODM2NCAtMTIuMjA1NDcsLTAuMDU4MiAtMTYuMTgyNTEsLTIuMjgwMDggLTIxLjIyMzc4LC0xMS44NTc2OCAtOS4wNDc0OCwtMTcuMTg4ODIgMC44MTQ2OSwtNDMuNTY3OTcgMjUuOTY5NTQsLTY5LjQ2MjcyIDE4LjQyNDMxLC0xOC45NjYzMDQgMjguNDg4OTMsLTIwLjY4Mzk2NSAyOC40ODg5MywtNC44NjIwNSAwLDI0LjY3MzIgLTE3LjAxMTM0LDYwLjk5NDcgLTI1Ljk3MzA5LDU1LjQ1NjA0IC00LjM4MjA1LC0yLjcwODI2IC0zLjY3MTM4LC0xNC42Njc1MiAxLjQxNzIyLC0yMy44NTAwOSA0LjMyNzM1LC03LjgwODgyIDMuNDQ4MTQsLTE5LjcwNzcxIC0xLjQ1NjIsLTE5LjcwNzcxIC01LjY4Njg5LDAgLTE2Ljk0NTQ3LDIwLjcxMTk2IC0xOC40MzMxOCwzMy45MTA3NCAtMS4zMTUxNSwxMS42NjgyNiAtMC40OTI4NiwxNC41MDU0NSA1LjA2NjUyLDE3LjQ4MDcyIDE5LjQ4MjQ0LDEwLjQyNjcgNDUuMDA1MzEsLTIxLjM5NTQ1IDQ2LjI5MDgzLC01Ny43MTU4NCAwLjY3NTA0LC0xOS4wNzMxODEgLTMuMDE2NzYsLTI0LjQ0MTEwNSAtMTQuNzc5MDYsLTIxLjQ4ODk1MSAtMTcuMTE4NzksNC4yOTY1NDMgLTYzLjIzNDgzLDYzLjc4NjY0MSAtNjMuMjM0ODMsODEuNTczNDYxIDAsMTMuOTEyOCA2Ljk4NzM3LDIzLjY5NzI4IDE5LjI4ODI3LDI3LjAwOTYgMjAuOTE0MTksNS42MzE2MiA0MS4xMzUzOSwtNC4zNzM4OSA1NS40NjMzLC0yNy40NDMzOCBsIDYuMDIxNzUsLTkuNjk1NzEgMC4wMTMyLDEzLjE3MjIzIGMgMC4wMTYyLDE5LjA3MzggLTEyLjQyNjE5LDI5LjEyNzQgLTUxLjY5ODE3LDQxLjc2NzkzIC05Ljc3NjQ5LDMuMTQ2OCAtMTguMTgzMzIsNi4wNTQ0MSAtMTguNjgxOCw2LjQ2MTM3IC0xLjgyMDU2LDEuNDg2MzIgMTYuNjg3MzksMjcuNDc1NzEgMTkuNTY2NDQsMjcuNDc1NzEgMS42MzI2MiwwIDExLjE5MTE1LC0yLjM2MzU5IDIxLjI0MTIzLC01LjI1MjM4IHogTSA0NzYuNDExLDIxNy45NjMwMSBjIDQuNjYzNDcsLTUuMTUzMSA1LjQ4NTUxLC0xMC43NTEwMyA0LjQ4NTc5LC0zMC41NDgyMyAtMS4wODczOSwtMjEuNTMzMzEgLTIuMjc3NDYsLTI1LjMzODUxIC0xMC42NjE0MywtMzQuMDg5NDkgLTE1LjE0ODgyLC0xNS44MTE5NCAtMzMuODYxMjMsLTExLjc3ODI4IC0yMi45MDgxOSw0LjkzODE0IDUuODIyNTYsOC44ODYzNyAxMi45MjU0LDcuMzY4NjQgMTAuNDE2NDEsLTIuMjI1ODEgLTEuOTk4NjQsLTcuNjQyNzYgMS43Mjk5OCwtNy44NDM1OCA4LjIyODM5LC0wLjQ0MzIyIDEyLjE5MzAxLDEzLjg4NTM3IDkuMTE1MzQsMzMuMTI2OTggLTUuMjk4NiwzMy4xMjY5OCAtOS44NjcxNiwwIC0xMi45NDE5NSwtNC4yMzE3NiAtMTkuMzczNTMsLTI2LjY2MzE4IC0yLjkzMDU5LC0xMC4yMjA4NyAtNi40OTk2NCwtMTguNTgzNDMgLTcuOTMxMjcsLTE4LjU4MzQzIC00Ljc2ODk5LDAgLTYuODkyODcsNC4yMDg3OCAtMy45MjcyMSw3Ljc4MjQgMS42MTA4OCwxLjk0MTEgNi4wNzIxOCwxNS44OTEyNyA5LjkxNDA0LDMxLjAwMDQxIDkuNjY5MDMsMzguMDI1OTYgMjMuMTc2NjYsNTEuMDQxNDUgMzcuMDU1NiwzNS43MDU0MyB6IG0gLTE4My43NzEyNSwwLjYwMzk1IGMgMS45ODk3OCwtMS4zMzUgMi44OTk3NSwtNy42NDg5MyAyLjA3ODY1LC0xNC40MjMgLTEuMzI0NDksLTEwLjkyNzAyIC0yLjA2NjYyLC0xMS43MjQxIC03Ljk3MjcsLTguNTYzMjcgLTguNDg3MzMsNC41NDIyNyAtMTcuNjA4MzksLTQuMDYzNTEgLTIwLjcwMjIyLC0xOS41MzI2IC0yLjM0NzA3LC0xMS43MzUzOCAtMy4wNjUyNiwtMTEuNTA0ODkgMTQuMDI1NzYsLTQuNTAxNDkgMi4xNDI4OCwwLjg3ODA4IDcuNTk2NzEsLTIuMTA0MDIgMTIuMTE5NjMsLTYuNjI2OTQgOC4yNzQwOCwtOC4yNzQwOCAxMC45OTgwMiwtMTguMjEyOTkgNC45OTE1NiwtMTguMjEyOTkgLTEuNzc3NTQsMCAtMy4yMzE5LDEuNDU0MzYgLTMuMjMxOSwzLjIzMTkgMCw0LjY0OTIzIC04Ljg0MjMxLDMuOTg5ODIgLTEwLjgzNDY1LC0wLjgwNzk3IC0xLjE2MjI0LC0yLjc5ODc5IC0zLjYzODA3LC0xLjgwNTkxIC04LjA1OTE1LDMuMjMxOSAtMy41MDk4NSwzLjk5OTQ4IC03Ljc5NjczLDcuMjcxNzggLTkuNTI2NDEsNy4yNzE3OCAtMS43Mjk2OSwwIC00LjA2NTYsLTMuMjcyMyAtNS4xOTA4OCwtNy4yNzE3OCAtMS45NzE5NSwtNy4wMDg1NiAtMi4yMTM2NiwtNy4wNTI3NyAtNi42NzczNywtMS4yMjE2OSAtMy45MTA2LDUuMTA4NTQgLTMuOTQ1NTcsNi43MzU4MyAtMC4yMjQ2MSwxMC40NTY2MSAzLjk0MDYyLDMuOTQwNjQgMTEuNDI2MTUsMzAuODcxMDIgMTEuNDI2MTUsNDEuMTA3NDQgMCwxMi43Mjg2NyAxNy41MjkzMywyMi43MzgzMiAyNy43NzgzLDE1Ljg2MjEgeiBtIDU4Ljk0MzA5LC0xNi44NzUzMSBjIDEyLjE0NTY3LC0xMi4xNDU2NyAxNS43NDQ1MiwtMzAuMzUxNDMgOS4xMjk0MywtNDYuMTgzNTcgLTUuMTcwMTYsLTEyLjM3Mzk3IC0xNC4xNDQ2NiwtMTcuMDA1MTYgLTI2Ljc5ODc4LC0xMy44MjkxOCAtOS40MDI2MywyLjM1OTkxIC0yMy43MjMxMSwyOS43NzY1OSAtMjMuNzczODcsNDUuNTE1MzYgLTAuMDc5MiwyNC41MjkwMiAyMy4yNTA1MywzMi42OTAwNSA0MS40NDMyMiwxNC40OTczOSB6IG0gLTIyLjA4MzQxLC0xOS40MzQwNyBjIC0zLjU1NTEsLTMuNTU1MSAtNi40MTc1NSwtMTAuNDYzMjggLTYuMzYxMDIsLTE1LjM1MTUzIDAuMDkzNCwtOC4wNzk2NSAwLjQ5MzE1LC04LjM3MzUgNC4zOTYxOSwtMy4yMzE5IDQuODI0NjQsNi4zNTU2OSAxMy4zOTc5Nyw3LjQ1NjY2IDE2LjY4MjQxLDIuMTQyMzIgMS4xOTQzMiwtMS45MzI0MSAwLjU1Mjk1LC01LjEzMjAyIC0xLjQyNTIsLTcuMTEwMTcgLTUuMDgxMzIsLTUuMDgxMzIgLTQuNDY1NjEsLTExLjk5OTYzIDEuMDY3OTIsLTExLjk5OTYzIDYuMTUxMzcsMCAxNC43MjY3OSwxMi41MTQ3NyAxNC43MjY3OSwyMS40OTE5MSAwLDYuNjA2NzQgLTEzLjQ0NDQsMjAuNTIyOCAtMTkuODI3MjQsMjAuNTIyOCAtMS41Mzc4NSwwIC01LjcwNDc2LC0yLjkwODcyIC05LjI1OTg1LC02LjQ2MzggeiBtIDg2LjM0ODk3LDE4LjU4MzQxIGMgMTMuNDEwNzQsLTE0LjYwMjYzIDEyLjEwMzc2LC0zNy4wOTggLTMuMDk4MjUsLTUzLjMyNjM0IC03Ljg1MDU3LC04LjM4MDYgLTI1LjI5Mjk4LC05LjgyNTUyIC0zMi40MzE4NSwtMi42ODY2NCAtNi41ODc2MSw2LjU4NzYxIC0xMy4xNjQ2NSwzMi40OTMwMyAtMTAuNzIxMjIsNDIuMjI4NDEgNS4yMTEyMiwyMC43NjMxOCAzMi40MDA0MSwyOC44NjY1MiA0Ni4yNTEzMiwxMy43ODQ1NyB6IG0gLTI3LjQ1NTY1LC0yMy42MTQ1MiBjIC01LjMwNjIzLC0zLjcxNjY0IC03LjEyOTQxLC04LjE0OTc0IC02Ljk3ODA2LC0xNi45Njc0NyAwLjE2OTM1LC05Ljg2MDMzIDAuNjg0MywtMTAuNzQ5ODEgMi45NjE0NSwtNS4xMTQxNSAzLjM0NTczLDguMjgwMzIgMTAuMzYyOTIsMTEuNDA3MzQgMTYuNTE4MTQsNy4zNjA5IDMuODE3NTMsLTIuNTA5NjMgMy42MzkyOSwtMy42OTU5NyAtMS4xMDEwNCwtNy4zMjkwNyAtNi4zMjE4OSwtNC44NDUyMyAtNy41NTUwOCwtMTEuNzAxOTEgLTIuMTA0NjUsLTExLjcwMTkxIDQuODczNjQsMCAyMi4zMDQwMiwxOS4wNjY2NiAyMi4zMDQwMiwyNC4zOTc3OCAwLDUuMjAzMTYgLTEyLjM3NzM5LDE0LjM4NTAzIC0xOS4zOTEzOSwxNC4zODUwMyAtMi43NjQwNSwwIC04LjI1NzksLTIuMjY0MDIgLTEyLjIwODQ3LC01LjAzMTExIHogbSAxODkuOTYyOTIsLTE0LjI4ODg3IDMzLjkzNDk1LC0xMi43MzY4MiAtMzYuMzU4ODgsLTAuMTMxMjUgYyAtMzIuNTM5MiwtMC4xMTczNiAtMzYuMzU0MjQsMC40NjMwNyAtMzYuMzE0NzUsNS41MjQ3NSAwLjA0MDEsNS4xMjc1NyAzLjMzMDczLDIwLjI4Mzk1IDQuMzcyNywyMC4xMzk2NyAwLjIzNzIyLC0wLjAzMjkgMTUuNzAxNzcsLTUuNzkxMjQgMzQuMzY1OTgsLTEyLjc5NjQ4IHogbSAtNDQzLjQ5MzQzLC0yLjI3OTMgMy40NjgyNSwtMTAuMjg3NjEgLTMwLjQ2Njg2LC0xLjAyNDA0IGMgLTE2Ljc1Njc0NCwtMC41NjMyMiAtMzAuNDYzNTg0LC0wLjEzMjEzIC0zMC40NTk1OCwwLjk1ODA0IDAuMDA1OCwxLjU5NTEzIDUyLjUwNjU3LDIyLjEwNzA3IDUzLjY2MTc0LDIwLjk2NTUyIDAuMTgwMzUsLTAuMTc4NCAxLjg4ODkyLC00Ljk1MzcyIDMuNzk2NDUsLTEwLjYxMTkxIHogbSAyMDguOTA5MiwtMzEuODg2OTUgYyA3LjE2NjY3LDEuMTQ2IDE1LjI0OTgxLDQuMDc5MjQgMTcuOTYyNTYsNi41MTgzNSA0LjIxMjc5LDMuNzg3ODMgNi4wNDUyOCwzLjUyOTY2IDEyLjU2MjA3LC0xLjc2OTg1IDQuMTk2NDMsLTMuNDEyNSA5LjY1MDI2LC02LjIwNDU3IDEyLjExOTYzLC02LjIwNDU3IDIuNDY5MzksMCA0LjQ4OTgyLC0wLjcxMzA4IDQuNDg5ODIsLTEuNTg0NjcgMCwtMy4wMDkxOCAtNDYuNTM5NTQsLTc5LjIxMjUyIC00OC4zMTQ0NywtNzkuMTA5NjEgLTIuMDg1LDAuMTIwODcyIC00OS43ODYwMyw4MC4wODc5OCAtNTEuMjU0NjQsODUuOTI0MzcgLTAuNjE2MzQsMi40NDk1MiAxLjMxODA0LDMuMzUzNzEgNS4wNzM2NCwyLjM3MTYgMy4zMzgzNiwtMC44NzMgNy45NTQxNiwwLjY4MzI2IDEwLjI1NzI3LDMuNDU4MzYgMy43MzU0LDQuNTAwODcgNS4yNjEwOCw0LjE0MjI5IDE0LjEzMDY4LC0zLjMyMDk3IDguNDI2NDcsLTcuMDkwNDEgMTEuOTMwOCwtOC4wNDg4IDIyLjk3MzQ0LC02LjI4MzAxIHoiDQogICAgICAgc3R5bGU9ImZpbGw6IzMzMzMzMztmaWxsLW9wYWNpdHk6MSIgLz4NCiAgICA8cGF0aA0KICAgICAgIHN0eWxlPSJmaWxsOiM2Mzk4YWE7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmUiDQogICAgICAgZD0ibSAzMDkuNTQ1NzksMTQwLjg3OTIyIGMgLTAuNTAwNzUsLTAuMjMzMTEgLTEuMTE4MDQsLTAuNzY3OTkgLTIuNTI3OCwtMi4xOTAzNSAtMS45MTE4OCwtMS45Mjg5NyAtMi42NzE4OCwtMi40OTAxMyAtNC4yNjEwOCwtMy4xNDYyOCAtMi4wODc5MSwtMC44NjIwNCAtNC4zNTQ5LC0xLjA5NDIzIC02LjQ4MjMxLC0wLjY2MzkxIC0xLjg5ODA4LDAuMzgzOTMgLTIuNDI0MzUsMC40MjUyNyAtMy4yODI0MiwwLjI1NzggLTEuNDMyMjQsLTAuMjc5NTMgLTEuOTQxNTcsLTEuMTQ5MjkgLTEuNTM1ODMsLTIuNjIyNzIgMC41MDU3MywtMS44MzY1NyA0LjMzNjkzLC04Ljk0MjU1IDEyLjAwODk5LC0yMi4yNzM4NyAxNS41ODM3LC0yNy4wNzg5ODggMzYuNTM2MjQsLTYxLjIyMDk2OCAzOC44NTA1NiwtNjMuMzA2NjYyIDAuMjU2MzEsLTAuMjMwOTk0IDAuMjY1LC0wLjIzMDk5NCAwLjUyMjQ4LDAgMS4zNzc2OCwxLjIzNTk3NiA5LjQ3NjIsMTMuNzI1ODg5IDIwLjU0MDM2LDMxLjY3ODI5OCAxNC45NjY5NiwyNC4yODUwMDQgMjcuNDExMDIsNDUuNjQzNzE0IDI3LjQxMTAyLDQ3LjA0NzcwNCAwLDAuODU3MjkgLTEuMzE2MDgsMS4zNzIxNSAtNC4wODU5MSwxLjU5ODQ1IC0zLjQ0MjI2LDAuMjgxMjQgLTcuNDI0NzgsMi4zMDE4OCAtMTIuODY4ODcsNi41MjkzNiAtMi41ODcxMiwyLjAwODk4IC0zLjY5MTI2LDIuNzU5MzMgLTQuOTUwNjIsMy4zNjQzOCAtMS4wNDkyOCwwLjUwNDExIC0xLjEzNjkyLDAuNTI0MzcgLTIuMjY4NTQsMC41MjQzNyAtMS4xMTM2OCwwIC0xLjIyNjYxLC0wLjAyNDkgLTIuMDk2MjMsLTAuNDYxMjggLTAuNTEyMTMsLTAuMjU3MDIgLTEuNTA0NjksLTAuOTQ5MyAtMi4yNDE1NSwtMS41NjM0MiAtMi4xNzg0OCwtMS44MTU2MSAtNC43OTkxOCwtMy4xMzYxNCAtOS4wNzE5NywtNC41NzEyNCAtNS40Mjk5NywtMS44MjM3NiAtMTEuMjQ0NTQsLTIuOTE4NCAtMTYuMTk1NTEsLTMuMDQ4OTYgLTMuOTA5MzQsLTAuMTAzMDggLTUuNzEyMDEsMC4yNDc5OCAtOC42NzYwMiwxLjY4OTYzIC0yLjQxOTg4LDEuMTc2OTggLTMuNTg2MjEsMi4wMTMxMSAtOS4xMjQ3NSw2LjU0MTQ1IC01LjYzMzc2LDQuNjA2MTcgLTcuNjM0NDIsNS41NjIwNSAtOS42NjQsNC42MTcyNSB6IiAvPg0KICAgIDxwYXRoDQogICAgICAgc3R5bGU9ImZpbGw6IzYzOThhYTtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSINCiAgICAgICBkPSJtIDEyOC42Mzc4NiwxNzAuNzM5IGMgLTEwLjE1OSwtMi45NjA3IC00NS41MDMxNzEsLTE2LjkxOTYyIC01MC40NTA5MjQsLTE5LjkyNTIzIC0wLjY4MjkxNiwtMC40MTQ4NCAtMC43MzgwOTgsLTAuNDc3ODcgLTAuNTQzMjA3LC0wLjYyMDM4IDEuMTMxNTYzLC0wLjgyNzQxIDEyLjMzNzk4MywtMS4yMzkwMSAyNS4wMDQwMzEsLTAuOTE4MzYgNS4wNTEzMSwwLjEyNzg4IDM1LjUwMTMyLDEuMTMzMjMgMzUuNTUwOSwxLjE3Mzc3IDAuMDk5NywwLjA4MTUgLTYuNTIxNjQsMTkuMjg4OCAtNy4wMzA1MSwyMC4zOTQzMyAtMC4yMTI1MSwwLjQ2MTcgLTAuNjUwNjMsMC40NDM2NyAtMi41MzAyOSwtMC4xMDQxMyB6IiAvPg0KICAgIDxwYXRoDQogICAgICAgc3R5bGU9ImZpbGw6IzYzOThhYTtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSINCiAgICAgICBkPSJtIDU0My42OTQxMywxNzUuMzEwNTUgYyAtMS4zODYyLC0yLjcxMjg3IC0zLjg4NzY5LC0xNC45NzA2NyAtMy45NjA3OCwtMTkuNDA4NTggLTAuMDI4NCwtMS43MjQyNCAwLjE4NjY3LC0yLjQyNzQxIDAuOTYwNiwtMy4xNDA4IDEuNzczNzgsLTEuNjM1MDEgNS4zNzkzOCwtMi4yMjMyIDE1LjI5MDE3LC0yLjQ5NDM0IDUuMDAzNDcsLTAuMTM2ODkgMjguMTAxOSwtMC4xNTc5NiA0NC40MTEyNywtMC4wNDA1IGwgMTEuNDI4NTksMC4wODIzIC0yNy41MTc3LDEwLjMxNDI3IGMgLTI1LjA5MjkyLDkuNDA1NCAtMzkuNjg0NzMsMTQuODQxMjYgLTQwLjIyNDkxLDE0Ljk4NDkgLTAuMTM1MTcsMC4wMzYgLTAuMjY5ODEsLTAuMDY3NCAtMC4zODcyNCwtMC4yOTcyMyBsIDAsMCB6IiAvPg0KICAgIDxwYXRoDQogICAgICAgc3R5bGU9ImZpbGw6IzYzOThhYTtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSINCiAgICAgICBkPSJtIDE3OC4wODgzNSwzMTUuNTE0MzMgYyAwLC0wLjc3MDc4IDMuMjY4OSwtNi41MzMxIDExLjU1Mzk1LC0yMC4zNjY5OCAxOS44NTExOCwtMzMuMTQ2MzEgMjguOTI3MTUsLTQ1LjE2MDEyIDQwLjA3MjkyLC01My4wNDQyOSA5Ljk3MTI3LC03LjA1MzM3IDE1LjMwMjc5LC0xMS45Mjk0IDIxLjI0NTM5LC0xOS40MzAzMyBsIDMuNjY0MDksLTQuNjI0OTIgNC45Mzk5LDQuODU2NTIgYyA4LjY0Nzg0LDguNTAxODkgMTMuODYxMywxMC45NjY2OCAyMy4yOTcxNywxMS4wMTQzMiAxMS41NDA1OCwwLjA1ODMgMjQuMTc4NDksLTYuMzg4MSAyNC4xNzg0OSwtMTIuMzMyOTkgMCwtMS4zMzk4IDAuOTU0MDQsLTIuNzIyMzYgMS44Nzg1NywtMi43MjIzNiAwLjM5MTMyLDAgMi42MTY4NiwwLjY4MzY1IDQuOTQ1NjUsMS41MTkyMyA2LjA2OTkyLDIuMTc3OSA5LjYzMDI4LDIuOTY1NDggMTQuNjA5MTIsMy4yMzE2NSA0LjkzOTk4LDAuMjY0MDkgOC41NDg0OCwtMC4xNzA0IDEzLjM1ODE3LC0xLjYwODQxIDQuNzI1NjEsLTEuNDEyODggNy40NDcwOSwtMi44NTkwNSAxNS41OTgzMywtOC4yODg4MiA0LjEwNzYsLTIuNzM2MTggNy41OTk1NCwtNC45NzQ4NyA3Ljc1OTg4LC00Ljk3NDg3IDAuMTYwMzMsMCAzLjEyNTM0LDEuNzE4OTYgNi41ODg5LDMuODE5OTEgMy40NjM1NiwyLjEwMDk1IDcuNjI1NDIsNC4zODEzMyA5LjI0ODU5LDUuMDY3NTEgMTEuMDY4NjIsNC42NzkxOCAyMy4wMjQ0NSw0LjM3MzkgMzMuOTcxMjYsLTAuODY3NDEgMS45NTc5NSwtMC45Mzc0NyA2LjU2NzkzLC0zLjczMDc0IDEwLjI0NDQsLTYuMjA3MjcgMy42NzY0OCwtMi40NzY1MyA2LjczNjEzLC00LjQ0NTc2IDYuNzk5MjMsLTQuMzc2MDYgMC4wNjMxLDAuMDY5NyAxLjQ1NjA1LDIuOTIwOCAzLjA5NTQ0LDYuMzM1NzggMS42Mzk0LDMuNDE0OTggMy42OTg5NSw3LjI2NjcgNC41NzY3OSw4LjU1OTM3IDMuODAwMDEsNS41OTU3OCA4LjE3NTg4LDkuNzUxNDEgMTQuMDgzNDMsMTMuMzc0NjQgNi4wODEyMiwzLjcyOTc1IDkuODMyMDYsOC42ODY4IDEwLjIxODgyLDEzLjUwNTA3IDAuMzgzNjcsNC43Nzk2OCAtMS43MDMyOSw5LjAxOTM5IC03LjcyMTg5LDE1LjY4NzIxIC00LjY5NzQ3LDUuMjA0MTkgLTUuODczMyw3LjIzNTQgLTUuODYxMTMsMTAuMTI0OTEgMC4wMTIyLDIuODkyNjIgMS43MDEwMyw2LjIyODU0IDQuNjY5NjQsOS4yMjM3OSA0LjgwNTMzLDQuODQ4NDQgMTIuMzQ2MDUsNi4yODc3NyAyMy40MzUzNCw0LjQ3MzE5IDIuNDc0MDgsLTAuNDA0ODQgNS41OTQ3OSwtMC43Mzc1NyA2LjkzNDkxLC0wLjczOTM4IDQuMjg1NTEsLTAuMDA2IDYuOTAzMTksMi4wOTU5NSAxMS44OTI1MSw5LjU0ODU5IDMuNDQzNTEsNS4xNDM2NSAxMC45NzM5NiwxNy43NTUwOCAxMC45NzM5NiwxOC4zNzgzNiAwLDAuMzI0MDcgLTAuMzUxNDUsMC41NTIwOCAtMC44NTA5NywwLjU1MjA4IC0xLjA1MTA5LDAgLTUuNjIzMTQsLTEuMjQzOCAtOC45MzIxNCwtMi40Mjk5NCAtNC4zNDg1LC0xLjU1ODc1IC01Ny4yNzIzOCwtMjIuMDA1MjYgLTc0Ljc0Nzg2LC0yOC44Nzc5NSAtNDYuNjYzNSwtMTguMzUxNjIgLTYyLjAyODA1LC0yNC4yMTI0NiAtNjkuNTM2NTcsLTI2LjUyNDg5IC04LjExNDE3LC0yLjQ5ODk1IC0xMy42NDAyOSwtMy4wODUyMiAtMTguMTI2NjEsLTEuOTIzMDYgLTUuNTc5OTYsMS40NDU0NiAtODEuNzIwNjcsMzAuODY4ODggLTEyNi4xMzI0NSw0OC43NDE5NSAtMjEuOTMxMTksOC44MjYgLTI0LjY3NzQ5LDkuODc1NzcgLTI4Ljc4MTE2LDExLjAwMTU5IC0zLjI2MzAzLDAuODk1MjEgLTMuMTQ0MDcsMC44ODI5NCAtMy4xNDQwNywwLjMyNDI2IHoiIC8+DQogIDwvZz4NCjwvc3ZnPg=='); + background-position: 16px 80%; + background-repeat: no-repeat; + background-size: 20px 12px; + padding-left: 2.5em; +} + +.multi-language-selector .language-option[data-lang='kotlin'], +.exampleblock[data-lang=kotlin] > .content .title { + background-image: url('data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCA2MCA2MCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNjAgNjA7Ij4NCjxnPg0KICAgIDxsaW5lYXJHcmFkaWVudCBpZD0iWE1MSURfM18iIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iMTUuOTU5NCIgeTE9Ii0xMy4wMTQzIiB4Mj0iNDQuMzA2OCIgeTI9IjE1LjMzMzIiIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoMSAwIDAgLTEgMCA2MSkiPg0KCQk8c3RvcCAgb2Zmc2V0PSI5LjY3NzAwMGUtMDIiIHN0eWxlPSJzdG9wLWNvbG9yOiMwMDk1RDUiLz4NCgkJPHN0b3AgIG9mZnNldD0iMC4zMDA3IiBzdHlsZT0ic3RvcC1jb2xvcjojMjM4QUQ5Ii8+DQoJCTxzdG9wICBvZmZzZXQ9IjAuNjIxMSIgc3R5bGU9InN0b3AtY29sb3I6IzU1N0JERSIvPg0KCQk8c3RvcCAgb2Zmc2V0PSIwLjg2NDMiIHN0eWxlPSJzdG9wLWNvbG9yOiM3NDcyRTIiLz4NCgkJPHN0b3AgIG9mZnNldD0iMSIgc3R5bGU9InN0b3AtY29sb3I6IzgwNkVFMyIvPg0KCTwvbGluZWFyR3JhZGllbnQ+DQoJPHBvbHlnb24gaWQ9IlhNTElEXzJfIiBzdHlsZT0iZmlsbDp1cmwoI1hNTElEXzNfKTsiIHBvaW50cz0iMCw2MCAzMC4xLDI5LjkgNjAsNjAgCSIvPg0KICAgIDxsaW5lYXJHcmFkaWVudCBpZD0iU1ZHSURfMV8iIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iNC4yMDkyIiB5MT0iNDguOTQwOSIgeDI9IjIwLjY3MzQiIHkyPSI2NS40MDUiIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoMSAwIDAgLTEgMCA2MSkiPg0KCQk8c3RvcCAgb2Zmc2V0PSIwLjExODMiIHN0eWxlPSJzdG9wLWNvbG9yOiMwMDk1RDUiLz4NCgkJPHN0b3AgIG9mZnNldD0iMC40MTc4IiBzdHlsZT0ic3RvcC1jb2xvcjojM0M4M0RDIi8+DQoJCTxzdG9wICBvZmZzZXQ9IjAuNjk2MiIgc3R5bGU9InN0b3AtY29sb3I6IzZENzRFMSIvPg0KCQk8c3RvcCAgb2Zmc2V0PSIwLjgzMzMiIHN0eWxlPSJzdG9wLWNvbG9yOiM4MDZFRTMiLz4NCgk8L2xpbmVhckdyYWRpZW50Pg0KCTxwb2x5Z29uIHN0eWxlPSJmaWxsOnVybCgjU1ZHSURfMV8pOyIgcG9pbnRzPSIwLDAgMzAuMSwwIDAsMzIuNSAJIi8+DQogICAgPGxpbmVhckdyYWRpZW50IGlkPSJTVkdJRF8yXyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSItMTAuMTAxNyIgeTE9IjUuODM2MiIgeDI9IjQ1LjczMTUiIHkyPSI2MS42Njk0IiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDEgMCAwIC0xIDAgNjEpIj4NCgkJPHN0b3AgIG9mZnNldD0iMC4xMDc1IiBzdHlsZT0ic3RvcC1jb2xvcjojQzc1N0JDIi8+DQoJCTxzdG9wICBvZmZzZXQ9IjAuMjEzOCIgc3R5bGU9InN0b3AtY29sb3I6I0QwNjA5QSIvPg0KCQk8c3RvcCAgb2Zmc2V0PSIwLjQyNTQiIHN0eWxlPSJzdG9wLWNvbG9yOiNFMTcyNUMiLz4NCgkJPHN0b3AgIG9mZnNldD0iMC42MDQ4IiBzdHlsZT0ic3RvcC1jb2xvcjojRUU3RTJGIi8+DQoJCTxzdG9wICBvZmZzZXQ9IjAuNzQzIiBzdHlsZT0ic3RvcC1jb2xvcjojRjU4NjEzIi8+DQoJCTxzdG9wICBvZmZzZXQ9IjAuODIzMiIgc3R5bGU9InN0b3AtY29sb3I6I0Y4ODkwOSIvPg0KCTwvbGluZWFyR3JhZGllbnQ+DQoJPHBvbHlnb24gc3R5bGU9ImZpbGw6dXJsKCNTVkdJRF8yXyk7IiBwb2ludHM9IjMwLjEsMCAwLDMxLjcgMCw2MCAzMC4xLDI5LjkgNjAsMCAJIi8+DQo8L2c+DQo8L3N2Zz4='); + background-position: 17px 80%; + background-repeat: no-repeat; + background-size: 11px 11px; + padding-left: 2.3em; +} + +.multi-language-selector { + display: block; +} + +.multi-language-selector .language-option[data-lang='yaml'] { + background-position: 20px center; + padding-left: 32px; +} + +.multi-language-selector .language-option[data-lang='toml'] { + background-position: 20px center; + padding-left: 32px; +} + +.multi-language-selector .language-option[data-lang='hocon'] { + background-position: 20px center; + padding-left: 32px; +} + +.multi-language-selector .language-option[data-lang='properties'] { + background-position: 20px center; + padding-left: 32px; +} + +.multi-language-selector .language-option[data-lang='groovy-config'] { + background-position: 20px center; + padding-left: 32px; +} + +.multi-language-selector .language-option[data-lang='json-config'] { + background-position: 20px center; + padding-left: 32px; +} + +.multi-language-selector .language-option[data-lang='java'] { + background-position: 20px center; + padding-left: 32px; +} + +.multi-language-selector .language-option[data-lang='maven'] { + background-position: 20px center; + padding-left: 32px; +} +.multi-language-selector .language-option[data-lang='gradle'] { + background-position: 20px center; + padding-left: 32px; +} + +.multi-language-selector .language-option[data-lang='gradle-groovy'] { + background-position: 30px center; + padding-left: 54px; +} + +.multi-language-selector .language-option[data-lang='gradle-kotlin'] { + background-position: 30px center; + padding-left: 56px; +} + +.multi-language-selector .language-option[data-lang='groovy'] { + background-position: 20px center; + padding-left: 32px; +} + +.multi-language-selector .language-option[data-lang='kotlin'] { + background-position: 30px center; + padding-left: 27px; +} + +.multi-language-selector .language-option { + background-color: white; + border: 1px solid #f7f7f8; + border-radius: 4px 4px 0 0; + cursor: pointer; + display: inline-block; + font-weight: normal; + font-family: 'Lato', Arial, sans-serif; + margin: 0; + padding: 4px 20px; + min-width: 130px; + max-width: 320px; + text-align: center; + filter: grayscale(1); + -webkit-filter: grayscale(1); + opacity: 0.7; +} + +.multi-language-selector .language-option.selected { + background-color: #f7f7f8; + color: #000000; + font-weight: bold; + filter: none; + -webkit-filter: none; + opacity: 1; +} + +.hidden { + display: none; +} + +.multi-language-sample { + border-radius: 0 0 4px 4px; +} diff --git a/4.8.1/css/pdf.css b/4.8.1/css/pdf.css new file mode 100644 index 00000000..cd4700d8 --- /dev/null +++ b/4.8.1/css/pdf.css @@ -0,0 +1,160 @@ +@import "custom-pdf.css"; + +/* page layout and page numbering */ +@page { + size: a4; + font-family:Arial; +} + +@page :left { + @bottom-left { + content: counter(page); + vertical-align: middle; + margin: 0.8em 0; + font-size: 12pt; + } +} + +@page :right { + @bottom-right { + content: counter(page); + vertical-align: middle; + margin: 0.8em 0; + font-size: 12pt; + } +} + +.body { + margin: 0; + padding: 0; + font-size: 12pt; + background-color: white; +} + +#navigation { + display:none; +} + +#main { + margin: 0; + border: none; +} + +#header { + margin:0; + padding:0; + background:url(../img/bg.png) no-repeat; +} + +#header .images .rsalogo{ + display:none; +} + +.body #header .message{ + color:#FFFFFF; + font-size:16px; + margin-left:60px; + margin-top:730px; + border-bottom:none; + text-align:left; +} + +/* style overrides */ + +.paragraph { + text-align:center; + margin: 0.2em 0; + padding: 0.2em 0; +} + +div.project > h1 { + page-break-before: avoid; +} + +h1 { + font-family: helvetica,arial,sans-serif; + font-size: 1.5em; + string-set: header content(); + page-break-before: always +} + +h1>a { + font-size: 1em; + string-set: header content(); + page-break-before: always +} + +h2 { + font-family: helvetica,arial,sans-serif; + font-size: 1.3em; +} + +h3 { + font-family: helvetica,arial,sans-serif; + font-size: 1.2em; +} + +h4 { + font-family: helvetica,arial,sans-serif; + font-size: 1.1em; +} + +h1, h2, h3, h1>a, h2>a, h3>a { + color:#000000; +} + +#toc div.tocItem { + list-style: none; + margin: 0; + padding: 0; +} + +#toc div.tocItem a::after { + content: leader('.') target-counter(attr(href), page); + font-style: normal; +} + +#col1 { + width: 100%; +} + +#col2 { + width: 0; +} + +#col2 .local { + display: none; +} + +div.title { + font-size: 20px; +} + +.code pre { + text-align: left; + padding-left:5px; + font-size: 0.85em; + line-height: 100%; + white-space: pre-wrap; + page-break-inside: avoid; +} + +.bq { + white-space: pre-wrap; + page-break-inside: avoid; +} + +.code, .bq { + text-align: left; + margin-bottom: 1em; +} + +.warning, .note{ + background-position:10px 10px; +} + +.warning, .note, table { + margin-top: 1em; + margin-bottom: 1em; + page-break-inside: avoid; +} diff --git a/4.8.1/css/ref.css b/4.8.1/css/ref.css new file mode 100644 index 00000000..adf22ded --- /dev/null +++ b/4.8.1/css/ref.css @@ -0,0 +1,431 @@ +@import "tools.css"; +@import "skin.css"; + +/* +//////////////////////////////////////////////////////////////////////////////// +// +// Body & Html. +// +//////////////////////////////////////////////////////////////////////////////// +*/ + +body { + font-family: Arial; +} + +.body { + margin-left: 30px; + font-family: Tahoma, Verdana, Arial; + font-size:95%; +} + +h1 { + font-family: Arial, Verdana, Tahoma; + border-bottom:1px solid #eeeeee; + font-size:1.2em; + margin-left:30px; + margin-top:50px; +} + +h2 { + font-family: Arial, Verdana, Tahoma; + font-weight:normal; + font-style: italic; + font-size:1.0em; + margin-left:30px; +} + +p { + margin-left:50px; +} + +ul { + + margin-left:50px; +} + +ol { + + margin-left:50px; +} + +blockquote { + margin-left:50px; +} + +/** +* Wiki text stylesheet definitions. +* @author Matthias L. Jugel +* @version $Id: SnipSnap-Theme.snip,v 1.1.2.1 2004/01/26 14:07:31 leo Exp $ +*/ + +.bold { + font-weight: bold; +} + +.italic { + font-style: italic; +} + +/************************************************/ +/* image positioning */ +img { + margin-top: 1px; + margin-bottom: 1px; + vertical-align: middle; +} + +img.left { + display: block; + left: 0px; +} + +img.right { + display: block; + right: 0px; +} + +img.center { + text-align: center; +} + +img.float-left { + float: left; + margin-top: 3px; + margin-right: 3px; + margin-bottom: 3px; +} + +img.float-right { + float: right; + margin-top: 3px; + margin-left: 3px; + margin-bottom: 3px; +} + +/* +.graph-image { + position: relative; + width: 100%; +} +*/ + +.heading-1 { + font-weight: bold; + font-size: 14px; + font-variant: small-caps; +} + +.heading-1-1 { + font-size: 12px; + font-variant: small-caps; +} + +.heading-1-1-1 { + font-size: 12px; +} + +.quote { + font-style: italic; + color: inherit; + background-color: inherit; + font-family: inherit; + font-size: inherit; +} + +.warning { + background-image: url(../img/warning.gif); + background-repeat: no-repeat; + background-position: 7 7; + border: 1px solid #CC0000; + margin-top: 4px; + margin-bottom: 4px; + margin-left:50px; + padding: 10px; + padding-left: 40px; + line-height: 100%; + width: 85%; + background-color: #FFCCCC; +} + +.note { + background-image: url(../img/note.gif); + background-repeat: no-repeat; + background-position: 7 7; + border: 1px solid #F0C000; + margin-top: 4px; + margin-bottom: 4px; + margin-left:50px; + padding: 10px; + padding-left: 40px; + line-height: 100%; + width: 85%; + background-color: #FFFFCE; +} +/************************************************/ +/* code formatting */ +.bq { + margin-top: 4px; + margin-bottom: 4px; + margin-left:40px; + padding: 5px 5px 5px 5px; + padding-bottom: 15px; + color: inherit; + background-color: #F0F0F0; + border: 1px dashed black; + font-family: courier, courier new, monospace; + font-size: 12px; + line-height: 100%; + white-space: pre; + width: 90%; + overflow: auto; + overflow: scroll -moz-scrollbars-horizontal; + overflow-x: auto; +} +.code { + margin-top: 4px; + margin-bottom: 4px; + margin-left:40px; + padding: 5px 5px 5px 5px; + color: inherit; + background-color: #F0F0F0; + border: 1px dashed black; + font-family: courier, courier new, monospace; + font-size: 12px; + line-height: 100%; + white-space: pre; + width: 90%; + overflow: auto; + overflow: scroll -moz-scrollbars-horizontal; + overflow-x: auto; +} +/* Paragraphs are created inside code blocks after blank lines */ +.code p { + margin-left: 0px; +} +table .code { + margin-left:0px; +} + +.java-keyword { + font-weight: bold; + background-color: inherit; +} + +.java-object { + background-color: inherit; +} + +.java-quote { + background-color: inherit; +} + +.xml-keyword { + font-weight: bold; +} + +.xml-tag { + color: #0000aa; + background-color: inherit; +} + +/* weblog formatting */ +.blog-date { + display: block; + background-color: #f8f8f8; + color: black; + font-family: verdana, sans-serif; + font-size: 16px; + font-weight: bold; + margin-bottom: 10px; + width: 100%; +} + +/* special formatting of a wiki table */ +.wiki-table { + border-style: solid; + border-color: black; + border-width: 0px 1px 1px 1px; + empty-cells: show; +} + +.wiki-table td { + border-top: 1px solid black; + padding: 4px 4px 4px 4px; +} + +.wiki-table th { + border-top: 1px solid black; + text-align: left; + color: inherit; + font-weight: bold; /* background-color: #DDEEFF; */ + padding: 4px 4px 4px 4px; + font-size: 12px; +} + +.wiki-table .table-odd { + color: inherit; + background-color: #F8F8F8; +} + +.wiki-table .table-even { +} + +/************************************************/ +/* list formatting */ + +.list { +} + +.list-title { + font-weight: bold; +} + +.list ul { + margin-top: 0px; + margin-bottom: 0px; + margin-left: 0px; + padding-left: 0px; + list-style-type: none; +} + +/* wiki lists */ + +ul.minus { + list-style-type: square; +} + +ul.star { + list-style-type: disc; +} + +ol.roman { + list-style-type: lower-roman; +} + +ol.ROMAN { + list-style-type: upper-roman; +} + +ol.alpha { + list-style-type: lower-alpha; +} + +ol.ALPHA { + list-style-type: upper-alpha; +} + +ol.greek { + list-style-type: lower-greek; +} + +ol.GREEK { + list-style-type: upper-greek; +} + +ol.hiragana { + list-style-type: hiragana; +} + +ol.HIRAGANA { + list-style-type: hiragana-iroha; +} + +ol.katakana { + list-style-type: katakana; +} + +ol.KATAKANA { + list-style-type: katakana-iroha; +} + +ol.HEBREW { + list-style-type: hebrew; +} + +/************************************************/ +/* index formatting */ +.index-top { +} + +.index-top th { + padding: 1px 1px 1px 1px; + text-align: left; + color: inherit; + font-weight: bold; + background-color: #d9e4f9; +} + +.index { +} + +.index td { + padding: 1px 1px 1px 1px; +} + +.index th { + padding: 1px 1px 1px 1px; + text-align: left; + color: inherit; + font-weight: bold; + background-color: #d9e4f9; +} + +/************************************************/ +/* calendar display */ +.calendar { + border-spacing: 0px; + font-size: 0.7em; +} + +.calendar td { + text-align: right; + padding: 0px; +} + +.calendar caption { + font-size: 1em; + text-align: left; + font-weight: bold; +} + +.calendar .today { + border: 3px solid #cccccc; +} + +li { + margin-bottom: 2px; + margin-top: 2px; +} + +/* +//////////////////////////////////////////////////////////////////////////////// +// +// CSS 3. +// +//////////////////////////////////////////////////////////////////////////////// +*/ + +.corner-all, #nav-summary #nav-summary-childs { + border-radius: 5px; + -moz-border-radius: 5px; + -webkit-border-radius: 5px; +} + +#navigation a { + border-radius: 14px; + -moz-border-radius: 14px; + -webkit-border-radius: 14px; +} + +#footer, #table-of-content a:hover, #navigation #nav-summary-childs a { + text-shadow: 0px 1px 0px rgba(255, 255, 255, 0.9); +} + +.wiki-table th strong { + text-shadow: 0px 1px 0px rgba(255, 255, 255, 0.5); +} + +#navigation a, #nav-summary #nav-summary-childs a:hover { + text-shadow: 0px 1px 0px rgba(0, 0, 0, 0.8); +} diff --git a/4.8.1/css/skin.css b/4.8.1/css/skin.css new file mode 100644 index 00000000..6418c592 --- /dev/null +++ b/4.8.1/css/skin.css @@ -0,0 +1,186 @@ +/* +//////////////////////////////////////////////////////////////////////////////// +// +// Color. +// +//////////////////////////////////////////////////////////////////////////////// +*/ +body { + font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;; +} +body, .wiki-table th strong { + color: #444; +} + +a, +a:hover, +a:focus, +a:active, +a:hover, +#main .project strong, +#table-of-content a:hover strong, +#table-of-content a strong, +.menu .menu-block h1, +.menu a:hover, +.local .local-title .toggle a, +#navigation #nav-summary-childs a:hover, +#main h1, +#main h2 { + color: #feb672; + font-weight: bold; +} + +#main .project h1, #table-of-content h2 { + color: #444; +} + +#footer { + color: #999; +} + +#footer a, .menu a, .local .local-title a, .local .local-title .toggle, + #navigation #nav-summary-childs a { + color: #333; +} + +.java-keyword, .java-object { + color: #0911ff; +} + +.java-quote { + color: #268000; +} + +#navigation a, #nav-summary #nav-summary-childs a:hover { + color: white; +} + +.toc-item a { + text-decoration: none; +} + +.toc-item a:hover { + text-decoration: underline; +} + +/* +//////////////////////////////////////////////////////////////////////////////// +// +// Background Color. +// +//////////////////////////////////////////////////////////////////////////////// +*/ + +#main { + background: white; +} + +.code, #navigation #nav-summary-childs { + background: #F2f2F2; +} + + +#navigation .selected a { + background: #424649; +} + +#navigation a:hover { + background: #db4800; +} + +#navigation .selected a:hover, #navigation .active .button { + background: #db4800; +} + +/* +//////////////////////////////////////////////////////////////////////////////// +// +// Background Image. +// +//////////////////////////////////////////////////////////////////////////////// +*/ + + +.menu .menu-item { + background: url(../img/default/bullet.gif) no-repeat 2px 8px; +} + +.local .local-title { + background: #F2F2F2 url(../img/default/separator-horizontal.gif) repeat-x 0 bottom; +} + +.wiki-table th, #navigation { + background: #424649; +} + +#navigation .separator { + background: url(../img/default/separator-menu.png) no-repeat 0 center; +} + +.navTitle { + color:#fff; + background: url(../img/grails.svg) no-repeat 0 center; + background-size: 80px; + padding-left: 90px; + width: 180px; + float: right; + line-height: 3.1em; + height: 75px; + padding-top: 25px; +} +.btn-default { + background-color: #fff; + border-color: #ccc; + color: #333; +} +.btn { + -moz-user-select: none; + background-image: none; + border: 1px solid; + border-radius: 4px; + cursor: pointer; + display: inline-block; + font-size: 14px; + font-weight: normal; + line-height: 1.42857; + margin-bottom: 0; + padding: 6px 12px; + text-align: center; + vertical-align: middle; + white-space: nowrap; +} +.contribute-btn { + bottom: 40px; + float: right; + position: relative; + right: 0; +} + +/* +//////////////////////////////////////////////////////////////////////////////// +// +// Border Color. +// +//////////////////////////////////////////////////////////////////////////////// +*/ + +#main { + border-color: #d3d3d3; + border-style: solid; +} + +#navigation { + border-style: solid; + border-color: #7c7c7c; +} + +.code { + border-style: dashed; + border-color: #333; +} + +#navigation #nav-summary-childs { + border-style: solid; + border-color: #888; + border-top-color: #444; +} diff --git a/4.8.1/css/tools.css b/4.8.1/css/tools.css new file mode 100644 index 00000000..b640414b --- /dev/null +++ b/4.8.1/css/tools.css @@ -0,0 +1,128 @@ +/*! + * Font Awesome 4.1.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */ +@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.1.0');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.1.0') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff?v=4.1.0') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.1.0') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.1.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font-family:FontAwesome;font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:spin 2s infinite linear;-moz-animation:spin 2s infinite linear;-o-animation:spin 2s infinite linear;animation:spin 2s infinite linear}@-moz-keyframes spin{0%{-moz-transform:rotate(0deg)}100%{-moz-transform:rotate(359deg)}}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg)}}@-o-keyframes spin{0%{-o-transform:rotate(0deg)}100%{-o-transform:rotate(359deg)}}@keyframes spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);-ms-transform:rotate(270deg);-o-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);-webkit-transform:scale(-1, 1);-moz-transform:scale(-1, 1);-ms-transform:scale(-1, 1);-o-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);-webkit-transform:scale(1, -1);-moz-transform:scale(1, -1);-ms-transform:scale(1, -1);-o-transform:scale(1, -1);transform:scale(1, -1)}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-square:before,.fa-pied-piper:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"} +/* +//////////////////////////////////////////////////////////////////////////////// +// +// Style de base. +// +//////////////////////////////////////////////////////////////////////////////// +*/ + +html { + font-size: 100%; +} + +body { + margin: 0; + padding: 0; + font-size: .8em; + line-height: 1.2; + color: black; + background: white; +} + +h1, h2, h3, h4, h5, h6 { + margin: 1em 0 .5em 0; + line-height: 1.1; + font-weight: bold; + font-style: normal; +} +h1 { + font-size: 1.75em; +} +h2 { + font-size: 1.5em; +} +h3 { + font-size: 1.4em; +} +h4 { + font-size: 1.3em; +} + +ul, ol { + margin: .75em 0 .75em 32px; + padding: 0; +} + +p { + margin: 1em 0; +} + +address { + margin: .75em 0; + font-style: normal; +} + +a { + text-decoration: underline; +} + +a:active { + outline: none; +} +a img { + border: none; +} + +em { + font-style: italic; +} + +strong { + font-weight: bold; +} + +form, fieldset { + margin: 0; + padding: 0; + border: none; +} + +input, button, select { + vertical-align: middle; +} + +/* +//////////////////////////////////////////////////////////////////////////////// +// +// Clearfix. +// +//////////////////////////////////////////////////////////////////////////////// +*/ + +.clearfix:after +{ + content: "."; + display: block; + clear: both; + visibility: hidden; + line-height: 0; + font-size: 0; + height: 0; +} + +.clearfix +{ + display: inline-block; +} + +html[xmlns] .clearfix +{ + display: block; +} + +* html .clearfix +{ + height: 1%; +} + + +#toggle-col1{ + display: none; + float: right; + padding-left: 50px; +} diff --git a/4.8.1/fonts/FontAwesome.otf b/4.8.1/fonts/FontAwesome.otf new file mode 100644 index 00000000..3461e3fc Binary files /dev/null and b/4.8.1/fonts/FontAwesome.otf differ diff --git a/4.8.1/fonts/fontawesome-webfont.eot b/4.8.1/fonts/fontawesome-webfont.eot new file mode 100755 index 00000000..6cfd5660 Binary files /dev/null and b/4.8.1/fonts/fontawesome-webfont.eot differ diff --git a/4.8.1/fonts/fontawesome-webfont.svg b/4.8.1/fonts/fontawesome-webfont.svg new file mode 100755 index 00000000..a9f84695 --- /dev/null +++ b/4.8.1/fonts/fontawesome-webfont.svg @@ -0,0 +1,504 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/4.8.1/fonts/fontawesome-webfont.ttf b/4.8.1/fonts/fontawesome-webfont.ttf new file mode 100755 index 00000000..5cd6cff6 Binary files /dev/null and b/4.8.1/fonts/fontawesome-webfont.ttf differ diff --git a/4.8.1/fonts/fontawesome-webfont.woff b/4.8.1/fonts/fontawesome-webfont.woff new file mode 100755 index 00000000..9eaecb37 Binary files /dev/null and b/4.8.1/fonts/fontawesome-webfont.woff differ diff --git a/4.8.1/guide/configurationreference.html b/4.8.1/guide/configurationreference.html new file mode 100644 index 00000000..a25588ee --- /dev/null +++ b/4.8.1/guide/configurationreference.html @@ -0,0 +1,87 @@ + + + + Configuration Reference | Micronaut + + + + + + + + + + + + +
    + +
    +
    +

    Configuration Reference

    +

    Version:4.8.1

    +

    +
    +
    +

    Micronaut Validation Config Properties

    +🔗 + + +++++ + + + + + + + + + + + + + + + + + + + +
    Table 1. Configuration Properties for DefaultValidatorConfiguration
    PropertyTypeDescription

    micronaut.validator.enabled

    boolean

    Sets whether Micronaut’s validator is enabled.

    micronaut.validator.bean-introspector

    BeanIntrospector

    +
    +
    +
    +
    + + \ No newline at end of file diff --git a/4.8.1/guide/index.html b/4.8.1/guide/index.html new file mode 100644 index 00000000..d9a1dd9a --- /dev/null +++ b/4.8.1/guide/index.html @@ -0,0 +1,1554 @@ + + + + Micronaut Validation + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    +
    +

    Micronaut Validation

    +

    +

    Validation support for Micronaut

    +

    Version: 4.8.1

    +
    + +

    1 Introduction

    + +
    + +
    + + +
    +

    Micronaut Validation is a customizable validation solution for your applications.

    +
    +
    + + + + + +
    + + +Micronaut Validation was moved to a separate module for Micronaut version 4.0.0. For previous versions of Micronaut, refer to the Micronaut User Guide. +
    +
    + +

    2 Release History

    + +
    + +
    + + +
    +

    For this project, you can find a list of releases (with release notes) here:

    +
    + + +

    3 Quick Start

    + +
    + +
    + + +
    +

    To use the Micronaut’s validation capabilities you must have the validation dependency on your classpath:

    +
    +
    +

    +
    +
    +
    annotationProcessor("io.micronaut.validation:micronaut-validation-processor")
    +
    +
    +
    +
    +
    +
    <annotationProcessorPaths>
    +    <path>
    +        <groupId>io.micronaut.validation</groupId>
    +        <artifactId>micronaut-validation-processor</artifactId>
    +    </path>
    +</annotationProcessorPaths>
    +
    +

    +
    +
    +

    +
    +
    +
    implementation("io.micronaut.validation:micronaut-validation")
    +
    +
    +
    +
    +
    <dependency>
    +    <groupId>io.micronaut.validation</groupId>
    +    <artifactId>micronaut-validation</artifactId>
    +</dependency>
    +
    +

    +
    +
    +

    You can validate types, fields and parameters by applying jakarta.validation annotations to arguments. The jakarta.validation-api library exposes those annotations, but it unnecessary to specify it as a direct dependency. It is included transitively when using micronaut-validation.

    +
    +
    +

    Supported Features

    +
    +
    +

    Note that Micronaut’s implementation is not currently fully compliant with the Bean Validator specification as the specification heavily relies on reflection-based APIs.

    +
    +
    +

    The following features are unsupported at this time:

    +
    +
    +
      +
    • +

      Any interaction with the constraint metadata API, since Micronaut uses compile-time generated metadata.

      +
    • +
    • +

      XML-based configuration

      +
    • +
    • +

      Instead of using jakarta.validation.ConstraintValidator, use ConstraintValidator (io.micronaut.validation.validator.constraints.ConstraintValidator) to define custom constraints, which supports validating annotations at compile time.

      +
    • +
    +
    +
    +

    Micronaut’s implementation includes the following benefits:

    +
    +
    +
      +
    • +

      Reflection and Runtime Proxy free validation, resulting in reduced memory consumption

      +
    • +
    • +

      Smaller JAR size since Hibernate Validator adds another 1.4MB

      +
    • +
    • +

      Faster startup since Hibernate Validator adds 200ms+ startup overhead

      +
    • +
    • +

      Configurability via Annotation Metadata

      +
    • +
    • +

      Support for Reactive Bean Validation

      +
    • +
    • +

      Support for validating the source AST at compile time

      +
    • +
    • +

      Automatic compatibility with GraalVM native without additional configuration

      +
    • +
    +
    +
    +

    If you require full Bean Validator 2.0 compliance, add the micronaut-hibernate-validator module to your build, which replaces Micronaut’s implementation.

    +
    +
    +

    +
    +
    +
    implementation("io.micronaut.beanvalidation:micronaut-hibernate-validator")
    +
    +
    +
    +
    +
    <dependency>
    +    <groupId>io.micronaut.beanvalidation</groupId>
    +    <artifactId>micronaut-hibernate-validator</artifactId>
    +</dependency>
    +
    +

    +
    +
    +
    + +

    4 Validating Bean Methods

    + +
    + +
    + + +
    +

    You can validate methods of any class declared as a Micronaut bean by applying jakarta.validation annotations to arguments:

    +
    +
    +
    Validating Methods
    +
    +
    import jakarta.inject.Singleton;
    +
    +import jakarta.validation.constraints.NotBlank;
    +
    +@Singleton
    +public class PersonService {
    +    public void sayHello(@NotBlank String name) {
    +        System.out.println("Hello " + name);
    +    }
    +}
    +
    +
    +
    +
    Validating Methods
    +
    +
    import jakarta.inject.Singleton
    +import jakarta.validation.constraints.NotBlank
    +
    +@Singleton
    +class PersonService {
    +    void sayHello(@NotBlank String name) {
    +        println "Hello $name"
    +    }
    +}
    +
    +
    +
    +
    Validating Methods
    +
    +
    import jakarta.inject.Singleton
    +import jakarta.validation.constraints.NotBlank
    +
    +@Singleton
    +open class PersonService {
    +    open fun sayHello(@NotBlank name: String) {
    +        println("Hello $name")
    +    }
    +}
    +
    +
    +
    +

    The above example declares that the @NotBlank annotation will be validated when invoking the sayHello method.

    +
    +
    + + + + + +
    + + +If you use Kotlin, the class and method must be declared open so Micronaut can create a compile-time subclass. Alternatively you can annotate the class with @Validated and configure the Kotlin all-open plugin to open classes annotated with this type. See the Compiler plugins section. +
    +
    +
    +

    A jakarta.validation.ConstraintViolationException is thrown if a validation error occurs. For example:

    +
    +
    +
    ConstraintViolationException Example
    +
    +
    import io.micronaut.test.extensions.junit5.annotation.MicronautTest;
    +import jakarta.inject.Inject;
    +import org.junit.jupiter.api.Test;
    +
    +import jakarta.validation.ConstraintViolationException;
    +
    +import static org.junit.jupiter.api.Assertions.assertEquals;
    +import static org.junit.jupiter.api.Assertions.assertThrows;
    +
    +@MicronautTest
    +class PersonServiceSpec {
    +
    +    @Inject PersonService personService;
    +
    +    @Test
    +    void testThatNameIsValidated() {
    +        final ConstraintViolationException exception =
    +                assertThrows(ConstraintViolationException.class, () ->
    +                personService.sayHello("") // (1)
    +        );
    +
    +        assertEquals("sayHello.name: must not be blank", exception.getMessage()); // (2)
    +    }
    +}
    +
    +
    +
    +
    ConstraintViolationException Example
    +
    +
    import io.micronaut.test.extensions.spock.annotation.MicronautTest
    +import spock.lang.Specification
    +
    +import jakarta.inject.Inject
    +import jakarta.validation.ConstraintViolationException
    +
    +@MicronautTest
    +class PersonServiceSpec extends Specification {
    +
    +    @Inject PersonService personService
    +
    +    void "test person name is validated"() {
    +        when:"The sayHello method is called with a blank string"
    +        personService.sayHello("") // (1)
    +
    +        then:"A validation error occurs"
    +        def e = thrown(ConstraintViolationException)
    +        e.message == "sayHello.name: must not be blank" //  (2)
    +    }
    +}
    +
    +
    +
    +
    ConstraintViolationException Example
    +
    +
    import io.micronaut.test.extensions.junit5.annotation.MicronautTest
    +import org.junit.jupiter.api.Assertions.assertEquals
    +import org.junit.jupiter.api.Assertions.assertThrows
    +import org.junit.jupiter.api.Test
    +import jakarta.inject.Inject
    +import jakarta.validation.ConstraintViolationException
    +
    +@MicronautTest
    +class PersonServiceSpec {
    +
    +    @Inject
    +    lateinit var personService: PersonService
    +
    +    @Test
    +    fun testThatNameIsValidated() {
    +        val exception = assertThrows(ConstraintViolationException::class.java) {
    +            personService.sayHello("") // (1)
    +        }
    +
    +        assertEquals("sayHello.name: must not be blank", exception.message) // (2)
    +    }
    +}
    +
    +
    +
    + + + + + + + + + +
    1The method is called with a blank string
    2An exception occurs
    +
    + +

    5 Validating Data Classes

    + +
    + +
    + + +
    +

    To validate data classes, e.g. POJOs (typically used in JSON interchange), the class must be annotated with @Introspected (see Micronaut Guide Introspection section) or, if the class is external, be imported by the @Introspected annotation.

    +
    +
    +
    POJO Validation Example
    +
    +
    import io.micronaut.core.annotation.Introspected;
    +
    +import jakarta.validation.constraints.Min;
    +import jakarta.validation.constraints.NotBlank;
    +
    +@Introspected
    +public class Person {
    +
    +    private String name;
    +
    +    @Min(18)
    +    private int age;
    +
    +    @NotBlank
    +    public String getName() {
    +        return name;
    +    }
    +
    +    public int getAge() {
    +        return age;
    +    }
    +
    +    public void setName(String name) {
    +        this.name = name;
    +    }
    +
    +    public void setAge(int age) {
    +        this.age = age;
    +    }
    +}
    +
    +
    +
    +
    POJO Validation Example
    +
    +
    import io.micronaut.core.annotation.Introspected
    +
    +import jakarta.validation.constraints.Min
    +import jakarta.validation.constraints.NotBlank
    +
    +@Introspected
    +class Person {
    +
    +    @NotBlank
    +    String name
    +
    +    @Min(18L)
    +    int age
    +}
    +
    +
    +
    +
    POJO Validation Example
    +
    +
    import io.micronaut.core.annotation.Introspected
    +import jakarta.validation.constraints.Min
    +import jakarta.validation.constraints.NotBlank
    +
    +@Introspected
    +data class Person(
    +    @field:NotBlank var name: String,
    +    @field:Min(18) var age: Int
    +)
    +
    +
    +
    + + + + + +
    + + +The @Introspected annotation can be used as a meta-annotation; common annotations like @jakarta.persistence.Entity are treated as @Introspected +
    +
    +
    +

    The above example defines a Person class that has two properties (name and age) that have constraints applied. Note that in Java the annotations can be on the field or the getter, and with Kotlin data classes, the annotation should target the field.

    +
    +
    +

    To validate the class manually, inject an instance of Validator:

    +
    +
    +
    Manual Validation Example
    +
    +
    @Inject
    +Validator validator;
    +
    +@Test
    +void testThatPersonIsValidWithValidator() {
    +    Person person = new Person();
    +    person.setName("");
    +    person.setAge(10);
    +
    +    final Set<ConstraintViolation<Person>> constraintViolations = validator.validate(person);  // (1)
    +
    +    assertEquals(2, constraintViolations.size()); // (2)
    +}
    +
    +
    +
    +
    Manual Validation Example
    +
    +
    @Inject Validator validator
    +
    +void "test person is validated with validator"() {
    +    when:"The person is validated"
    +    def constraintViolations = validator.validate(new Person(name: "", age: 10)) // (1)
    +
    +    then:"A validation error occurs"
    +    constraintViolations.size() == 2 //  (2)
    +}
    +
    +
    +
    +
    Manual Validation Example
    +
    +
    @Inject
    +lateinit var validator: Validator
    +
    +@Test
    +fun testThatPersonIsValidWithValidator() {
    +    val person = Person("", 10)
    +    val constraintViolations = validator.validate(person) // (1)
    +
    +    assertEquals(2, constraintViolations.size) // (2)
    +}
    +
    +
    +
    + + + + + + + + + +
    1The validator validates the person
    2The constraint violations are verified
    +
    +
    +

    Alternatively on Bean methods you can use jakarta.validation.Valid to trigger cascading validation:

    +
    +
    +
    ConstraintViolationException Example
    +
    +
    @Singleton
    +public class PersonService {
    +    public void sayHello(@Valid Person person) {
    +        System.out.println("Hello " + person.getName());
    +    }
    +}
    +
    +
    +
    +
    ConstraintViolationException Example
    +
    +
    @Singleton
    +class PersonService {
    +    void sayHello(@Valid Person person) {
    +        println "Hello $person.name"
    +    }
    +}
    +
    +
    +
    +
    ConstraintViolationException Example
    +
    +
    @Singleton
    +open class PersonService {
    +    open fun sayHello(@Valid person: Person) {
    +        println("Hello ${person.name}")
    +    }
    +}
    +
    +
    +
    +

    The PersonService now validates the Person class when invoked:

    +
    +
    +
    Manual Validation Example
    +
    +
    @Inject
    +PersonService personService;
    +
    +@Test
    +void testThatPersonIsValid() {
    +    Person person = new Person();
    +    person.setName("");
    +    person.setAge(10);
    +
    +    final ConstraintViolationException exception =
    +        assertThrows(ConstraintViolationException.class, () ->
    +            personService.sayHello(person) // (1)
    +        );
    +
    +    assertEquals(2, exception.getConstraintViolations().size()); // (2)
    +}
    +
    +
    +
    +
    Manual Validation Example
    +
    +
    @Inject PersonService personService
    +
    +void "test person name is validated"() {
    +    when:"The sayHello method is called with an invalid person"
    +    personService.sayHello(new Person(name: "", age: 10)) // (1)
    +
    +    then:"A validation error occurs"
    +    def e = thrown(ConstraintViolationException)
    +    e.constraintViolations.size() == 2 //  (2)
    +}
    +
    +
    +
    +
    Manual Validation Example
    +
    +
    @Inject
    +lateinit var personService: PersonService
    +
    +@Test
    +fun testThatPersonIsValid() {
    +    val person = Person("", 10)
    +    val exception = assertThrows(ConstraintViolationException::class.java) {
    +        personService.sayHello(person) // (1)
    +    }
    +
    +    assertEquals(2, exception.constraintViolations.size) // (2)
    +}
    +
    +
    +
    + + + + + + + + + +
    1A validated method is invoked
    2The constraint violations are verified
    +
    +
    +

    You can validate values of Java iterables, like List, Set and Map by defining validation annotations on generic parameters.

    +
    +
    +
    Iterables Validation Example
    +
    +
    @Singleton
    +public class BookInfoService {
    +    public void setBookAuthors(
    +        @NotBlank String bookName,
    +        List<@NotBlank String> authors // (1)
    +    ) {
    +        System.out.println("Set book authors for book " + bookName);
    +    }
    +
    +    public void setBookSectionPages(
    +        @NotBlank String bookName,
    +        Map<@NotBlank String, @Min(1) Integer> sectionStartPages // (2)
    +    ) {
    +        System.out.println("Set the start pages for all sections of book " + bookName);
    +    }
    +}
    +
    +
    +
    +
    Iterables Validation Example
    +
    +
    @Singleton
    +class BookInfoService {
    +    void setBookAuthors(
    +        @NotBlank String bookName,
    +        List<@NotBlank String> authors // (1)
    +    ) {
    +        println("Set book authors for book " + bookName)
    +    }
    +
    +    void setBookSectionPages(
    +        @NotBlank String bookName,
    +        Map<@NotBlank String, @Min(1) Integer> sectionStartPages // (2)
    +    ) {
    +        println("Set the start pages for all sections of book " + bookName)
    +    }
    +}
    +
    +
    +
    +
    Iterables Validation Example
    +
    +
    @Singleton
    +open class BookInfoService {
    +    open fun setBookAuthors(
    +        bookName: @NotBlank String,
    +        authors: List<@NotBlank String> // (1)
    +    ) {
    +        println("Set book authors for book $bookName")
    +    }
    +
    +    open fun setBookSectionPages(
    +        bookName: @NotBlank String,
    +        sectionStartPages: Map<@NotBlank String, @Min(1) Int>  // (2)
    +    ) {
    +        println("Set the start pages for all sections of book $bookName")
    +    }
    +}
    +
    +
    +
    + + + + + + + + + +
    1List items will be validated with given annotation
    2Both keys and values of Map will be validated
    +
    +
    +
    +
    @Test
    +void testAuthorNamesAreValidated() {
    +    final List<String> authors = Arrays.asList("Me", "");
    +
    +    final ConstraintViolationException exception =
    +            assertThrows(ConstraintViolationException.class, () ->
    +                    bookInfoService.setBookAuthors("My Book", authors)
    +            );
    +
    +    assertEquals("setBookAuthors.authors[1]<list element>: must not be blank",
    +            exception.getMessage()); // (1)
    +}
    +
    +@Test
    +void testSectionsAreValidated() {
    +    final Map<String, Integer> sectionStartPages = new HashMap<>();
    +    sectionStartPages.put("", 1);
    +
    +    final ConstraintViolationException exception =
    +            assertThrows(ConstraintViolationException.class, () ->
    +                    bookInfoService.setBookSectionPages("My Book", sectionStartPages)
    +            );
    +
    +    assertEquals("setBookSectionPages.sectionStartPages[]<map key>: must not be blank",
    +            exception.getMessage()); // (2)
    +}
    +
    +
    +
    +
    +
    void testAuthorNamesAreValidated() {
    +    given:
    +    List<String> authors = ["Me", ""]
    +
    +    when:
    +    bookInfoService.setBookAuthors("My Book", authors)
    +
    +    then:
    +    ConstraintViolationException exception = thrown()
    +    "setBookAuthors.authors[1]<list element>: must not be blank" == exception.message // (1)
    +}
    +
    +void testSectionsAreValidated() {
    +    given:
    +    Map<String, Integer> sectionStartPages = new HashMap<>()
    +    sectionStartPages.put("", 1)
    +
    +    when:
    +    bookInfoService.setBookSectionPages("My Book", sectionStartPages)
    +
    +    then:
    +    ConstraintViolationException exception = thrown()
    +    "setBookSectionPages.sectionStartPages[]<map key>: must not be blank" == exception.message // (2)
    +}
    +
    +
    +
    +
    +
    @Test
    +fun testAuthorNamesAreValidated() {
    +    val authors: List<String> = mutableListOf("Me", "")
    +    val exception = Assertions.assertThrows(
    +        ConstraintViolationException::class.java
    +    ) { bookInfoService.setBookAuthors("My Book", authors) }
    +    Assertions.assertEquals(
    +        "setBookAuthors.authors[1]<list element>: must not be blank",
    +        exception.message
    +    ) // (1)
    +}
    +
    +@Test
    +fun testSectionsAreValidated() {
    +    val sectionStartPages: MutableMap<String, Int> = HashMap()
    +    sectionStartPages[""] = 1
    +    val exception = Assertions.assertThrows(
    +        ConstraintViolationException::class.java
    +    ) {
    +        bookInfoService.setBookSectionPages(
    +            "My Book",
    +            sectionStartPages
    +        )
    +    }
    +    Assertions.assertEquals(
    +        "setBookSectionPages.sectionStartPages[]<map key>: must not be blank",
    +        exception.message
    +    ) // (2)
    +
    +
    +
    + + + + + + + + + +
    1The violation on the 1-st index in List
    2The violation was found in Map’s key
    +
    +
    + + + + + +
    + + +This feature is not yet supported in Groovy and Kotlin +
    +
    + +

    6 Validating Configuration Properties

    + +
    + +
    + + +
    +

    You can also validate the properties of classes that are annotated with @ConfigurationProperties to ensure configuration is correct.

    +
    +
    + + + + + +
    + + +It is recommended that you annotate @ConfigurationProperties that features validation with @Context to ensure that the validation occurs at startup. +
    +
    + +

    7 Defining Additional Constraints

    + +
    + +
    + + +
    +

    To define additional constraints, create a new annotation, for example:

    +
    +
    +
    Example Constraint Annotation
    +
    +
    import jakarta.validation.Constraint;
    +import java.lang.annotation.Documented;
    +import java.lang.annotation.Retention;
    +import java.lang.annotation.Target;
    +
    +import static java.lang.annotation.ElementType.ANNOTATION_TYPE;
    +import static java.lang.annotation.ElementType.CONSTRUCTOR;
    +import static java.lang.annotation.ElementType.FIELD;
    +import static java.lang.annotation.ElementType.METHOD;
    +import static java.lang.annotation.ElementType.PARAMETER;
    +import static java.lang.annotation.ElementType.TYPE_USE;
    +import static java.lang.annotation.RetentionPolicy.RUNTIME;
    +
    +@Retention(RUNTIME)
    +@Constraint(validatedBy = { MyValidatorBean.class }) // (1)
    +public @interface DurationPattern {
    +
    +    String message() default "invalid duration ({validatedValue})"; // (2)
    +
    +    /**
    +     * Defines several constraints on the same element.
    +     */
    +    @Target({ METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER, TYPE_USE })
    +    @Retention(RUNTIME)
    +    @Documented
    +    @interface List {
    +        DurationPattern[] value(); // (3)
    +    }
    +}
    +
    +
    +
    +
    Example Constraint Annotation
    +
    +
    import jakarta.validation.Constraint
    +import java.lang.annotation.Retention
    +
    +import static java.lang.annotation.RetentionPolicy.RUNTIME
    +
    +@Retention(RUNTIME)
    +@Constraint(validatedBy = [ MyValidatorBean ]) // (1)
    +@interface DurationPattern {
    +    String message() default "invalid duration ({validatedValue})" // (2)
    +}
    +
    +
    +
    +
    Example Constraint Annotation
    +
    +
    import jakarta.validation.Constraint
    +import kotlin.annotation.AnnotationRetention.RUNTIME
    +
    +@Retention(RUNTIME)
    +@Constraint(validatedBy = []) // (1)
    +annotation class DurationPattern(
    +    val message: String = "invalid duration ({validatedValue})" // (2)
    +)
    +
    +
    +
    + + + + + + + + + + + + + +
    1The annotation should be annotated with jakarta.validation.Constraint
    2A message template can be provided in a hard-coded manner as above. If none is specified, Micronaut tries to find a message using ClassName.message using the MessageSource interface (optional)
    3To support repeated annotations you can define an inner annotation (optional)
    +
    +
    + + + + + +
    + + +You can add messages and message bundles using the MessageSource and ResourceBundleMessageSource classes. See Resource Bundles documentation. +
    +
    +
    + + + + + +
    + + +A constraint with an empty validatedBy = {} will use the bean context to find a bean of ConstraintValidator with a generic value of your annotation, or it’s possible to set validatedBy = MyConstraintValidator.class and in this case the validator can be an introspected bean or a simple bean in loaded from the bean context. +
    +
    +
    +

    Once you have defined the annotation, implement a ConstraintValidator that validates the annotation. You can either create a bean class that implements the interface directly or define a factory that returns one or more validators.

    +
    +
    +

    The former approach can be taken for single bean:

    +
    +
    +
    Example Constraint Validator Bean
    +
    +
    import io.micronaut.core.annotation.AnnotationValue;
    +import io.micronaut.core.annotation.Introspected;
    +import io.micronaut.core.annotation.NonNull;
    +import io.micronaut.core.annotation.Nullable;
    +import io.micronaut.validation.validator.constraints.ConstraintValidator;
    +import io.micronaut.validation.validator.constraints.ConstraintValidatorContext;
    +import jakarta.inject.Singleton;
    +
    +@Singleton
    +@Introspected
    +public class MyValidatorBean implements ConstraintValidator<DurationPattern, Object> {
    +
    +    @Override
    +    public boolean isValid(@Nullable Object value,
    +                           @NonNull AnnotationValue<DurationPattern> annotationMetadata,
    +                           @NonNull ConstraintValidatorContext context) {
    +        context.messageTemplate("invalid duration ({validatedValue}), additional custom message"); // (1)
    +        return value == null || value.toString().matches("^PT?[\\d]+[SMHD]{1}$");
    +    }
    +}
    +
    +
    +
    +
    Example Constraint Validator Bean
    +
    +
    import io.micronaut.core.annotation.AnnotationValue
    +import io.micronaut.core.annotation.Introspected
    +import io.micronaut.core.annotation.NonNull
    +import io.micronaut.core.annotation.Nullable
    +import io.micronaut.validation.validator.constraints.ConstraintValidator
    +import io.micronaut.validation.validator.constraints.ConstraintValidatorContext
    +import jakarta.inject.Singleton
    +
    +@Singleton
    +@Introspected
    +class MyValidatorBean implements ConstraintValidator<DurationPattern, Object> {
    +
    +    @Override
    +    boolean isValid(@Nullable Object value,
    +                    @NonNull AnnotationValue<DurationPattern> annotationMetadata,
    +                    @NonNull ConstraintValidatorContext context) {
    +        context.messageTemplate("invalid duration ({validatedValue}), additional custom message") // (1)
    +        return value == null || value.toString() ==~ /^PT?[\d]+[SMHD]{1}$/
    +    }
    +}
    +
    +
    +
    +
    Example Constraint Validator Bean
    +
    +
    import io.micronaut.core.annotation.AnnotationValue
    +import io.micronaut.core.annotation.Introspected
    +import io.micronaut.validation.validator.constraints.ConstraintValidator
    +import io.micronaut.validation.validator.constraints.ConstraintValidatorContext
    +import jakarta.inject.Singleton
    +
    +@Singleton
    +@Introspected
    +class MyValidatorBean : ConstraintValidator<DurationPattern, Any> {
    +
    +    override fun isValid(value: Any?,
    +                         annotationMetadata: AnnotationValue<DurationPattern>,
    +                         context: ConstraintValidatorContext) : Boolean {
    +        context.messageTemplate("invalid duration ({validatedValue}), additional custom message") // (1)
    +        return value == null || value.toString().matches("^PT?[\\d]+[SMHD]{1}$".toRegex())
    +    }
    +}
    +
    +
    +
    + + + + + +
    1Override the default message template with an inline call for more control over the validation error message. (Since 2.5.0)
    +
    +
    +

    The latter approach is recommended if you plan to define multiple validators:

    +
    +
    +
    Example Constraint Validator Factory
    +
    +
    import io.micronaut.context.annotation.Factory;
    +import io.micronaut.validation.validator.constraints.ConstraintValidator;
    +import jakarta.inject.Singleton;
    +
    +@Factory
    +public class MyValidatorFactory {
    +
    +    @Singleton
    +    ConstraintValidator<DurationPattern, Object> durationPatternValidator() {
    +        return (value, annotationMetadata, context) -> {
    +            context.messageTemplate("invalid duration ({validatedValue}), additional custom message"); // (1)
    +            return value == null || value.toString().matches("^PT?[\\d]+[SMHD]{1}$");
    +        };
    +    }
    +}
    +
    +
    +
    +
    Example Constraint Validator Factory
    +
    +
    import io.micronaut.context.annotation.Factory
    +import io.micronaut.core.annotation.AnnotationValue
    +import io.micronaut.validation.validator.constraints.ConstraintValidator
    +import io.micronaut.validation.validator.constraints.ConstraintValidatorContext
    +
    +import jakarta.inject.Singleton
    +
    +@Factory
    +class MyValidatorFactory {
    +
    +    @Singleton
    +    ConstraintValidator<DurationPattern, CharSequence> durationPatternValidator() {
    +        return { CharSequence value,
    +                 AnnotationValue<DurationPattern> annotation,
    +                 ConstraintValidatorContext context ->
    +            context.messageTemplate("invalid duration ({validatedValue}), additional custom message") // (1)
    +            return value == null || value.toString() ==~ /^PT?[\d]+[SMHD]{1}$/
    +        } as ConstraintValidator<DurationPattern, CharSequence>
    +    }
    +}
    +
    +
    +
    +
    Example Constraint Validator Factory
    +
    +
    import io.micronaut.context.annotation.Factory
    +import io.micronaut.validation.validator.constraints.ConstraintValidator
    +import jakarta.inject.Singleton
    +
    +@Factory
    +class MyValidatorFactory {
    +
    +    @Singleton
    +    fun durationPatternValidator() : ConstraintValidator<DurationPattern, Any> {
    +        return ConstraintValidator { value, _, context ->
    +            context.messageTemplate("invalid duration ({validatedValue}), additional custom message") // (1)
    +            value == null || value.toString().matches("^PT?[\\d]+[SMHD]{1}$".toRegex())
    +        }
    +    }
    +}
    +
    +
    +
    + + + + + +
    1Override the default message template with an inline call for more control over the validation error message. (Since 2.5.0)
    +
    +
    +

    The above example implements a validator that validates any field, parameter etc. that is annotated with DurationPattern, ensuring that the string can be parsed with java.time.Duration.parse.

    +
    +
    + + + + + +
    + + +Generally null is regarded as valid and @NotNull is used to constrain a value as not being null. The example above regards null as a valid value. +
    +
    +
    +

    For example:

    +
    +
    +
    Example Custom Constraint Usage
    +
    +
    @Singleton
    +public class HolidayService {
    +
    +    @Executable
    +    public String startHoliday(@NotBlank String person,
    +                               @DurationPattern String duration) {
    +        final Duration d = Duration.parse(duration);
    +        return "Person " + person + " is off on holiday for " + d.toMinutes() + " minutes";
    +    }
    +
    +    public String startHoliday(@DurationPattern String fromDuration, @DurationPattern String toDuration, @NotBlank String person
    +    ) {
    +        final Duration d = Duration.parse(fromDuration);
    +        final Duration e = Duration.parse(toDuration);
    +        return "Person " + person + " is off on holiday from " + d + " to " + e;
    +    }
    +}
    +
    +
    +
    +
    Example Custom Constraint Usage
    +
    +
    @Singleton
    +class HolidayService {
    +
    +    String startHoliday(@NotBlank String person,
    +                        @DurationPattern String duration) {
    +        final Duration d = Duration.parse(duration)
    +        return "Person $person is off on holiday for ${d.toMinutes()} minutes"
    +    }
    +}
    +
    +
    +
    +
    Example Custom Constraint Usage
    +
    +
    @Singleton
    +open class HolidayService {
    +
    +    open fun startHoliday(@NotBlank person: String,
    +                          @DurationPattern duration: String): String {
    +        val d = Duration.parse(duration)
    +        return "Person $person is off on holiday for ${d.toMinutes()} minutes"
    +    }
    +}
    +
    +
    +
    +

    To verify the above examples validates the duration parameter, define a test:

    +
    +
    +
    Testing Example Custom Constraint Usage
    +
    +
    @Inject HolidayService holidayService;
    +
    +@Test
    +void testCustomValidator() {
    +    final ConstraintViolationException exception =
    +        assertThrows(ConstraintViolationException.class, () ->
    +            holidayService.startHoliday("Fred", "junk") // (1)
    +        );
    +
    +    assertEquals("startHoliday.duration: invalid duration (junk), additional custom message", exception.getMessage()); // (2)
    +}
    +
    +// Issue:: micronaut-core/issues/6519
    +@Test
    +void testCustomAndDefaultValidator() {
    +    final ConstraintViolationException exception =
    +            assertThrows(ConstraintViolationException.class, () ->
    +                    holidayService.startHoliday( "fromDurationJunk", "toDurationJunk", "")
    +            );
    +
    +    String notBlankValidated = exception.getConstraintViolations().stream().filter(constraintViolation -> Objects.equals(constraintViolation.getPropertyPath().toString(), "startHoliday.person")).map(ConstraintViolation::getMessage).findFirst().get();
    +    String fromDurationPatternValidated = exception.getConstraintViolations().stream().filter(constraintViolation -> Objects.equals(constraintViolation.getPropertyPath().toString(), "startHoliday.fromDuration")).map(ConstraintViolation::getMessage).findFirst().get();
    +    String toDurationPatternValidated = exception.getConstraintViolations().stream().filter(constraintViolation -> Objects.equals(constraintViolation.getPropertyPath().toString(), "startHoliday.toDuration")).map(ConstraintViolation::getMessage).findFirst().get();
    +    assertEquals("must not be blank", notBlankValidated);
    +    assertEquals("invalid duration (fromDurationJunk), additional custom message", fromDurationPatternValidated);
    +    assertEquals("invalid duration (toDurationJunk), additional custom message", toDurationPatternValidated);
    +}
    +
    +
    +
    +
    Testing Example Custom Constraint Usage
    +
    +
    void "test test custom validator"() {
    +    when:"A custom validator is used"
    +    holidayService.startHoliday("Fred", "junk") // (1)
    +
    +    then:"A validation error occurs"
    +    def e = thrown(ConstraintViolationException)
    +    e.message == "startHoliday.duration: invalid duration (junk), additional custom message" //  (2)
    +}
    +
    +
    +
    +
    Testing Example Custom Constraint Usage
    +
    +
    @Inject
    +lateinit var holidayService: HolidayService
    +
    +@Test
    +fun testCustomValidator() {
    +    val exception = assertThrows(ConstraintViolationException::class.java) {
    +        holidayService.startHoliday("Fred", "junk") // (1)
    +    }
    +
    +    assertEquals("startHoliday.duration: invalid duration (junk), additional custom message", exception.message) // (2)
    +}
    +
    +
    +
    + + + + + + + + + +
    1A validated method is invoked
    2THe constraint violations are verified
    +
    +
    + + + + + +
    + + +See the guide for Custom Constraint Annotation for Validation to learn more. +
    +
    + +

    8 Validating Annotations at Compile Time

    + +
    + +
    + + +
    +

    Micronaut Validation validates annotation elements at compile time with micronaut-validation-processor in the annotation processor classpath:

    +
    +
    +

    +
    +
    +
    annotationProcessor("io.micronaut.validation:micronaut-validation-processor")
    +
    +
    +
    +
    +
    +
    <annotationProcessorPaths>
    +    <path>
    +        <groupId>io.micronaut.validation</groupId>
    +        <artifactId>micronaut-validation-processor</artifactId>
    +    </path>
    +</annotationProcessorPaths>
    +
    +

    +
    +
    +

    Micronaut Validation will, at compile time, validate annotation values that are themselves annotated with jakarta.validation. +For example consider the following annotation:

    +
    +
    +
    Annotation Validation
    +
    +
    import java.lang.annotation.Retention;
    +
    +import static java.lang.annotation.RetentionPolicy.RUNTIME;
    +
    +@Retention(RUNTIME)
    +public @interface TimeOff {
    +    @DurationPattern
    +    String duration();
    +}
    +
    +
    +
    +
    Annotation Validation
    +
    +
    import java.lang.annotation.Retention
    +
    +import static java.lang.annotation.RetentionPolicy.RUNTIME
    +
    +@Retention(RUNTIME)
    +@interface TimeOff {
    +    @DurationPattern
    +    String duration()
    +}
    +
    +
    +
    +
    Annotation Validation
    +
    +
    import kotlin.annotation.AnnotationRetention.RUNTIME
    +
    +@Retention(RUNTIME)
    +annotation class TimeOff(
    +    @DurationPattern val duration: String
    +)
    +
    +
    +
    +

    If you attempt to use @TimeOff(duration="junk") in your source, Micronaut will fail compilation due to the duration value violating the DurationPattern constraint.

    +
    +
    + + + + + +
    + + +If duration is a property placeholder such as @TimeOff(duration="${my.value}"), validation is deferred until runtime. +
    +
    +
    +

    Note that to use a custom ConstraintValidator at compile time you must instead define the validator as a class:

    +
    +
    +
    Example Constraint Validator
    +
    +
    import io.micronaut.core.annotation.AnnotationValue;
    +import io.micronaut.core.annotation.NonNull;
    +import io.micronaut.core.annotation.Nullable;
    +import io.micronaut.validation.validator.constraints.ConstraintValidator;
    +import io.micronaut.validation.validator.constraints.ConstraintValidatorContext;
    +
    +public class DurationPatternValidator implements ConstraintValidator<DurationPattern, CharSequence> {
    +    @Override
    +    public boolean isValid(
    +            @Nullable CharSequence value,
    +            @NonNull AnnotationValue<DurationPattern> annotationMetadata,
    +            @NonNull ConstraintValidatorContext context) {
    +        return value == null || value.toString().matches("^PT?[\\d]+[SMHD]{1}$");
    +    }
    +}
    +
    +
    +
    +
    Example Constraint Validator
    +
    +
    import io.micronaut.core.annotation.NonNull
    +import io.micronaut.core.annotation.Nullable
    +import io.micronaut.core.annotation.AnnotationValue
    +import io.micronaut.validation.validator.constraints.ConstraintValidator
    +import io.micronaut.validation.validator.constraints.ConstraintValidatorContext
    +
    +class DurationPatternValidator implements ConstraintValidator<DurationPattern, CharSequence> {
    +    @Override
    +    boolean isValid(
    +            @Nullable CharSequence value,
    +            @NonNull AnnotationValue<DurationPattern> annotationMetadata,
    +            @NonNull ConstraintValidatorContext context) {
    +        return value == null || value.toString() ==~ /^PT?[\d]+[SMHD]{1}$/
    +    }
    +}
    +
    +
    +
    +
    Example Constraint Validator
    +
    +
    import io.micronaut.core.annotation.AnnotationValue
    +import io.micronaut.validation.validator.constraints.ConstraintValidator
    +import io.micronaut.validation.validator.constraints.ConstraintValidatorContext
    +
    +class DurationPatternValidator : ConstraintValidator<DurationPattern, CharSequence> {
    +    override fun isValid(
    +        value: CharSequence?,
    +        annotationMetadata: AnnotationValue<DurationPattern>,
    +        context: ConstraintValidatorContext): Boolean {
    +        return value == null || value.toString().matches("^PT?[\\d]+[SMHD]{1}$".toRegex())
    +    }
    +}
    +
    +
    +
    +

    Additionally:

    +
    +
    +
      +
    • +

      Define a META-INF/services/io.micronaut.validation.validator.constraints.ConstraintValidator file that references the class.

      +
    • +
    • +

      The class must be public and have a public no-argument constructor

      +
    • +
    • +

      The class must be on the annotation processor classpath of the project to be validated.

      +
    • +
    +
    + +

    9 Repository

    + +
    + +
    + + +
    +

    You can find the source code of this project in this repository:

    +
    + + +
    +
    + + + + diff --git a/4.8.1/img/default/bullet.gif b/4.8.1/img/default/bullet.gif new file mode 100644 index 00000000..4ec6a9ca Binary files /dev/null and b/4.8.1/img/default/bullet.gif differ diff --git a/4.8.1/img/default/linear-gradient-green.png b/4.8.1/img/default/linear-gradient-green.png new file mode 100644 index 00000000..a746c854 Binary files /dev/null and b/4.8.1/img/default/linear-gradient-green.png differ diff --git a/4.8.1/img/default/linear-gradient.png b/4.8.1/img/default/linear-gradient.png new file mode 100644 index 00000000..ce9cab84 Binary files /dev/null and b/4.8.1/img/default/linear-gradient.png differ diff --git a/4.8.1/img/default/separator-horizontal.gif b/4.8.1/img/default/separator-horizontal.gif new file mode 100644 index 00000000..dc161f90 Binary files /dev/null and b/4.8.1/img/default/separator-horizontal.gif differ diff --git a/4.8.1/img/default/separator-menu.png b/4.8.1/img/default/separator-menu.png new file mode 100644 index 00000000..669a68f6 Binary files /dev/null and b/4.8.1/img/default/separator-menu.png differ diff --git a/4.8.1/img/default/separator-vertical.gif b/4.8.1/img/default/separator-vertical.gif new file mode 100644 index 00000000..6a7d0d5e Binary files /dev/null and b/4.8.1/img/default/separator-vertical.gif differ diff --git a/4.8.1/img/micronaut-logo-white.svg b/4.8.1/img/micronaut-logo-white.svg new file mode 100644 index 00000000..19290c8a --- /dev/null +++ b/4.8.1/img/micronaut-logo-white.svg @@ -0,0 +1,74 @@ + + + + micronaut-logo-white + Created with Sketch. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/4.8.1/img/note.gif b/4.8.1/img/note.gif new file mode 100644 index 00000000..1c9883b8 Binary files /dev/null and b/4.8.1/img/note.gif differ diff --git a/4.8.1/img/warning.gif b/4.8.1/img/warning.gif new file mode 100644 index 00000000..c6acdec6 Binary files /dev/null and b/4.8.1/img/warning.gif differ diff --git a/4.8.1/index.html b/4.8.1/index.html new file mode 100644 index 00000000..b0dd78f5 --- /dev/null +++ b/4.8.1/index.html @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/4.8.1/js/docs.js b/4.8.1/js/docs.js new file mode 100644 index 00000000..5f78346a --- /dev/null +++ b/4.8.1/js/docs.js @@ -0,0 +1,57 @@ +function nextElement(el) { + el = el.nextSibling; + while (el && el.nodeType != 1) { + el = el.nextSibling; + } + return el; +} +function indexOf(arr, o) { + for (var i = 0; i < arr.length; i++) { + if (arr[i] == o) return i; + } + return -1; +} +function contains(arr, o) { return indexOf(arr, o) != -1 } +function getClasses(el) { return el.className.split(" "); } +function pushClass(el, cls) { + var classes = getClasses(el); + classes.push(cls); + el.className = classes.join(" "); + return el.className; +} +function removeClass(el, cls) { + var classes = getClasses(el); + classes.splice(indexOf(classes, "selected"), 1) + el.className = classes.join(" "); + return el.className; +} +function toggleRef(el) { + if (contains(getClasses(el), "selected")) { + removeClass(el, "selected"); + } + else { + pushClass(el, "selected"); + } +} + +var show = true; +function localToggle() { + document.getElementById("col2").style.display = show ? "none" : ""; + document.getElementById("toggle-col1").style.display = show ? "inline" : "none"; + document.getElementById("ref-button").parentNode.className = (show = !show) ? "separator selected" : "separator"; + return false; +} +function toggleNavSummary(hide) { + document.getElementById("nav-summary-childs").style.display = !hide ? "block" : "none"; + document.getElementById("nav-summary").className = hide ? "" : "active"; +} + +var hiddenBlocksShown = false; +function toggleHidden() { + var elements = document.getElementsByClassName("hidden-block"); + for (var i = 0; i < elements.length; i++) { + elements[i].style.display = hiddenBlocksShown ? "none" : "block"; + } + + hiddenBlocksShown = !hiddenBlocksShown +} diff --git a/4.8.1/js/guide.js b/4.8.1/js/guide.js new file mode 100644 index 00000000..058b7b9b --- /dev/null +++ b/4.8.1/js/guide.js @@ -0,0 +1,146 @@ +function wrapElementsInLinks(x) { + var i; + for (i = 0; i < x.length; i++) { + if (x[i].id !== '') { + var link = document.createElement('a'); + link.innerHTML = x[i].outerHTML; + link.setAttribute('href', 'index.html#'+x[i].id); + x[i].parentNode.insertBefore(link, x[i]); + x[i].remove(); + } + } +} +wrapElementsInLinks(document.querySelectorAll("h1")); +wrapElementsInLinks(document.querySelectorAll("h2")); +wrapElementsInLinks(document.querySelectorAll("h3")); + +var tocId = "table-of-content"; +var tocLink = "table-of-content-nav-link"; +var mainId = "main"; + +function switchTheme(persist) { + document.body.classList.toggle("dark-mode"); + + var isDark = document.body.classList.contains("dark-mode"); + var sw = document.getElementById("theme-switcher"); + + if (!isDark) { + sw.title = "Switch to light theme"; + sw.children[0].className = "fa fa-moon-o"; + } else { + sw.title = "Switch to dark theme"; + sw.children[0].className = "fa fa-sun-o"; + } + + try { + if (persist && window.localStorage) { + localStorage.setItem("theme", isDark ? "dark" : "light"); + } + } catch (e) { + + } +} + +function loadTheme() { + var theme; + try { + if (window.localStorage) { // user preference + theme = localStorage.getItem("theme"); + } + } catch (e) { + // might fail if loaded from file:// + } + + if (!theme || (theme !== "dark" && theme !== "light")) { // system preference + if (window.matchMedia("(prefers-color-scheme: dark)").matches) { + theme = "dark"; + } else { + theme = "light"; + } + } + + if (theme === "dark") { + switchTheme(false); + } +} + +function hideTableOfContents() { + document.getElementById(tocId).style.display = "none"; + document.getElementById(mainId).style.paddingLeft = "0"; + var aEl = document.getElementById(tocLink).getElementsByTagName("a")[1]; + replaceLink(aEl, "javascript:showTableOfContents();", "[ - ]", 'Show Table of Contents'); + goToLocation(); +} + +function goToLocation() { + if(location.hash != '') { + window.location = location; + } +} + +function replaceLink(anchorElement, href, text, titleAttr) { + anchorElement.setAttribute("href", href); + anchorElement.setAttribute("title", titleAttr); + anchorElement.innerText = text; +} + +function showTableOfContents() { + document.getElementById(tocId).style.display = "block"; + document.getElementById(mainId).style.paddingLeft = "25em"; + var aEl = document.getElementById(tocLink).getElementsByTagName("a")[1]; + replaceLink(aEl, "javascript:hideTableOfContents();", "[ + ]", 'Hide Table of Contents'); + goToLocation(); +} + +function scrollToTop() { + document.getElementById(tocId).style.display = "block"; + document.body.scrollTop = 0; // For Safari + document.documentElement.scrollTop = 0; // For Chrome, Firefox, IE and Opera +} + +function highlightMenu() { + var cssClass = 'toc-item-highlighted'; + var els = document.getElementsByClassName(cssClass); + for (var x = 0; x < els.length; x++) { + els[x].classList.remove(cssClass); + } + console.log("highlighting hash" + location.hash); + if(location.hash != '') { + var elId = "toc-item-"+location.hash.replace('#', ''); + if(document.getElementById(elId)) { + document.getElementById(elId).getElementsByTagName('a')[0].classList.add(cssClass); + document.getElementById(elId).scrollIntoView(true); + } + } +} + +function copyText(element) { + var range, selection; + + if (document.body.createTextRange) { + range = document.body.createTextRange(); + range.moveToElementText(element); + range.select(); + + } else if (window.getSelection) { + selection = window.getSelection(); + range = document.createRange(); + range.selectNodeContents(element); + selection.removeAllRanges(); + selection.addRange(range); + } + try { + document.execCommand('copy'); + } + catch (err) { + console.error('unable to copy text'); + } +} + +function copyToClipboard(el) { + copyText(el.parentNode.previousElementSibling); +} + +loadTheme(); +goToLocation(); +highlightMenu(); \ No newline at end of file diff --git a/4.8.1/js/highlight.pack.js b/4.8.1/js/highlight.pack.js new file mode 100644 index 00000000..53094f16 --- /dev/null +++ b/4.8.1/js/highlight.pack.js @@ -0,0 +1,671 @@ +/*! + Highlight.js v11.7.0 (git: 82688fad18) + (c) 2006-2022 undefined and other contributors + License: BSD-3-Clause + */ +var hljs=function(){"use strict";var e={exports:{}};function t(e){ +return e instanceof Map?e.clear=e.delete=e.set=()=>{ +throw Error("map is read-only")}:e instanceof Set&&(e.add=e.clear=e.delete=()=>{ +throw Error("set is read-only") +}),Object.freeze(e),Object.getOwnPropertyNames(e).forEach((n=>{var i=e[n] +;"object"!=typeof i||Object.isFrozen(i)||t(i)})),e} +e.exports=t,e.exports.default=t;class n{constructor(e){ +void 0===e.data&&(e.data={}),this.data=e.data,this.isMatchIgnored=!1} +ignoreMatch(){this.isMatchIgnored=!0}}function i(e){ +return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'") +}function r(e,...t){const n=Object.create(null);for(const t in e)n[t]=e[t] +;return t.forEach((e=>{for(const t in e)n[t]=e[t]})),n} +const s=e=>!!e.scope||e.sublanguage&&e.language;class o{constructor(e,t){ +this.buffer="",this.classPrefix=t.classPrefix,e.walk(this)}addText(e){ +this.buffer+=i(e)}openNode(e){if(!s(e))return;let t="" +;t=e.sublanguage?"language-"+e.language:((e,{prefix:t})=>{if(e.includes(".")){ +const n=e.split(".") +;return[`${t}${n.shift()}`,...n.map(((e,t)=>`${e}${"_".repeat(t+1)}`))].join(" ") +}return`${t}${e}`})(e.scope,{prefix:this.classPrefix}),this.span(t)} +closeNode(e){s(e)&&(this.buffer+="")}value(){return this.buffer}span(e){ +this.buffer+=``}}const a=(e={})=>{const t={children:[]} +;return Object.assign(t,e),t};class c{constructor(){ +this.rootNode=a(),this.stack=[this.rootNode]}get top(){ +return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){ +this.top.children.push(e)}openNode(e){const t=a({scope:e}) +;this.add(t),this.stack.push(t)}closeNode(){ +if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){ +for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)} +walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,t){ +return"string"==typeof t?e.addText(t):t.children&&(e.openNode(t), +t.children.forEach((t=>this._walk(e,t))),e.closeNode(t)),e}static _collapse(e){ +"string"!=typeof e&&e.children&&(e.children.every((e=>"string"==typeof e))?e.children=[e.children.join("")]:e.children.forEach((e=>{ +c._collapse(e)})))}}class l extends c{constructor(e){super(),this.options=e} +addKeyword(e,t){""!==e&&(this.openNode(t),this.addText(e),this.closeNode())} +addText(e){""!==e&&this.add(e)}addSublanguage(e,t){const n=e.root +;n.sublanguage=!0,n.language=t,this.add(n)}toHTML(){ +return new o(this,this.options).value()}finalize(){return!0}}function g(e){ +return e?"string"==typeof e?e:e.source:null}function d(e){return p("(?=",e,")")} +function u(e){return p("(?:",e,")*")}function h(e){return p("(?:",e,")?")} +function p(...e){return e.map((e=>g(e))).join("")}function f(...e){const t=(e=>{ +const t=e[e.length-1] +;return"object"==typeof t&&t.constructor===Object?(e.splice(e.length-1,1),t):{} +})(e);return"("+(t.capture?"":"?:")+e.map((e=>g(e))).join("|")+")"} +function b(e){return RegExp(e.toString()+"|").exec("").length-1} +const m=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./ +;function E(e,{joinWith:t}){let n=0;return e.map((e=>{n+=1;const t=n +;let i=g(e),r="";for(;i.length>0;){const e=m.exec(i);if(!e){r+=i;break} +r+=i.substring(0,e.index), +i=i.substring(e.index+e[0].length),"\\"===e[0][0]&&e[1]?r+="\\"+(Number(e[1])+t):(r+=e[0], +"("===e[0]&&n++)}return r})).map((e=>`(${e})`)).join(t)} +const x="[a-zA-Z]\\w*",w="[a-zA-Z_]\\w*",y="\\b\\d+(\\.\\d+)?",_="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",O="\\b(0b[01]+)",v={ +begin:"\\\\[\\s\\S]",relevance:0},N={scope:"string",begin:"'",end:"'", +illegal:"\\n",contains:[v]},k={scope:"string",begin:'"',end:'"',illegal:"\\n", +contains:[v]},M=(e,t,n={})=>{const i=r({scope:"comment",begin:e,end:t, +contains:[]},n);i.contains.push({scope:"doctag", +begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)", +end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0}) +;const s=f("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/) +;return i.contains.push({begin:p(/[ ]+/,"(",s,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),i +},S=M("//","$"),R=M("/\\*","\\*/"),j=M("#","$");var A=Object.freeze({ +__proto__:null,MATCH_NOTHING_RE:/\b\B/,IDENT_RE:x,UNDERSCORE_IDENT_RE:w, +NUMBER_RE:y,C_NUMBER_RE:_,BINARY_NUMBER_RE:O, +RE_STARTERS_RE:"!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~", +SHEBANG:(e={})=>{const t=/^#![ ]*\// +;return e.binary&&(e.begin=p(t,/.*\b/,e.binary,/\b.*/)),r({scope:"meta",begin:t, +end:/$/,relevance:0,"on:begin":(e,t)=>{0!==e.index&&t.ignoreMatch()}},e)}, +BACKSLASH_ESCAPE:v,APOS_STRING_MODE:N,QUOTE_STRING_MODE:k,PHRASAL_WORDS_MODE:{ +begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/ +},COMMENT:M,C_LINE_COMMENT_MODE:S,C_BLOCK_COMMENT_MODE:R,HASH_COMMENT_MODE:j, +NUMBER_MODE:{scope:"number",begin:y,relevance:0},C_NUMBER_MODE:{scope:"number", +begin:_,relevance:0},BINARY_NUMBER_MODE:{scope:"number",begin:O,relevance:0}, +REGEXP_MODE:{begin:/(?=\/[^/\n]*\/)/,contains:[{scope:"regexp",begin:/\//, +end:/\/[gimuy]*/,illegal:/\n/,contains:[v,{begin:/\[/,end:/\]/,relevance:0, +contains:[v]}]}]},TITLE_MODE:{scope:"title",begin:x,relevance:0}, +UNDERSCORE_TITLE_MODE:{scope:"title",begin:w,relevance:0},METHOD_GUARD:{ +begin:"\\.\\s*[a-zA-Z_]\\w*",relevance:0},END_SAME_AS_BEGIN:e=>Object.assign(e,{ +"on:begin":(e,t)=>{t.data._beginMatch=e[1]},"on:end":(e,t)=>{ +t.data._beginMatch!==e[1]&&t.ignoreMatch()}})});function I(e,t){ +"."===e.input[e.index-1]&&t.ignoreMatch()}function T(e,t){ +void 0!==e.className&&(e.scope=e.className,delete e.className)}function L(e,t){ +t&&e.beginKeywords&&(e.begin="\\b("+e.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)", +e.__beforeBegin=I,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords, +void 0===e.relevance&&(e.relevance=0))}function B(e,t){ +Array.isArray(e.illegal)&&(e.illegal=f(...e.illegal))}function D(e,t){ +if(e.match){ +if(e.begin||e.end)throw Error("begin & end are not supported with match") +;e.begin=e.match,delete e.match}}function H(e,t){ +void 0===e.relevance&&(e.relevance=1)}const P=(e,t)=>{if(!e.beforeMatch)return +;if(e.starts)throw Error("beforeMatch cannot be used with starts") +;const n=Object.assign({},e);Object.keys(e).forEach((t=>{delete e[t] +})),e.keywords=n.keywords,e.begin=p(n.beforeMatch,d(n.begin)),e.starts={ +relevance:0,contains:[Object.assign(n,{endsParent:!0})] +},e.relevance=0,delete n.beforeMatch +},C=["of","and","for","in","not","or","if","then","parent","list","value"] +;function $(e,t,n="keyword"){const i=Object.create(null) +;return"string"==typeof e?r(n,e.split(" ")):Array.isArray(e)?r(n,e):Object.keys(e).forEach((n=>{ +Object.assign(i,$(e[n],t,n))})),i;function r(e,n){ +t&&(n=n.map((e=>e.toLowerCase()))),n.forEach((t=>{const n=t.split("|") +;i[n[0]]=[e,U(n[0],n[1])]}))}}function U(e,t){ +return t?Number(t):(e=>C.includes(e.toLowerCase()))(e)?0:1}const z={},K=e=>{ +console.error(e)},W=(e,...t)=>{console.log("WARN: "+e,...t)},X=(e,t)=>{ +z[`${e}/${t}`]||(console.log(`Deprecated as of ${e}. ${t}`),z[`${e}/${t}`]=!0) +},G=Error();function Z(e,t,{key:n}){let i=0;const r=e[n],s={},o={} +;for(let e=1;e<=t.length;e++)o[e+i]=r[e],s[e+i]=!0,i+=b(t[e-1]) +;e[n]=o,e[n]._emit=s,e[n]._multi=!0}function F(e){(e=>{ +e.scope&&"object"==typeof e.scope&&null!==e.scope&&(e.beginScope=e.scope, +delete e.scope)})(e),"string"==typeof e.beginScope&&(e.beginScope={ +_wrap:e.beginScope}),"string"==typeof e.endScope&&(e.endScope={_wrap:e.endScope +}),(e=>{if(Array.isArray(e.begin)){ +if(e.skip||e.excludeBegin||e.returnBegin)throw K("skip, excludeBegin, returnBegin not compatible with beginScope: {}"), +G +;if("object"!=typeof e.beginScope||null===e.beginScope)throw K("beginScope must be object"), +G;Z(e,e.begin,{key:"beginScope"}),e.begin=E(e.begin,{joinWith:""})}})(e),(e=>{ +if(Array.isArray(e.end)){ +if(e.skip||e.excludeEnd||e.returnEnd)throw K("skip, excludeEnd, returnEnd not compatible with endScope: {}"), +G +;if("object"!=typeof e.endScope||null===e.endScope)throw K("endScope must be object"), +G;Z(e,e.end,{key:"endScope"}),e.end=E(e.end,{joinWith:""})}})(e)}function V(e){ +function t(t,n){ +return RegExp(g(t),"m"+(e.case_insensitive?"i":"")+(e.unicodeRegex?"u":"")+(n?"g":"")) +}class n{constructor(){ +this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0} +addRule(e,t){ +t.position=this.position++,this.matchIndexes[this.matchAt]=t,this.regexes.push([t,e]), +this.matchAt+=b(e)+1}compile(){0===this.regexes.length&&(this.exec=()=>null) +;const e=this.regexes.map((e=>e[1]));this.matcherRe=t(E(e,{joinWith:"|" +}),!0),this.lastIndex=0}exec(e){this.matcherRe.lastIndex=this.lastIndex +;const t=this.matcherRe.exec(e);if(!t)return null +;const n=t.findIndex(((e,t)=>t>0&&void 0!==e)),i=this.matchIndexes[n] +;return t.splice(0,n),Object.assign(t,i)}}class i{constructor(){ +this.rules=[],this.multiRegexes=[], +this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(e){ +if(this.multiRegexes[e])return this.multiRegexes[e];const t=new n +;return this.rules.slice(e).forEach((([e,n])=>t.addRule(e,n))), +t.compile(),this.multiRegexes[e]=t,t}resumingScanAtSamePosition(){ +return 0!==this.regexIndex}considerAll(){this.regexIndex=0}addRule(e,t){ +this.rules.push([e,t]),"begin"===t.type&&this.count++}exec(e){ +const t=this.getMatcher(this.regexIndex);t.lastIndex=this.lastIndex +;let n=t.exec(e) +;if(this.resumingScanAtSamePosition())if(n&&n.index===this.lastIndex);else{ +const t=this.getMatcher(0);t.lastIndex=this.lastIndex+1,n=t.exec(e)} +return n&&(this.regexIndex+=n.position+1, +this.regexIndex===this.count&&this.considerAll()),n}} +if(e.compilerExtensions||(e.compilerExtensions=[]), +e.contains&&e.contains.includes("self"))throw Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.") +;return e.classNameAliases=r(e.classNameAliases||{}),function n(s,o){const a=s +;if(s.isCompiled)return a +;[T,D,F,P].forEach((e=>e(s,o))),e.compilerExtensions.forEach((e=>e(s,o))), +s.__beforeBegin=null,[L,B,H].forEach((e=>e(s,o))),s.isCompiled=!0;let c=null +;return"object"==typeof s.keywords&&s.keywords.$pattern&&(s.keywords=Object.assign({},s.keywords), +c=s.keywords.$pattern, +delete s.keywords.$pattern),c=c||/\w+/,s.keywords&&(s.keywords=$(s.keywords,e.case_insensitive)), +a.keywordPatternRe=t(c,!0), +o&&(s.begin||(s.begin=/\B|\b/),a.beginRe=t(a.begin),s.end||s.endsWithParent||(s.end=/\B|\b/), +s.end&&(a.endRe=t(a.end)), +a.terminatorEnd=g(a.end)||"",s.endsWithParent&&o.terminatorEnd&&(a.terminatorEnd+=(s.end?"|":"")+o.terminatorEnd)), +s.illegal&&(a.illegalRe=t(s.illegal)), +s.contains||(s.contains=[]),s.contains=[].concat(...s.contains.map((e=>(e=>(e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map((t=>r(e,{ +variants:null},t)))),e.cachedVariants?e.cachedVariants:q(e)?r(e,{ +starts:e.starts?r(e.starts):null +}):Object.isFrozen(e)?r(e):e))("self"===e?s:e)))),s.contains.forEach((e=>{n(e,a) +})),s.starts&&n(s.starts,o),a.matcher=(e=>{const t=new i +;return e.contains.forEach((e=>t.addRule(e.begin,{rule:e,type:"begin" +}))),e.terminatorEnd&&t.addRule(e.terminatorEnd,{type:"end" +}),e.illegal&&t.addRule(e.illegal,{type:"illegal"}),t})(a),a}(e)}function q(e){ +return!!e&&(e.endsWithParent||q(e.starts))}class J extends Error{ +constructor(e,t){super(e),this.name="HTMLInjectionError",this.html=t}} +const Y=i,Q=r,ee=Symbol("nomatch");var te=(t=>{ +const i=Object.create(null),r=Object.create(null),s=[];let o=!0 +;const a="Could not find the language '{}', did you forget to load/include a language module?",c={ +disableAutodetect:!0,name:"Plain text",contains:[]};let g={ +ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i, +languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-", +cssSelector:"pre code",languages:null,__emitter:l};function b(e){ +return g.noHighlightRe.test(e)}function m(e,t,n){let i="",r="" +;"object"==typeof t?(i=e, +n=t.ignoreIllegals,r=t.language):(X("10.7.0","highlight(lang, code, ...args) has been deprecated."), +X("10.7.0","Please use highlight(code, options) instead.\nhttps://github.com/highlightjs/highlight.js/issues/2277"), +r=e,i=t),void 0===n&&(n=!0);const s={code:i,language:r};k("before:highlight",s) +;const o=s.result?s.result:E(s.language,s.code,n) +;return o.code=s.code,k("after:highlight",o),o}function E(e,t,r,s){ +const c=Object.create(null);function l(){if(!N.keywords)return void M.addText(S) +;let e=0;N.keywordPatternRe.lastIndex=0;let t=N.keywordPatternRe.exec(S),n="" +;for(;t;){n+=S.substring(e,t.index) +;const r=y.case_insensitive?t[0].toLowerCase():t[0],s=(i=r,N.keywords[i]);if(s){ +const[e,i]=s +;if(M.addText(n),n="",c[r]=(c[r]||0)+1,c[r]<=7&&(R+=i),e.startsWith("_"))n+=t[0];else{ +const n=y.classNameAliases[e]||e;M.addKeyword(t[0],n)}}else n+=t[0] +;e=N.keywordPatternRe.lastIndex,t=N.keywordPatternRe.exec(S)}var i +;n+=S.substring(e),M.addText(n)}function d(){null!=N.subLanguage?(()=>{ +if(""===S)return;let e=null;if("string"==typeof N.subLanguage){ +if(!i[N.subLanguage])return void M.addText(S) +;e=E(N.subLanguage,S,!0,k[N.subLanguage]),k[N.subLanguage]=e._top +}else e=x(S,N.subLanguage.length?N.subLanguage:null) +;N.relevance>0&&(R+=e.relevance),M.addSublanguage(e._emitter,e.language) +})():l(),S=""}function u(e,t){let n=1;const i=t.length-1;for(;n<=i;){ +if(!e._emit[n]){n++;continue}const i=y.classNameAliases[e[n]]||e[n],r=t[n] +;i?M.addKeyword(r,i):(S=r,l(),S=""),n++}}function h(e,t){ +return e.scope&&"string"==typeof e.scope&&M.openNode(y.classNameAliases[e.scope]||e.scope), +e.beginScope&&(e.beginScope._wrap?(M.addKeyword(S,y.classNameAliases[e.beginScope._wrap]||e.beginScope._wrap), +S=""):e.beginScope._multi&&(u(e.beginScope,t),S="")),N=Object.create(e,{parent:{ +value:N}}),N}function p(e,t,i){let r=((e,t)=>{const n=e&&e.exec(t) +;return n&&0===n.index})(e.endRe,i);if(r){if(e["on:end"]){const i=new n(e) +;e["on:end"](t,i),i.isMatchIgnored&&(r=!1)}if(r){ +for(;e.endsParent&&e.parent;)e=e.parent;return e}} +if(e.endsWithParent)return p(e.parent,t,i)}function f(e){ +return 0===N.matcher.regexIndex?(S+=e[0],1):(I=!0,0)}function b(e){ +const n=e[0],i=t.substring(e.index),r=p(N,e,i);if(!r)return ee;const s=N +;N.endScope&&N.endScope._wrap?(d(), +M.addKeyword(n,N.endScope._wrap)):N.endScope&&N.endScope._multi?(d(), +u(N.endScope,e)):s.skip?S+=n:(s.returnEnd||s.excludeEnd||(S+=n), +d(),s.excludeEnd&&(S=n));do{ +N.scope&&M.closeNode(),N.skip||N.subLanguage||(R+=N.relevance),N=N.parent +}while(N!==r.parent);return r.starts&&h(r.starts,e),s.returnEnd?0:n.length} +let m={};function w(i,s){const a=s&&s[0];if(S+=i,null==a)return d(),0 +;if("begin"===m.type&&"end"===s.type&&m.index===s.index&&""===a){ +if(S+=t.slice(s.index,s.index+1),!o){const t=Error(`0 width match regex (${e})`) +;throw t.languageName=e,t.badRule=m.rule,t}return 1} +if(m=s,"begin"===s.type)return(e=>{ +const t=e[0],i=e.rule,r=new n(i),s=[i.__beforeBegin,i["on:begin"]] +;for(const n of s)if(n&&(n(e,r),r.isMatchIgnored))return f(t) +;return i.skip?S+=t:(i.excludeBegin&&(S+=t), +d(),i.returnBegin||i.excludeBegin||(S=t)),h(i,e),i.returnBegin?0:t.length})(s) +;if("illegal"===s.type&&!r){ +const e=Error('Illegal lexeme "'+a+'" for mode "'+(N.scope||"")+'"') +;throw e.mode=N,e}if("end"===s.type){const e=b(s);if(e!==ee)return e} +if("illegal"===s.type&&""===a)return 1 +;if(A>1e5&&A>3*s.index)throw Error("potential infinite loop, way more iterations than matches") +;return S+=a,a.length}const y=O(e) +;if(!y)throw K(a.replace("{}",e)),Error('Unknown language: "'+e+'"') +;const _=V(y);let v="",N=s||_;const k={},M=new g.__emitter(g);(()=>{const e=[] +;for(let t=N;t!==y;t=t.parent)t.scope&&e.unshift(t.scope) +;e.forEach((e=>M.openNode(e)))})();let S="",R=0,j=0,A=0,I=!1;try{ +for(N.matcher.considerAll();;){ +A++,I?I=!1:N.matcher.considerAll(),N.matcher.lastIndex=j +;const e=N.matcher.exec(t);if(!e)break;const n=w(t.substring(j,e.index),e) +;j=e.index+n} +return w(t.substring(j)),M.closeAllNodes(),M.finalize(),v=M.toHTML(),{ +language:e,value:v,relevance:R,illegal:!1,_emitter:M,_top:N}}catch(n){ +if(n.message&&n.message.includes("Illegal"))return{language:e,value:Y(t), +illegal:!0,relevance:0,_illegalBy:{message:n.message,index:j, +context:t.slice(j-100,j+100),mode:n.mode,resultSoFar:v},_emitter:M};if(o)return{ +language:e,value:Y(t),illegal:!1,relevance:0,errorRaised:n,_emitter:M,_top:N} +;throw n}}function x(e,t){t=t||g.languages||Object.keys(i);const n=(e=>{ +const t={value:Y(e),illegal:!1,relevance:0,_top:c,_emitter:new g.__emitter(g)} +;return t._emitter.addText(e),t})(e),r=t.filter(O).filter(N).map((t=>E(t,e,!1))) +;r.unshift(n);const s=r.sort(((e,t)=>{ +if(e.relevance!==t.relevance)return t.relevance-e.relevance +;if(e.language&&t.language){if(O(e.language).supersetOf===t.language)return 1 +;if(O(t.language).supersetOf===e.language)return-1}return 0})),[o,a]=s,l=o +;return l.secondBest=a,l}function w(e){let t=null;const n=(e=>{ +let t=e.className+" ";t+=e.parentNode?e.parentNode.className:"" +;const n=g.languageDetectRe.exec(t);if(n){const t=O(n[1]) +;return t||(W(a.replace("{}",n[1])), +W("Falling back to no-highlight mode for this block.",e)),t?n[1]:"no-highlight"} +return t.split(/\s+/).find((e=>b(e)||O(e)))})(e);if(b(n))return +;if(k("before:highlightElement",{el:e,language:n +}),e.children.length>0&&(g.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."), +console.warn("https://github.com/highlightjs/highlight.js/wiki/security"), +console.warn("The element with unescaped HTML:"), +console.warn(e)),g.throwUnescapedHTML))throw new J("One of your code blocks includes unescaped HTML.",e.innerHTML) +;t=e;const i=t.textContent,s=n?m(i,{language:n,ignoreIllegals:!0}):x(i) +;e.innerHTML=s.value,((e,t,n)=>{const i=t&&r[t]||n +;e.classList.add("hljs"),e.classList.add("language-"+i) +})(e,n,s.language),e.result={language:s.language,re:s.relevance, +relevance:s.relevance},s.secondBest&&(e.secondBest={ +language:s.secondBest.language,relevance:s.secondBest.relevance +}),k("after:highlightElement",{el:e,result:s,text:i})}let y=!1;function _(){ +"loading"!==document.readyState?document.querySelectorAll(g.cssSelector).forEach(w):y=!0 +}function O(e){return e=(e||"").toLowerCase(),i[e]||i[r[e]]} +function v(e,{languageName:t}){"string"==typeof e&&(e=[e]),e.forEach((e=>{ +r[e.toLowerCase()]=t}))}function N(e){const t=O(e) +;return t&&!t.disableAutodetect}function k(e,t){const n=e;s.forEach((e=>{ +e[n]&&e[n](t)}))} +"undefined"!=typeof window&&window.addEventListener&&window.addEventListener("DOMContentLoaded",(()=>{ +y&&_()}),!1),Object.assign(t,{highlight:m,highlightAuto:x,highlightAll:_, +highlightElement:w, +highlightBlock:e=>(X("10.7.0","highlightBlock will be removed entirely in v12.0"), +X("10.7.0","Please use highlightElement now."),w(e)),configure:e=>{g=Q(g,e)}, +initHighlighting:()=>{ +_(),X("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")}, +initHighlightingOnLoad:()=>{ +_(),X("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.") +},registerLanguage:(e,n)=>{let r=null;try{r=n(t)}catch(t){ +if(K("Language definition for '{}' could not be registered.".replace("{}",e)), +!o)throw t;K(t),r=c} +r.name||(r.name=e),i[e]=r,r.rawDefinition=n.bind(null,t),r.aliases&&v(r.aliases,{ +languageName:e})},unregisterLanguage:e=>{delete i[e] +;for(const t of Object.keys(r))r[t]===e&&delete r[t]}, +listLanguages:()=>Object.keys(i),getLanguage:O,registerAliases:v, +autoDetection:N,inherit:Q,addPlugin:e=>{(e=>{ +e["before:highlightBlock"]&&!e["before:highlightElement"]&&(e["before:highlightElement"]=t=>{ +e["before:highlightBlock"](Object.assign({block:t.el},t)) +}),e["after:highlightBlock"]&&!e["after:highlightElement"]&&(e["after:highlightElement"]=t=>{ +e["after:highlightBlock"](Object.assign({block:t.el},t))})})(e),s.push(e)} +}),t.debugMode=()=>{o=!1},t.safeMode=()=>{o=!0 +},t.versionString="11.7.0",t.regex={concat:p,lookahead:d,either:f,optional:h, +anyNumberOfTimes:u};for(const t in A)"object"==typeof A[t]&&e.exports(A[t]) +;return Object.assign(t,A),t})({});return te}() +;"object"==typeof exports&&"undefined"!=typeof module&&(module.exports=hljs);/*! `properties` grammar compiled for Highlight.js 11.7.0 */ +(()=>{var e=(()=>{"use strict";return e=>{ +const t="[ \\t\\f]*",n="([^\\\\:= \\t\\f\\n]|\\\\.)+";return{name:".properties", +disableAutodetect:!0,case_insensitive:!0,illegal:/\S/, +contains:[e.COMMENT("^\\s*[!#]","$"),{returnBegin:!0,variants:[{ +begin:n+"[ \\t\\f]*[:=][ \\t\\f]*"},{begin:n+"[ \\t\\f]+"}],contains:[{ +className:"attr",begin:n,endsParent:!0}],starts:{ +end:"([ \\t\\f]*[:=][ \\t\\f]*|[ \\t\\f]+)",relevance:0,starts:{ +className:"string",end:/$/,relevance:0,contains:[{begin:"\\\\\\\\"},{ +begin:"\\\\\\n"}]}}},{className:"attr",begin:n+t+"$"}]}}})() +;hljs.registerLanguage("properties",e)})();/*! `diff` grammar compiled for Highlight.js 11.7.0 */ +(()=>{var e=(()=>{"use strict";return e=>{const a=e.regex;return{name:"Diff", +aliases:["patch"],contains:[{className:"meta",relevance:10, +match:a.either(/^@@ +-\d+,\d+ +\+\d+,\d+ +@@/,/^\*\*\* +\d+,\d+ +\*\*\*\*$/,/^--- +\d+,\d+ +----$/) +},{className:"comment",variants:[{ +begin:a.either(/Index: /,/^index/,/={3,}/,/^-{3}/,/^\*{3} /,/^\+{3}/,/^diff --git/), +end:/$/},{match:/^\*{15}$/}]},{className:"addition",begin:/^\+/,end:/$/},{ +className:"deletion",begin:/^-/,end:/$/},{className:"addition",begin:/^!/, +end:/$/}]}}})();hljs.registerLanguage("diff",e)})();/*! `bash` grammar compiled for Highlight.js 11.7.0 */ +(()=>{var e=(()=>{"use strict";return e=>{const s=e.regex,t={},n={begin:/\$\{/, +end:/\}/,contains:["self",{begin:/:-/,contains:[t]}]};Object.assign(t,{ +className:"variable",variants:[{ +begin:s.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},n]});const a={ +className:"subst",begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE]},i={ +begin:/<<-?\s*(?=\w+)/,starts:{contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/, +end:/(\w+)/,className:"string"})]}},c={className:"string",begin:/"/,end:/"/, +contains:[e.BACKSLASH_ESCAPE,t,a]};a.contains.push(c);const o={begin:/\$?\(\(/, +end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},e.NUMBER_MODE,t] +},r=e.SHEBANG({binary:"(fish|bash|zsh|sh|csh|ksh|tcsh|dash|scsh)",relevance:10 +}),l={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0, +contains:[e.inherit(e.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0};return{ +name:"Bash",aliases:["sh"],keywords:{$pattern:/\b[a-z][a-z0-9._-]+\b/, +keyword:["if","then","else","elif","fi","for","while","in","do","done","case","esac","function"], +literal:["true","false"], +built_in:["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset","alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","type","typeset","ulimit","unalias","set","shopt","autoload","bg","bindkey","bye","cap","chdir","clone","comparguments","compcall","compctl","compdescribe","compfiles","compgroups","compquote","comptags","comptry","compvalues","dirs","disable","disown","echotc","echoti","emulate","fc","fg","float","functions","getcap","getln","history","integer","jobs","kill","limit","log","noglob","popd","print","pushd","pushln","rehash","sched","setcap","setopt","stat","suspend","ttyctl","unfunction","unhash","unlimit","unsetopt","vared","wait","whence","where","which","zcompile","zformat","zftp","zle","zmodload","zparseopts","zprof","zpty","zregexparse","zsocket","zstyle","ztcp","chcon","chgrp","chown","chmod","cp","dd","df","dir","dircolors","ln","ls","mkdir","mkfifo","mknod","mktemp","mv","realpath","rm","rmdir","shred","sync","touch","truncate","vdir","b2sum","base32","base64","cat","cksum","comm","csplit","cut","expand","fmt","fold","head","join","md5sum","nl","numfmt","od","paste","ptx","pr","sha1sum","sha224sum","sha256sum","sha384sum","sha512sum","shuf","sort","split","sum","tac","tail","tr","tsort","unexpand","uniq","wc","arch","basename","chroot","date","dirname","du","echo","env","expr","factor","groups","hostid","id","link","logname","nice","nohup","nproc","pathchk","pinky","printenv","printf","pwd","readlink","runcon","seq","sleep","stat","stdbuf","stty","tee","test","timeout","tty","uname","unlink","uptime","users","who","whoami","yes"] +},contains:[r,e.SHEBANG(),l,o,e.HASH_COMMENT_MODE,i,{match:/(\/[a-z._-]+)+/},c,{ +className:"",begin:/\\"/},{className:"string",begin:/'/,end:/'/},t]}}})() +;hljs.registerLanguage("bash",e)})();/*! `shell` grammar compiled for Highlight.js 11.7.0 */ +(()=>{var s=(()=>{"use strict";return s=>({name:"Shell Session", +aliases:["console","shellsession"],contains:[{className:"meta.prompt", +begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/, +subLanguage:"bash"}}]})})();hljs.registerLanguage("shell",s)})();/*! `graphql` grammar compiled for Highlight.js 11.7.0 */ +(()=>{var e=(()=>{"use strict";return e=>{const a=e.regex;return{name:"GraphQL", +aliases:["gql"],case_insensitive:!0,disableAutodetect:!1,keywords:{ +keyword:["query","mutation","subscription","type","input","schema","directive","interface","union","scalar","fragment","enum","on"], +literal:["true","false","null"]}, +contains:[e.HASH_COMMENT_MODE,e.QUOTE_STRING_MODE,e.NUMBER_MODE,{ +scope:"punctuation",match:/[.]{3}/,relevance:0},{scope:"punctuation", +begin:/[\!\(\)\:\=\[\]\{\|\}]{1}/,relevance:0},{scope:"variable",begin:/\$/, +end:/\W/,excludeEnd:!0,relevance:0},{scope:"meta",match:/@\w+/,excludeEnd:!0},{ +scope:"symbol",begin:a.concat(/[_A-Za-z][_0-9A-Za-z]*/,a.lookahead(/\s*:/)), +relevance:0}],illegal:[/[;<']/,/BEGIN/]}}})();hljs.registerLanguage("graphql",e) +})();/*! `kotlin` grammar compiled for Highlight.js 11.7.0 */ +(()=>{var e=(()=>{"use strict" +;var e="\\.([0-9](_*[0-9])*)",n="[0-9a-fA-F](_*[0-9a-fA-F])*",a={ +className:"number",variants:[{ +begin:`(\\b([0-9](_*[0-9])*)((${e})|\\.)?|(${e}))[eE][+-]?([0-9](_*[0-9])*)[fFdD]?\\b` +},{begin:`\\b([0-9](_*[0-9])*)((${e})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{ +begin:`(${e})[fFdD]?\\b`},{begin:"\\b([0-9](_*[0-9])*)[fFdD]\\b"},{ +begin:`\\b0[xX]((${n})\\.?|(${n})?\\.(${n}))[pP][+-]?([0-9](_*[0-9])*)[fFdD]?\\b` +},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${n})[lL]?\\b`},{ +begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}], +relevance:0};return e=>{const n={ +keyword:"abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit init interface annotation data sealed internal infix operator out by constructor super tailrec where const inner suspend typealias external expect actual", +built_in:"Byte Short Char Int Long Boolean Float Double Void Unit Nothing", +literal:"true false null"},i={className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"@" +},s={className:"subst",begin:/\$\{/,end:/\}/,contains:[e.C_NUMBER_MODE]},t={ +className:"variable",begin:"\\$"+e.UNDERSCORE_IDENT_RE},r={className:"string", +variants:[{begin:'"""',end:'"""(?=[^"])',contains:[t,s]},{begin:"'",end:"'", +illegal:/\n/,contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/, +contains:[e.BACKSLASH_ESCAPE,t,s]}]};s.contains.push(r);const l={ +className:"meta", +begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+e.UNDERSCORE_IDENT_RE+")?" +},c={className:"meta",begin:"@"+e.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/, +end:/\)/,contains:[e.inherit(r,{className:"string"}),"self"]}] +},o=a,b=e.COMMENT("/\\*","\\*/",{contains:[e.C_BLOCK_COMMENT_MODE]}),E={ +variants:[{className:"type",begin:e.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/, +contains:[]}]},d=E;return d.variants[1].contains=[E],E.variants[1].contains=[d], +{name:"Kotlin",aliases:["kt","kts"],keywords:n, +contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag", +begin:"@[A-Za-z]+"}]}),e.C_LINE_COMMENT_MODE,b,{className:"keyword", +begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:"symbol", +begin:/@\w+/}]}},i,l,c,{className:"function",beginKeywords:"fun",end:"[(]|$", +returnBegin:!0,excludeEnd:!0,keywords:n,relevance:5,contains:[{ +begin:e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0, +contains:[e.UNDERSCORE_TITLE_MODE]},{className:"type",begin://, +keywords:"reified",relevance:0},{className:"params",begin:/\(/,end:/\)/, +endsParent:!0,keywords:n,relevance:0,contains:[{begin:/:/,end:/[=,\/]/, +endsWithParent:!0,contains:[E,e.C_LINE_COMMENT_MODE,b],relevance:0 +},e.C_LINE_COMMENT_MODE,b,l,c,r,e.C_NUMBER_MODE]},b]},{ +begin:[/class|interface|trait/,/\s+/,e.UNDERSCORE_IDENT_RE],beginScope:{ +3:"title.class"},keywords:"class interface trait",end:/[:\{(]|$/,excludeEnd:!0, +illegal:"extends implements",contains:[{ +beginKeywords:"public protected internal private constructor" +},e.UNDERSCORE_TITLE_MODE,{className:"type",begin://,excludeBegin:!0, +excludeEnd:!0,relevance:0},{className:"type",begin:/[,:]\s*/,end:/[<\(,){\s]|$/, +excludeBegin:!0,returnEnd:!0},l,c]},r,{className:"meta",begin:"^#!/usr/bin/env", +end:"$",illegal:"\n"},o]}}})();hljs.registerLanguage("kotlin",e)})();/*! `rust` grammar compiled for Highlight.js 11.7.0 */ +(()=>{var e=(()=>{"use strict";return e=>{const t=e.regex,a={ +className:"title.function.invoke",relevance:0, +begin:t.concat(/\b/,/(?!let\b)/,e.IDENT_RE,t.lookahead(/\s*\(/)) +},n="([ui](8|16|32|64|128|size)|f(32|64))?",s=["drop ","Copy","Send","Sized","Sync","Drop","Fn","FnMut","FnOnce","ToOwned","Clone","Debug","PartialEq","PartialOrd","Eq","Ord","AsRef","AsMut","Into","From","Default","Iterator","Extend","IntoIterator","DoubleEndedIterator","ExactSizeIterator","SliceConcatExt","ToString","assert!","assert_eq!","bitflags!","bytes!","cfg!","col!","concat!","concat_idents!","debug_assert!","debug_assert_eq!","env!","panic!","file!","format!","format_args!","include_bytes!","include_str!","line!","local_data_key!","module_path!","option_env!","print!","println!","select!","stringify!","try!","unimplemented!","unreachable!","vec!","write!","writeln!","macro_rules!","assert_ne!","debug_assert_ne!"],r=["i8","i16","i32","i64","i128","isize","u8","u16","u32","u64","u128","usize","f32","f64","str","char","bool","Box","Option","Result","String","Vec"] +;return{name:"Rust",aliases:["rs"],keywords:{$pattern:e.IDENT_RE+"!?",type:r, +keyword:["abstract","as","async","await","become","box","break","const","continue","crate","do","dyn","else","enum","extern","false","final","fn","for","if","impl","in","let","loop","macro","match","mod","move","mut","override","priv","pub","ref","return","self","Self","static","struct","super","trait","true","try","type","typeof","unsafe","unsized","use","virtual","where","while","yield"], +literal:["true","false","Some","None","Ok","Err"],built_in:s},illegal:""},a]}}})() +;hljs.registerLanguage("rust",e)})();/*! `gradle` grammar compiled for Highlight.js 11.7.0 */ +(()=>{var e=(()=>{"use strict";return e=>({name:"Gradle",case_insensitive:!0, +keywords:["task","project","allprojects","subprojects","artifacts","buildscript","configurations","dependencies","repositories","sourceSets","description","delete","from","into","include","exclude","source","classpath","destinationDir","includes","options","sourceCompatibility","targetCompatibility","group","flatDir","doLast","doFirst","flatten","todir","fromdir","ant","def","abstract","break","case","catch","continue","default","do","else","extends","final","finally","for","if","implements","instanceof","native","new","private","protected","public","return","static","switch","synchronized","throw","throws","transient","try","volatile","while","strictfp","package","import","false","null","super","this","true","antlrtask","checkstyle","codenarc","copy","boolean","byte","char","class","double","float","int","interface","long","short","void","compile","runTime","file","fileTree","abs","any","append","asList","asWritable","call","collect","compareTo","count","div","dump","each","eachByte","eachFile","eachLine","every","find","findAll","flatten","getAt","getErr","getIn","getOut","getText","grep","immutable","inject","inspect","intersect","invokeMethods","isCase","join","leftShift","minus","multiply","newInputStream","newOutputStream","newPrintWriter","newReader","newWriter","next","plus","pop","power","previous","print","println","push","putAt","read","readBytes","readLines","reverse","reverseEach","round","size","sort","splitEachLine","step","subMap","times","toInteger","toList","tokenize","upto","waitForOrKill","withPrintWriter","withReader","withStream","withWriter","withWriterAppend","write","writeLine"], +contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.NUMBER_MODE,e.REGEXP_MODE] +})})();hljs.registerLanguage("gradle",e)})();/*! `ruby` grammar compiled for Highlight.js 11.7.0 */ +(()=>{var e=(()=>{"use strict";return e=>{ +const n=e.regex,a="([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)",s=n.either(/\b([A-Z]+[a-z0-9]+)+/,/\b([A-Z]+[a-z0-9]+)+[A-Z]+/),i=n.concat(s,/(::\w+)*/),t={ +"variable.constant":["__FILE__","__LINE__","__ENCODING__"], +"variable.language":["self","super"], +keyword:["alias","and","begin","BEGIN","break","case","class","defined","do","else","elsif","end","END","ensure","for","if","in","module","next","not","or","redo","require","rescue","retry","return","then","undef","unless","until","when","while","yield","include","extend","prepend","public","private","protected","raise","throw"], +built_in:["proc","lambda","attr_accessor","attr_reader","attr_writer","define_method","private_constant","module_function"], +literal:["true","false","nil"]},c={className:"doctag",begin:"@[A-Za-z]+"},r={ +begin:"#<",end:">"},b=[e.COMMENT("#","$",{contains:[c] +}),e.COMMENT("^=begin","^=end",{contains:[c],relevance:10 +}),e.COMMENT("^__END__",e.MATCH_NOTHING_RE)],l={className:"subst",begin:/#\{/, +end:/\}/,keywords:t},d={className:"string",contains:[e.BACKSLASH_ESCAPE,l], +variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{ +begin:/%[qQwWx]?\(/,end:/\)/},{begin:/%[qQwWx]?\[/,end:/\]/},{ +begin:/%[qQwWx]?\{/,end:/\}/},{begin:/%[qQwWx]?/},{begin:/%[qQwWx]?\//, +end:/\//},{begin:/%[qQwWx]?%/,end:/%/},{begin:/%[qQwWx]?-/,end:/-/},{ +begin:/%[qQwWx]?\|/,end:/\|/},{begin:/\B\?(\\\d{1,3})/},{ +begin:/\B\?(\\x[A-Fa-f0-9]{1,2})/},{begin:/\B\?(\\u\{?[A-Fa-f0-9]{1,6}\}?)/},{ +begin:/\B\?(\\M-\\C-|\\M-\\c|\\c\\M-|\\M-|\\C-\\M-)[\x20-\x7e]/},{ +begin:/\B\?\\(c|C-)[\x20-\x7e]/},{begin:/\B\?\\?\S/},{ +begin:n.concat(/<<[-~]?'?/,n.lookahead(/(\w+)(?=\W)[^\n]*\n(?:[^\n]*\n)*?\s*\1\b/)), +contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/, +contains:[e.BACKSLASH_ESCAPE,l]})]}]},o="[0-9](_?[0-9])*",g={className:"number", +relevance:0,variants:[{ +begin:`\\b([1-9](_?[0-9])*|0)(\\.(${o}))?([eE][+-]?(${o})|r)?i?\\b`},{ +begin:"\\b0[dD][0-9](_?[0-9])*r?i?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*r?i?\\b" +},{begin:"\\b0[oO][0-7](_?[0-7])*r?i?\\b"},{ +begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\b"},{ +begin:"\\b0(_?[0-7])+r?i?\\b"}]},_={variants:[{match:/\(\)/},{ +className:"params",begin:/\(/,end:/(?=\))/,excludeBegin:!0,endsParent:!0, +keywords:t}]},u=[d,{variants:[{match:[/class\s+/,i,/\s+<\s+/,i]},{ +match:[/\b(class|module)\s+/,i]}],scope:{2:"title.class", +4:"title.class.inherited"},keywords:t},{match:[/(include|extend)\s+/,i],scope:{ +2:"title.class"},keywords:t},{relevance:0,match:[i,/\.new[. (]/],scope:{ +1:"title.class"}},{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/, +className:"variable.constant"},{relevance:0,match:s,scope:"title.class"},{ +match:[/def/,/\s+/,a],scope:{1:"keyword",3:"title.function"},contains:[_]},{ +begin:e.IDENT_RE+"::"},{className:"symbol", +begin:e.UNDERSCORE_IDENT_RE+"(!|\\?)?:",relevance:0},{className:"symbol", +begin:":(?!\\s)",contains:[d,{begin:a}],relevance:0},g,{className:"variable", +begin:"(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])"},{ +className:"params",begin:/\|/,end:/\|/,excludeBegin:!0,excludeEnd:!0, +relevance:0,keywords:t},{begin:"("+e.RE_STARTERS_RE+"|unless)\\s*", +keywords:"unless",contains:[{className:"regexp",contains:[e.BACKSLASH_ESCAPE,l], +illegal:/\n/,variants:[{begin:"/",end:"/[a-z]*"},{begin:/%r\{/,end:/\}[a-z]*/},{ +begin:"%r\\(",end:"\\)[a-z]*"},{begin:"%r!",end:"![a-z]*"},{begin:"%r\\[", +end:"\\][a-z]*"}]}].concat(r,b),relevance:0}].concat(r,b) +;l.contains=u,_.contains=u;const m=[{begin:/^\s*=>/,starts:{end:"$",contains:u} +},{className:"meta.prompt", +begin:"^([>?]>|[\\w#]+\\(\\w+\\):\\d+:\\d+[>*]|(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>)(?=[ ])", +starts:{end:"$",keywords:t,contains:u}}];return b.unshift(r),{name:"Ruby", +aliases:["rb","gemspec","podspec","thor","irb"],keywords:t,illegal:/\/\*/, +contains:[e.SHEBANG({binary:"ruby"})].concat(m).concat(b).concat(u)}}})() +;hljs.registerLanguage("ruby",e)})();/*! `yaml` grammar compiled for Highlight.js 11.7.0 */ +(()=>{var e=(()=>{"use strict";return e=>{ +const n="true false yes no null",a="[\\w#;/?:@&=+$,.~*'()[\\]]+",s={ +className:"string",relevance:0,variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/ +},{begin:/\S+/}],contains:[e.BACKSLASH_ESCAPE,{className:"template-variable", +variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]}]},i=e.inherit(s,{ +variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),l={ +end:",",endsWithParent:!0,excludeEnd:!0,keywords:n,relevance:0},t={begin:/\{/, +end:/\}/,contains:[l],illegal:"\\n",relevance:0},g={begin:"\\[",end:"\\]", +contains:[l],illegal:"\\n",relevance:0},b=[{className:"attr",variants:[{ +begin:"\\w[\\w :\\/.-]*:(?=[ \t]|$)"},{begin:'"\\w[\\w :\\/.-]*":(?=[ \t]|$)'},{ +begin:"'\\w[\\w :\\/.-]*':(?=[ \t]|$)"}]},{className:"meta",begin:"^---\\s*$", +relevance:10},{className:"string", +begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{ +begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0, +relevance:0},{className:"type",begin:"!\\w+!"+a},{className:"type", +begin:"!<"+a+">"},{className:"type",begin:"!"+a},{className:"type",begin:"!!"+a +},{className:"meta",begin:"&"+e.UNDERSCORE_IDENT_RE+"$"},{className:"meta", +begin:"\\*"+e.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)", +relevance:0},e.HASH_COMMENT_MODE,{beginKeywords:n,keywords:{literal:n}},{ +className:"number", +begin:"\\b[0-9]{4}(-[0-9][0-9]){0,2}([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?(\\.[0-9]*)?([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?\\b" +},{className:"number",begin:e.C_NUMBER_RE+"\\b",relevance:0},t,g,s],r=[...b] +;return r.pop(),r.push(i),l.contains=r,{name:"YAML",case_insensitive:!0, +aliases:["yml"],contains:b}}})();hljs.registerLanguage("yaml",e)})();/*! `json` grammar compiled for Highlight.js 11.7.0 */ +(()=>{var e=(()=>{"use strict";return e=>{const a=["true","false","null"],n={ +scope:"literal",beginKeywords:a.join(" ")};return{name:"JSON",keywords:{ +literal:a},contains:[{className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/, +relevance:1.01},{match:/[{}[\],:]/,className:"punctuation",relevance:0 +},e.QUOTE_STRING_MODE,n,e.C_NUMBER_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE], +illegal:"\\S"}}})();hljs.registerLanguage("json",e)})();/*! `xml` grammar compiled for Highlight.js 11.7.0 */ +(()=>{var e=(()=>{"use strict";return e=>{ +const a=e.regex,n=a.concat(/[\p{L}_]/u,a.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),s={ +className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},t={begin:/\s/, +contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}] +},i=e.inherit(t,{begin:/\(/,end:/\)/}),c=e.inherit(e.APOS_STRING_MODE,{ +className:"string"}),l=e.inherit(e.QUOTE_STRING_MODE,{className:"string"}),r={ +endsWithParent:!0,illegal:/`]+/}]}]}]};return{ +name:"HTML, XML", +aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"], +case_insensitive:!0,unicodeRegex:!0,contains:[{className:"meta",begin://,relevance:10,contains:[t,l,c,i,{begin:/\[/,end:/\]/,contains:[{ +className:"meta",begin://,contains:[t,i,l,c]}]}] +},e.COMMENT(//,{relevance:10}),{begin://, +relevance:10},s,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/, +relevance:10,contains:[l]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag", +begin:/)/,end:/>/,keywords:{name:"style"},contains:[r],starts:{ +end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag", +begin:/)/,end:/>/,keywords:{name:"script"},contains:[r],starts:{ +end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{ +className:"tag",begin:/<>|<\/>/},{className:"tag", +begin:a.concat(//,/>/,/\s/)))), +end:/\/?>/,contains:[{className:"name",begin:n,relevance:0,starts:r}]},{ +className:"tag",begin:a.concat(/<\//,a.lookahead(a.concat(n,/>/))),contains:[{ +className:"name",begin:n,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}} +})();hljs.registerLanguage("xml",e)})();/*! `groovy` grammar compiled for Highlight.js 11.7.0 */ +(()=>{var e=(()=>{"use strict";function e(e,a={}){return a.variants=e,a} +return a=>{ +const n=a.regex,t="[A-Za-z0-9_$]+",r=e([a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,a.COMMENT("/\\*\\*","\\*/",{ +relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:"doctag", +begin:"@[A-Za-z]+"}]})]),s={className:"regexp",begin:/~?\/[^\/\n]+\//, +contains:[a.BACKSLASH_ESCAPE] +},i=e([a.BINARY_NUMBER_MODE,a.C_NUMBER_MODE]),l=e([{begin:/"""/,end:/"""/},{ +begin:/'''/,end:/'''/},{begin:"\\$/",end:"/\\$",relevance:10 +},a.APOS_STRING_MODE,a.QUOTE_STRING_MODE],{className:"string"}),c={ +match:[/(class|interface|trait|enum|extends|implements)/,/\s+/,a.UNDERSCORE_IDENT_RE], +scope:{1:"keyword",3:"title.class"}};return{name:"Groovy",keywords:{ +"variable.language":"this super",literal:"true false null", +type:["byte","short","char","int","long","boolean","float","double","void"], +keyword:["def","as","in","assert","trait","abstract","static","volatile","transient","public","private","protected","synchronized","final","class","interface","enum","if","else","for","while","switch","case","break","default","continue","throw","throws","try","catch","finally","implements","extends","new","import","package","return","instanceof"] +},contains:[a.SHEBANG({binary:"groovy",relevance:10}),r,l,s,i,c,{ +className:"meta",begin:"@[A-Za-z]+",relevance:0},{className:"attr", +begin:t+"[ \t]*:",relevance:0},{begin:/\?/,end:/:/,relevance:0, +contains:[r,l,s,i,"self"]},{className:"symbol", +begin:"^[ \t]*"+n.lookahead(t+":"),excludeBegin:!0,end:t+":",relevance:0}], +illegal:/#|<\//}}})();hljs.registerLanguage("groovy",e)})();/*! `python` grammar compiled for Highlight.js 11.7.0 */ +(()=>{var e=(()=>{"use strict";return e=>{ +const n=e.regex,a=/[\p{XID_Start}_]\p{XID_Continue}*/u,i=["and","as","assert","async","await","break","case","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","match","nonlocal|10","not","or","pass","raise","return","try","while","with","yield"],s={ +$pattern:/[A-Za-z]\w+|__\w+__/,keyword:i, +built_in:["__import__","abs","all","any","ascii","bin","bool","breakpoint","bytearray","bytes","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","exec","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip"], +literal:["__debug__","Ellipsis","False","None","NotImplemented","True"], +type:["Any","Callable","Coroutine","Dict","List","Literal","Generic","Optional","Sequence","Set","Tuple","Type","Union"] +},t={className:"meta",begin:/^(>>>|\.\.\.) /},r={className:"subst",begin:/\{/, +end:/\}/,keywords:s,illegal:/#/},l={begin:/\{\{/,relevance:0},b={ +className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{ +begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/, +contains:[e.BACKSLASH_ESCAPE,t],relevance:10},{ +begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/, +contains:[e.BACKSLASH_ESCAPE,t],relevance:10},{ +begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/, +contains:[e.BACKSLASH_ESCAPE,t,l,r]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/, +end:/"""/,contains:[e.BACKSLASH_ESCAPE,t,l,r]},{begin:/([uU]|[rR])'/,end:/'/, +relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{ +begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/, +end:/"/},{begin:/([fF][rR]|[rR][fF]|[fF])'/,end:/'/, +contains:[e.BACKSLASH_ESCAPE,l,r]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/, +contains:[e.BACKSLASH_ESCAPE,l,r]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE] +},o="[0-9](_?[0-9])*",c=`(\\b(${o}))?\\.(${o})|\\b(${o})\\.`,d="\\b|"+i.join("|"),g={ +className:"number",relevance:0,variants:[{ +begin:`(\\b(${o})|(${c}))[eE][+-]?(${o})[jJ]?(?=${d})`},{begin:`(${c})[jJ]?`},{ +begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${d})`},{ +begin:`\\b0[bB](_?[01])+[lL]?(?=${d})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${d})` +},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${d})`},{begin:`\\b(${o})[jJ](?=${d})` +}]},p={className:"comment",begin:n.lookahead(/# type:/),end:/$/,keywords:s, +contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},m={ +className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/, +end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:s, +contains:["self",t,g,b,e.HASH_COMMENT_MODE]}]};return r.contains=[b,g,t],{ +name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:s, +illegal:/(<\/|->|\?)|=>/,contains:[t,g,{begin:/\bself\b/},{beginKeywords:"if", +relevance:0},b,p,e.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,a],scope:{ +1:"keyword",3:"title.function"},contains:[m]},{variants:[{ +match:[/\bclass/,/\s+/,a,/\s*/,/\(\s*/,a,/\s*\)/]},{match:[/\bclass/,/\s+/,a]}], +scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{ +className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[g,m,b]}]}}})() +;hljs.registerLanguage("python",e)})();/*! `ini` grammar compiled for Highlight.js 11.7.0 */ +(()=>{var e=(()=>{"use strict";return e=>{const n=e.regex,a={className:"number", +relevance:0,variants:[{begin:/([+-]+)?[\d]+_[\d_]+/},{begin:e.NUMBER_RE}] +},s=e.COMMENT();s.variants=[{begin:/;/,end:/$/},{begin:/#/,end:/$/}];const i={ +className:"variable",variants:[{begin:/\$[\w\d"][\w\d_]*/},{begin:/\$\{(.*?)\}/ +}]},t={className:"literal",begin:/\bon|off|true|false|yes|no\b/},r={ +className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:"'''", +end:"'''",relevance:10},{begin:'"""',end:'"""',relevance:10},{begin:'"',end:'"' +},{begin:"'",end:"'"}]},l={begin:/\[/,end:/\]/,contains:[s,t,i,r,a,"self"], +relevance:0},c=n.either(/[A-Za-z0-9_-]+/,/"(\\"|[^"])*"/,/'[^']*'/);return{ +name:"TOML, also INI",aliases:["toml"],case_insensitive:!0,illegal:/\S/, +contains:[s,{className:"section",begin:/\[+/,end:/\]+/},{ +begin:n.concat(c,"(\\s*\\.\\s*",c,")*",n.lookahead(/\s*=\s*[^#\s]/)), +className:"attr",starts:{end:/$/,contains:[s,l,t,i,r,a]}}]}}})() +;hljs.registerLanguage("ini",e)})();/*! `plaintext` grammar compiled for Highlight.js 11.7.0 */ +(()=>{var t=(()=>{"use strict";return t=>({name:"Plain text", +aliases:["text","txt"],disableAutodetect:!0})})() +;hljs.registerLanguage("plaintext",t)})();/*! `java` grammar compiled for Highlight.js 11.7.0 */ +(()=>{var e=(()=>{"use strict" +;var e="\\.([0-9](_*[0-9])*)",a="[0-9a-fA-F](_*[0-9a-fA-F])*",n={ +className:"number",variants:[{ +begin:`(\\b([0-9](_*[0-9])*)((${e})|\\.)?|(${e}))[eE][+-]?([0-9](_*[0-9])*)[fFdD]?\\b` +},{begin:`\\b([0-9](_*[0-9])*)((${e})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{ +begin:`(${e})[fFdD]?\\b`},{begin:"\\b([0-9](_*[0-9])*)[fFdD]\\b"},{ +begin:`\\b0[xX]((${a})\\.?|(${a})?\\.(${a}))[pP][+-]?([0-9](_*[0-9])*)[fFdD]?\\b` +},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${a})[lL]?\\b`},{ +begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}], +relevance:0};function s(e,a,n){return-1===n?"":e.replace(a,(t=>s(e,a,n-1)))} +return e=>{ +const a=e.regex,t="[\xc0-\u02b8a-zA-Z_$][\xc0-\u02b8a-zA-Z_$0-9]*",i=t+s("(?:<"+t+"~~~(?:\\s*,\\s*"+t+"~~~)*>)?",/~~~/g,2),r={ +keyword:["synchronized","abstract","private","var","static","if","const ","for","while","strictfp","finally","protected","import","native","final","void","enum","else","break","transient","catch","instanceof","volatile","case","assert","package","default","public","try","switch","continue","throws","protected","public","private","module","requires","exports","do","sealed","yield","permits"], +literal:["false","true","null"], +type:["char","boolean","long","float","int","byte","short","double"], +built_in:["super","this"]},l={className:"meta",begin:"@"+t,contains:[{ +begin:/\(/,end:/\)/,contains:["self"]}]},c={className:"params",begin:/\(/, +end:/\)/,keywords:r,relevance:0,contains:[e.C_BLOCK_COMMENT_MODE],endsParent:!0} +;return{name:"Java",aliases:["jsp"],keywords:r,illegal:/<\/|#/, +contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/, +relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),{ +begin:/import java\.[a-z]+\./,keywords:"import",relevance:2 +},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{begin:/"""/,end:/"""/, +className:"string",contains:[e.BACKSLASH_ESCAPE] +},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{ +match:[/\b(?:class|interface|enum|extends|implements|new)/,/\s+/,t],className:{ +1:"keyword",3:"title.class"}},{match:/non-sealed/,scope:"keyword"},{ +begin:[a.concat(/(?!else)/,t),/\s+/,t,/\s+/,/=(?!=)/],className:{1:"type", +3:"variable",5:"operator"}},{begin:[/record/,/\s+/,t],className:{1:"keyword", +3:"title.class"},contains:[c,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{ +beginKeywords:"new throw return else",relevance:0},{ +begin:["(?:"+i+"\\s+)",e.UNDERSCORE_IDENT_RE,/\s*(?=\()/],className:{ +2:"title.function"},keywords:r,contains:[{className:"params",begin:/\(/, +end:/\)/,keywords:r,relevance:0, +contains:[l,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,n,e.C_BLOCK_COMMENT_MODE] +},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},n,l]}}})() +;hljs.registerLanguage("java",e)})();/*! `go` grammar compiled for Highlight.js 11.7.0 */ +(()=>{var e=(()=>{"use strict";return e=>{const n={ +keyword:["break","case","chan","const","continue","default","defer","else","fallthrough","for","func","go","goto","if","import","interface","map","package","range","return","select","struct","switch","type","var"], +type:["bool","byte","complex64","complex128","error","float32","float64","int8","int16","int32","int64","string","uint8","uint16","uint32","uint64","int","uint","uintptr","rune"], +literal:["true","false","iota","nil"], +built_in:["append","cap","close","complex","copy","imag","len","make","new","panic","print","println","real","recover","delete"] +};return{name:"Go",aliases:["golang"],keywords:n,illegal:" -1 + } + function isLang(optionId) { + return MICRONAUT_SUPPORTED_LANGS.indexOf(optionId) > -1 + } + function isConfig(optionId) { + return MICRONAUT_SUPPORTED_CONFIG_LANGS.indexOf(optionId) > -1 + } + + // Ensure preferred Language is valid, defaulting to JAVA + function initPreferredLanguage() { + var lang = window.localStorage.getItem(LOCALSTORAGE_KEY_LANG); + if (MICRONAUT_SUPPORTED_LANGS.indexOf(lang) === -1) { + window.localStorage.setItem(LOCALSTORAGE_KEY_LANG, DEFAULT_SUPPORTED_LANG); + lang = DEFAULT_SUPPORTED_LANG; + } + return lang; + } + + // Ensure preferred build is valid, defaulting to GRADLE + function initPreferredBuild() { + var build = window.localStorage.getItem(LOCALSTORAGE_KEY_BUILD); + if (MICRONAUT_SUPPORTED_BUILDS.indexOf(build) === -1) { + window.localStorage.setItem(LOCALSTORAGE_KEY_BUILD, DEFAULT_BUILD); + build = DEFAULT_BUILD; + } + return build; + } + + // Ensure preferred config language is valid, defaulting to YAML + function initPreferredConfig() { + var lang = window.localStorage.getItem(LOCALSTORAGE_KEY_CONFIG); + if (MICRONAUT_SUPPORTED_CONFIG_LANGS.indexOf(lang) === -1) { + window.localStorage.setItem(LOCALSTORAGE_KEY_CONFIG, DEFAULT_CONFIG); + lang = DEFAULT_CONFIG; + } + return lang; + } + + // This makes the dash separated sub-langs display better + function makeTitleForSnippetSelector(string) { + if (CONFIG_GROOVY === string) { + return "Groovy"; + } + if (CONFIG_JSON === string) { + return "JSON"; + } + var langSlices = string.split("-"); + var title = capitalizeWord(langSlices[0]); + if(langSlices.length == 2) { + title += " (" + capitalizeWord(langSlices[1]) + ")"; + } + return title; + } + + function capitalizeWord(string) { + if (typeof string !== 'string') return ''; + return string.charAt(0).toUpperCase() + string.slice(1); + } + + function ensureAtLeastOneCodeBlockIsVisible(collectionOfSampleElements) { + if (collectionOfSampleElements.length > 0 && collectionOfSampleElements.every(a => a.classList.contains("hidden"))) { + const firstElement = collectionOfSampleElements[0]; + console.info("No code snippet in default preferred language, showing first", firstElement) + firstElement.classList.remove("hidden") + } + } + + function processSampleEl(sampleEl, prefLangId, prefBuildId, prefConfigId) { + var codeEl = sampleEl.querySelector("code[data-lang]"); + if (codeEl != null) { + sampleEl.setAttribute("data-lang", codeEl.getAttribute("data-lang")); + if (codeEl.getAttribute("data-lang") !== prefLangId && codeEl.getAttribute("data-lang") !== prefBuildId && codeEl.getAttribute("data-lang") !== prefConfigId) { + sampleEl.classList.add("hidden"); + } else { + sampleEl.classList.remove("hidden"); + } + // This block corrects highlighting issues with our dash-separated languages (like gradle-groovy and gradle-kotlin) + if(codeEl.classList.contains("language-" + BUILD_GRADLE_GROOVY) || codeEl.classList.contains("language-" + BUILD_GRADLE_KOTLIN)) { + codeEl.classList.remove('language-' + BUILD_GRADLE_GROOVY); + codeEl.classList.remove('language-' + BUILD_GRADLE_KOTLIN); + codeEl.classList.add('language-' + BUILD_GRADLE); + hljs.highlightBlock(codeEl); + } + // This block corrects highlighting issues for Maven, which isn't supported by hljs as maven but as XML + if(codeEl.classList.contains("language-" + BUILD_MAVEN)) { + codeEl.classList.remove('language-' + BUILD_MAVEN); + codeEl.classList.add('language-xml'); + hljs.highlightBlock(codeEl); + } + // This block corrects highlighting issues for HOCON, which isn't supported by hljs + if(codeEl.classList.contains("language-" + CONFIG_HOCON)) { + codeEl.classList.remove('language-' + CONFIG_HOCON); + codeEl.classList.add('language-json'); + hljs.highlightBlock(codeEl); + } + // This block corrects highlighting issues for Groovy config, which isn't supported by hljs + if(codeEl.classList.contains("language-" + CONFIG_GROOVY)) { + codeEl.classList.remove('language-' + CONFIG_GROOVY); + codeEl.classList.add('language-groovy'); + hljs.highlightBlock(codeEl); + } + // This block corrects highlighting issues for Json config, which isn't supported by hljs + if(codeEl.classList.contains("language-" + CONFIG_JSON)) { + codeEl.classList.remove('language-' + CONFIG_JSON); + codeEl.classList.add('language-json'); + hljs.highlightBlock(codeEl); + } + } + } + + function switchSampleLanguage(languageId, buildId, configId) { + + // First make sure all the code sample sections are created + ensureMultiLanguageSampleSectionsHydrated(languageId, buildId, configId); + + [].slice.call(document.querySelectorAll(".multi-language-selector .language-option")).forEach(function (optionEl) { + if (optionEl.getAttribute("data-lang") === languageId || optionEl.getAttribute("data-lang") === buildId || optionEl.getAttribute("data-lang") === configId ) { + optionEl.classList.add("selected"); + } else { + optionEl.classList.remove("selected"); + } + }); + + [].slice.call(document.querySelectorAll(".multi-language-text")).forEach(function (el) { + if (!el.classList.contains("lang-" + languageId) && !el.classList.contains("lang-" + buildId) && !el.classList.contains("lang-" + configId)) { + el.classList.add("hidden"); + } else { + el.classList.remove("hidden"); + } + }); + } + + function ensureMultiLanguageSampleSectionsHydrated(languageId, buildId, configId) { + var multiLanguageSampleElements = [].slice.call(document.querySelectorAll(".multi-language-sample")); + // Array of Arrays, each top-level array representing a single collection of samples + var multiLanguageSets = []; + for (var i = 0; i < multiLanguageSampleElements.length; i++) { + var currentCollection = [multiLanguageSampleElements[i]]; + var currentSampleElement = multiLanguageSampleElements[i]; + processSampleEl(currentSampleElement, languageId, buildId, configId); + while (currentSampleElement.nextElementSibling != null && currentSampleElement.nextElementSibling.classList.contains("multi-language-sample")) { + currentCollection.push(currentSampleElement.nextElementSibling); + currentSampleElement = currentSampleElement.nextElementSibling; + processSampleEl(currentSampleElement, languageId, buildId, configId); + i++; + } + ensureAtLeastOneCodeBlockIsVisible(currentCollection); + multiLanguageSets.push(currentCollection); + } + + multiLanguageSets.forEach(function (sampleCollection) { + // Create selector element if not existing + if (sampleCollection.length > 1) { + + if (sampleCollection.every(function(element) { + return element.classList.contains("hidden"); + })) { + sampleCollection[0].classList.remove("hidden"); + } + + // Add the multi-lang selector + if (sampleCollection[0].previousElementSibling == null || + !sampleCollection[0].previousElementSibling.classList.contains("multi-language-selector")) { + + var languageSelectorFragment = document.createDocumentFragment(); + var multiLanguageSelectorElement = document.createElement("div"); + multiLanguageSelectorElement.classList.add("multi-language-selector"); + languageSelectorFragment.appendChild(multiLanguageSelectorElement); + + sampleCollection.forEach(function (sampleEl) { + var optionEl = document.createElement("code"); + var sampleLanguage = sampleEl.getAttribute("data-lang"); + optionEl.setAttribute("data-lang", sampleLanguage); + optionEl.setAttribute("role", "button"); + optionEl.classList.add("language-option"); + + optionEl.innerText = makeTitleForSnippetSelector(sampleLanguage); + + optionEl.addEventListener("click", function updatePreferredLanguage(evt) { + var optionId = optionEl.getAttribute("data-lang"); + var isOptionBuild = isBuild(optionId); + var isOptionLang = isLang(optionId); + var isOptionConfig = isConfig(optionId); + if (isOptionBuild) { + window.localStorage.setItem(LOCALSTORAGE_KEY_BUILD, optionId); + } + if (isOptionLang) { + window.localStorage.setItem(LOCALSTORAGE_KEY_LANG, optionId); + } + if (isOptionConfig) { + window.localStorage.setItem(LOCALSTORAGE_KEY_CONFIG, optionId); + } + + switchSampleLanguage(isOptionLang ? optionId : initPreferredLanguage(), isOptionBuild ? optionId : initPreferredBuild(), isOptionConfig ? optionId : initPreferredConfig()); + + // scroll to multi-lange selector. Offset the scroll a little bit to focus. + optionEl.scrollIntoView(); + var offset = 150; + window.scrollBy(0, -offset); + }); + multiLanguageSelectorElement.appendChild(optionEl); + }); + sampleCollection[0].parentNode.insertBefore(languageSelectorFragment, sampleCollection[0]); + // Insert title node prior to selector if title is present in sample collections, and remove duplicate title nodes + if (sampleCollection[0].getElementsByClassName("title").length > 0) { + var titleFragment = document.createDocumentFragment(); + var titleContainerFragment = document.createElement("div"); + titleContainerFragment.classList.add("paragraph"); + titleFragment.appendChild(titleContainerFragment); + var titleEl = sampleCollection[0].getElementsByClassName("title")[0].cloneNode(true); + titleContainerFragment.appendChild(titleEl); + sampleCollection.forEach(function(element) { + var titleElementsToRemove = element.getElementsByClassName("title"); + if(titleElementsToRemove.length > 0) { + for (var i = 0; i < titleElementsToRemove.length; i++) { + titleElementsToRemove[i].parentNode.removeChild(titleElementsToRemove[i]); + } + } + }); + sampleCollection[0].parentNode.insertBefore(titleFragment, multiLanguageSelectorElement); + } + } + } + }); + } + + switchSampleLanguage(preferredLanguage, preferredBuild, preferredConfig); +} + +function createCopyToClipboardElement() { + var copyToClipboardDiv = document.createElement("div"); + var copyToClipboardSpan = document.createElement("span"); + copyToClipboardSpan.setAttribute("class", "copytoclipboard"); + copyToClipboardSpan.setAttribute("onclick", "copyToClipboard(this);"); + copyToClipboardSpan.innerText = "Copy to Clipboard"; + copyToClipboardDiv.appendChild(copyToClipboardSpan); + return copyToClipboardDiv; +} + +function postProcessCodeCallouts() { + var calloutClass = "conum"; + var matches = document.querySelectorAll("b."+calloutClass); + if (matches != null) { + matches.forEach(function(item) { + var number = item.textContent.replace("(", "").replace(")", ""); + var i = document.createElement('i'); + i.setAttribute("class","conum"); + i.setAttribute("data-value", number); + item.parentNode.insertBefore(i, item); + item.removeAttribute("class"); + }); + } +} + +document.addEventListener("DOMContentLoaded", function(event) { + addCopyToClipboardButtons(); + postProcessCodeBlocks(); + postProcessCodeCallouts(); +}); diff --git a/4.8.1/style/guideItem.html b/4.8.1/style/guideItem.html new file mode 100644 index 00000000..1b7b1e19 --- /dev/null +++ b/4.8.1/style/guideItem.html @@ -0,0 +1,147 @@ + + + + + + + ${sectionNumber} ${title.encodeAsHtml()} ${version} + + + + + + + + + + + + + + +
    +
    + + <% if(prev){ %> + + <% } %> + + (Quick Reference) + + <% if(next){ %> + + <% } %> + + +
    +

    ${sectionNumber} ${title.encodeAsHtml()}

    + +

    Version: ${version}

    +
    + + <% if (sectionToc) { %> +
    +

    Table of Contents

    + <% + sectionWriter = { lvl, section, prefix -> + %> + + <% + lvl++ + section.children.eachWithIndex { s, j -> + sectionWriter.call(lvl, s, prefix + '.' + (j + 1)) + } + } + + sectionToc.eachWithIndex { s, i -> + sectionWriter.call(0, s, chapterNumber + '.' + (i + 1)) + } + %> +
    + <% } %> + + ${content} + +
    + <% if(prev){ %> + + <% } + if(next){ %> + + <% } %> +
    +
    +
    +
    + + +
    +
    + + + + + + + diff --git a/4.8.1/style/index.html b/4.8.1/style/index.html new file mode 100644 index 00000000..fea85da2 --- /dev/null +++ b/4.8.1/style/index.html @@ -0,0 +1,26 @@ + + + + + + ${title} ${version} Reference Documentation + + + + + + + + + <h2>Frame Alert</h2> + <p/> + This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client. + + + diff --git a/4.8.1/style/layout.html b/4.8.1/style/layout.html new file mode 100644 index 00000000..4ccbdbb8 --- /dev/null +++ b/4.8.1/style/layout.html @@ -0,0 +1,129 @@ + + + + ${title.encodeAsHtml()} + + + + + + + + + + + + + + + + + + + + + +
    + + <% if(toc){ %> +
    +
    + +

    Table of Contents

    + <% + sectionWriter = { lvl, section, topSection, prefix -> + if (single) { + %> + + <% + } + else { + %> + + <% + } + + lvl++ + section.children.eachWithIndex { s, j -> + sectionWriter.call(lvl, s, topSection, prefix + '.' + (j + 1)) + } + } + + toc.children.eachWithIndex { topSection, i -> + sectionWriter.call(0, topSection, topSection, i + 1) + } + %> +
    +
    + <% } %> +
    +
    +

    ${title.encodeAsHtml()}

    +

    +

    ${subtitle?.encodeAsHtml()}

    +

    Version: ${version}

    +
    + ${content} +
    +
    + + + + diff --git a/4.8.1/style/menu.html b/4.8.1/style/menu.html new file mode 100644 index 00000000..0b18d0ef --- /dev/null +++ b/4.8.1/style/menu.html @@ -0,0 +1,22 @@ + + + + + + + menu + + + + + ${menu} + + diff --git a/4.8.1/style/page.html b/4.8.1/style/page.html new file mode 100644 index 00000000..51836096 --- /dev/null +++ b/4.8.1/style/page.html @@ -0,0 +1,56 @@ + + + + @pagetitle@ + + + + + + + + + + + + +
    + +
    +
    +

    Configuration Reference

    +

    Version:@projectVersion@

    +

    +
    +@docscontent@ +
    +
    + + \ No newline at end of file diff --git a/4.8.1/style/referenceItem.html b/4.8.1/style/referenceItem.html new file mode 100644 index 00000000..79a7dabc --- /dev/null +++ b/4.8.1/style/referenceItem.html @@ -0,0 +1,117 @@ + + + + + + + ${title.encodeAsHtml()} ${version} + + + + + + + + + + + + + + + + + +
    +
    + + (Quick Reference) + <% if(sourceRepo) { %> +
    + +
    + <% } %> + + ${content} +
    +
    +
    + + +
    +
    + + + + + + + + diff --git a/4.8.1/style/section.html b/4.8.1/style/section.html new file mode 100644 index 00000000..6873656b --- /dev/null +++ b/4.8.1/style/section.html @@ -0,0 +1,11 @@ +<% def hLevel = level == 0 ? 1 : 2 %> +${sectionNumber} ${title} +<% if(sourceRepo) { %> +
    + +
    +<% } %> + +${content} diff --git a/4.8.x/api/allclasses-index.html b/4.8.x/api/allclasses-index.html index 8a9fa008..483794b5 100644 --- a/4.8.x/api/allclasses-index.html +++ b/4.8.x/api/allclasses-index.html @@ -2,7 +2,7 @@ -All Classes and Interfaces (validation-parent 4.8.0 API) +All Classes and Interfaces (validation-parent 4.8.1 API) @@ -11,7 +11,7 @@ - + @@ -157,60 +157,64 @@

    All Classes and Interfaces<
    Internal version of ConstraintValidatorFactory.
    - -
    -
    The visitor add property indexes for the validated annotations.
    + +
    +
    Resolves the Locale for the DefaultMessageInterpolator.
    - +
    +
    The visitor add property indexes for the validated annotations.
    +
    + +
    Validator for the Pattern annotation.
    - -
    + +
    Interface for reactive bean validation.
    - -
    + +
    Abstract implementation of a Size validator.
    - -
    + +
    Around advice that ensures an objects methods are validated.
    - -
    + +
    Internal annotation used to trigger cascading.
    - -
    + +
    A MethodInterceptor that validates method invocations.
    - -
    + +
    The validation annotations remapper.
    - -
    + +
    Internal validation utils.
    - -
    + +
    The visitor creates annotations utilized by the Validator.
    - -
    + +
    Extended version of the Valid interface for Micronaut's implementation.
    - -
    + +
    Configuration for the Validator.
    - -
    + +
    The value extractor definition.
    - -
    + +
    Registry of value extractors.
    diff --git a/4.8.x/api/allpackages-index.html b/4.8.x/api/allpackages-index.html index c659f336..a8170ff5 100644 --- a/4.8.x/api/allpackages-index.html +++ b/4.8.x/api/allpackages-index.html @@ -2,7 +2,7 @@ -All Packages (validation-parent 4.8.0 API) +All Packages (validation-parent 4.8.1 API) @@ -11,7 +11,7 @@ - + diff --git a/4.8.x/api/constant-values.html b/4.8.x/api/constant-values.html index 406955ca..dc251fad 100644 --- a/4.8.x/api/constant-values.html +++ b/4.8.x/api/constant-values.html @@ -2,7 +2,7 @@ -Constant Field Values (validation-parent 4.8.0 API) +Constant Field Values (validation-parent 4.8.1 API) @@ -11,7 +11,7 @@ - + diff --git a/4.8.x/api/deprecated-list.html b/4.8.x/api/deprecated-list.html index 3afb1829..e4bd947f 100644 --- a/4.8.x/api/deprecated-list.html +++ b/4.8.x/api/deprecated-list.html @@ -2,7 +2,7 @@ -Deprecated List (validation-parent 4.8.0 API) +Deprecated List (validation-parent 4.8.1 API) @@ -11,7 +11,7 @@ - + @@ -51,11 +51,28 @@

    Deprecated API

    Contents

    +
      +
    • Deprecated Methods
      @@ -73,6 +90,21 @@

      Contents

    +
    diff --git a/4.8.x/api/help-doc.html b/4.8.x/api/help-doc.html index c4c3e7e3..4dd84820 100644 --- a/4.8.x/api/help-doc.html +++ b/4.8.x/api/help-doc.html @@ -2,7 +2,7 @@ -API Help (validation-parent 4.8.0 API) +API Help (validation-parent 4.8.1 API) @@ -11,7 +11,7 @@ - + diff --git a/4.8.x/api/index-all.html b/4.8.x/api/index-all.html index 446bd373..7474b18e 100644 --- a/4.8.x/api/index-all.html +++ b/4.8.x/api/index-all.html @@ -2,7 +2,7 @@ -Index (validation-parent 4.8.0 API) +Index (validation-parent 4.8.1 API) @@ -11,7 +11,7 @@ - + @@ -190,6 +190,12 @@

    D

    The default error messages.
    DefaultMessageInterpolator(MessageSource) - Constructor for class io.micronaut.validation.validator.messages.DefaultMessageInterpolator
    +
    +
    Deprecated, for removal: This API element is subject to removal in a future version. + +
    +
    +
    DefaultMessageInterpolator(MessageSource, InterpolatorLocaleResolver) - Constructor for class io.micronaut.validation.validator.messages.DefaultMessageInterpolator
     
    DefaultMessages - Class in io.micronaut.validation.validator.messages
    @@ -482,6 +488,10 @@

    I

     
    interpolate(String, MessageInterpolator.Context, Locale) - Method in class io.micronaut.validation.validator.messages.DefaultMessageInterpolator
     
    +
    InterpolatorLocaleResolver - Interface in io.micronaut.validation.validator.messages
    +
    +
    Resolves the Locale for the DefaultMessageInterpolator.
    +
    IntrospectedValidationIndexesVisitor - Class in io.micronaut.validation.visitor
    The visitor add property indexes for the validated annotations.
    @@ -599,6 +609,8 @@

    R

    It will be private in a future version.
    +
    resolve() - Method in interface io.micronaut.validation.validator.messages.InterpolatorLocaleResolver
    +
     

    S

    diff --git a/4.8.x/api/index.html b/4.8.x/api/index.html index 12ffd983..88d9a402 100644 --- a/4.8.x/api/index.html +++ b/4.8.x/api/index.html @@ -2,7 +2,7 @@ -Overview (validation-parent 4.8.0 API) +Overview (validation-parent 4.8.1 API) @@ -11,7 +11,7 @@ - + @@ -48,7 +48,7 @@
    -

    validation-parent 4.8.0 API

    +

    validation-parent 4.8.1 API

    Packages
    diff --git a/4.8.x/api/io/micronaut/validation/Validated.html b/4.8.x/api/io/micronaut/validation/Validated.html index e62c574c..c586ca08 100644 --- a/4.8.x/api/io/micronaut/validation/Validated.html +++ b/4.8.x/api/io/micronaut/validation/Validated.html @@ -2,7 +2,7 @@ -Validated (validation-parent 4.8.0 API) +Validated (validation-parent 4.8.1 API) @@ -11,7 +11,7 @@ - + diff --git a/4.8.x/api/io/micronaut/validation/ValidatingInterceptor.html b/4.8.x/api/io/micronaut/validation/ValidatingInterceptor.html index 589a4a25..7cd1281a 100644 --- a/4.8.x/api/io/micronaut/validation/ValidatingInterceptor.html +++ b/4.8.x/api/io/micronaut/validation/ValidatingInterceptor.html @@ -2,7 +2,7 @@ -ValidatingInterceptor (validation-parent 4.8.0 API) +ValidatingInterceptor (validation-parent 4.8.1 API) @@ -11,7 +11,7 @@ - + diff --git a/4.8.x/api/io/micronaut/validation/annotation/ValidatedElement.html b/4.8.x/api/io/micronaut/validation/annotation/ValidatedElement.html index 9db90cfb..2cf86016 100644 --- a/4.8.x/api/io/micronaut/validation/annotation/ValidatedElement.html +++ b/4.8.x/api/io/micronaut/validation/annotation/ValidatedElement.html @@ -2,7 +2,7 @@ -ValidatedElement (validation-parent 4.8.0 API) +ValidatedElement (validation-parent 4.8.1 API) @@ -11,7 +11,7 @@ - + diff --git a/4.8.x/api/io/micronaut/validation/annotation/package-summary.html b/4.8.x/api/io/micronaut/validation/annotation/package-summary.html index 91112a05..fb7c1553 100644 --- a/4.8.x/api/io/micronaut/validation/annotation/package-summary.html +++ b/4.8.x/api/io/micronaut/validation/annotation/package-summary.html @@ -2,7 +2,7 @@ -io.micronaut.validation.annotation (validation-parent 4.8.0 API) +io.micronaut.validation.annotation (validation-parent 4.8.1 API) @@ -11,7 +11,7 @@ - + diff --git a/4.8.x/api/io/micronaut/validation/annotation/package-tree.html b/4.8.x/api/io/micronaut/validation/annotation/package-tree.html index 2e4c6aea..a2aee85b 100644 --- a/4.8.x/api/io/micronaut/validation/annotation/package-tree.html +++ b/4.8.x/api/io/micronaut/validation/annotation/package-tree.html @@ -2,7 +2,7 @@ -io.micronaut.validation.annotation Class Hierarchy (validation-parent 4.8.0 API) +io.micronaut.validation.annotation Class Hierarchy (validation-parent 4.8.1 API) @@ -11,7 +11,7 @@ - + diff --git a/4.8.x/api/io/micronaut/validation/exceptions/ConstraintExceptionHandler.html b/4.8.x/api/io/micronaut/validation/exceptions/ConstraintExceptionHandler.html index 282d32eb..e8406cf6 100644 --- a/4.8.x/api/io/micronaut/validation/exceptions/ConstraintExceptionHandler.html +++ b/4.8.x/api/io/micronaut/validation/exceptions/ConstraintExceptionHandler.html @@ -2,7 +2,7 @@ -ConstraintExceptionHandler (validation-parent 4.8.0 API) +ConstraintExceptionHandler (validation-parent 4.8.1 API) @@ -11,7 +11,7 @@ - + diff --git a/4.8.x/api/io/micronaut/validation/exceptions/package-summary.html b/4.8.x/api/io/micronaut/validation/exceptions/package-summary.html index 50355151..0f15f361 100644 --- a/4.8.x/api/io/micronaut/validation/exceptions/package-summary.html +++ b/4.8.x/api/io/micronaut/validation/exceptions/package-summary.html @@ -2,7 +2,7 @@ -io.micronaut.validation.exceptions (validation-parent 4.8.0 API) +io.micronaut.validation.exceptions (validation-parent 4.8.1 API) @@ -11,7 +11,7 @@ - + diff --git a/4.8.x/api/io/micronaut/validation/exceptions/package-tree.html b/4.8.x/api/io/micronaut/validation/exceptions/package-tree.html index e20a2574..5eb9ba97 100644 --- a/4.8.x/api/io/micronaut/validation/exceptions/package-tree.html +++ b/4.8.x/api/io/micronaut/validation/exceptions/package-tree.html @@ -2,7 +2,7 @@ -io.micronaut.validation.exceptions Class Hierarchy (validation-parent 4.8.0 API) +io.micronaut.validation.exceptions Class Hierarchy (validation-parent 4.8.1 API) @@ -11,7 +11,7 @@ - + diff --git a/4.8.x/api/io/micronaut/validation/package-summary.html b/4.8.x/api/io/micronaut/validation/package-summary.html index bf1aca3d..99f5423d 100644 --- a/4.8.x/api/io/micronaut/validation/package-summary.html +++ b/4.8.x/api/io/micronaut/validation/package-summary.html @@ -2,7 +2,7 @@ -io.micronaut.validation (validation-parent 4.8.0 API) +io.micronaut.validation (validation-parent 4.8.1 API) @@ -11,7 +11,7 @@ - + diff --git a/4.8.x/api/io/micronaut/validation/package-tree.html b/4.8.x/api/io/micronaut/validation/package-tree.html index 9bf6f8aa..85711367 100644 --- a/4.8.x/api/io/micronaut/validation/package-tree.html +++ b/4.8.x/api/io/micronaut/validation/package-tree.html @@ -2,7 +2,7 @@ -io.micronaut.validation Class Hierarchy (validation-parent 4.8.0 API) +io.micronaut.validation Class Hierarchy (validation-parent 4.8.1 API) @@ -11,7 +11,7 @@ - + diff --git a/4.8.x/api/io/micronaut/validation/transformer/ValidationAnnotationRemapper.html b/4.8.x/api/io/micronaut/validation/transformer/ValidationAnnotationRemapper.html index 4402681a..c930f6fa 100644 --- a/4.8.x/api/io/micronaut/validation/transformer/ValidationAnnotationRemapper.html +++ b/4.8.x/api/io/micronaut/validation/transformer/ValidationAnnotationRemapper.html @@ -2,7 +2,7 @@ -ValidationAnnotationRemapper (validation-parent 4.8.0 API) +ValidationAnnotationRemapper (validation-parent 4.8.1 API) @@ -11,7 +11,7 @@ - + diff --git a/4.8.x/api/io/micronaut/validation/transformer/package-summary.html b/4.8.x/api/io/micronaut/validation/transformer/package-summary.html index 61627d74..a3993c65 100644 --- a/4.8.x/api/io/micronaut/validation/transformer/package-summary.html +++ b/4.8.x/api/io/micronaut/validation/transformer/package-summary.html @@ -2,7 +2,7 @@ -io.micronaut.validation.transformer (validation-parent 4.8.0 API) +io.micronaut.validation.transformer (validation-parent 4.8.1 API) @@ -11,7 +11,7 @@ - + diff --git a/4.8.x/api/io/micronaut/validation/transformer/package-tree.html b/4.8.x/api/io/micronaut/validation/transformer/package-tree.html index a1a2614e..d6e444a7 100644 --- a/4.8.x/api/io/micronaut/validation/transformer/package-tree.html +++ b/4.8.x/api/io/micronaut/validation/transformer/package-tree.html @@ -2,7 +2,7 @@ -io.micronaut.validation.transformer Class Hierarchy (validation-parent 4.8.0 API) +io.micronaut.validation.transformer Class Hierarchy (validation-parent 4.8.1 API) @@ -11,7 +11,7 @@ - + diff --git a/4.8.x/api/io/micronaut/validation/validator/BeanValidationContext.html b/4.8.x/api/io/micronaut/validation/validator/BeanValidationContext.html index a7c06ab7..b23c8c06 100644 --- a/4.8.x/api/io/micronaut/validation/validator/BeanValidationContext.html +++ b/4.8.x/api/io/micronaut/validation/validator/BeanValidationContext.html @@ -2,7 +2,7 @@ -BeanValidationContext (validation-parent 4.8.0 API) +BeanValidationContext (validation-parent 4.8.1 API) @@ -11,7 +11,7 @@ - + diff --git a/4.8.x/api/io/micronaut/validation/validator/DefaultAnnotatedElementValidator.html b/4.8.x/api/io/micronaut/validation/validator/DefaultAnnotatedElementValidator.html index ac884503..4c2ade3b 100644 --- a/4.8.x/api/io/micronaut/validation/validator/DefaultAnnotatedElementValidator.html +++ b/4.8.x/api/io/micronaut/validation/validator/DefaultAnnotatedElementValidator.html @@ -2,7 +2,7 @@ -DefaultAnnotatedElementValidator (validation-parent 4.8.0 API) +DefaultAnnotatedElementValidator (validation-parent 4.8.1 API) @@ -11,7 +11,7 @@ - + diff --git a/4.8.x/api/io/micronaut/validation/validator/DefaultClockProvider.html b/4.8.x/api/io/micronaut/validation/validator/DefaultClockProvider.html index 5e7b8c25..2e84c43b 100644 --- a/4.8.x/api/io/micronaut/validation/validator/DefaultClockProvider.html +++ b/4.8.x/api/io/micronaut/validation/validator/DefaultClockProvider.html @@ -2,7 +2,7 @@ -DefaultClockProvider (validation-parent 4.8.0 API) +DefaultClockProvider (validation-parent 4.8.1 API) @@ -11,7 +11,7 @@ - + diff --git a/4.8.x/api/io/micronaut/validation/validator/DefaultValidator.html b/4.8.x/api/io/micronaut/validation/validator/DefaultValidator.html index 44914a9a..f7d9fc14 100644 --- a/4.8.x/api/io/micronaut/validation/validator/DefaultValidator.html +++ b/4.8.x/api/io/micronaut/validation/validator/DefaultValidator.html @@ -2,7 +2,7 @@ -DefaultValidator (validation-parent 4.8.0 API) +DefaultValidator (validation-parent 4.8.1 API) @@ -11,7 +11,7 @@ - + diff --git a/4.8.x/api/io/micronaut/validation/validator/DefaultValidatorConfiguration.html b/4.8.x/api/io/micronaut/validation/validator/DefaultValidatorConfiguration.html index 81f83963..b28cd3b4 100644 --- a/4.8.x/api/io/micronaut/validation/validator/DefaultValidatorConfiguration.html +++ b/4.8.x/api/io/micronaut/validation/validator/DefaultValidatorConfiguration.html @@ -2,7 +2,7 @@ -DefaultValidatorConfiguration (validation-parent 4.8.0 API) +DefaultValidatorConfiguration (validation-parent 4.8.1 API) @@ -11,7 +11,7 @@ - + diff --git a/4.8.x/api/io/micronaut/validation/validator/DefaultValidatorFactory.html b/4.8.x/api/io/micronaut/validation/validator/DefaultValidatorFactory.html index 30063432..7b40de85 100644 --- a/4.8.x/api/io/micronaut/validation/validator/DefaultValidatorFactory.html +++ b/4.8.x/api/io/micronaut/validation/validator/DefaultValidatorFactory.html @@ -2,7 +2,7 @@ -DefaultValidatorFactory (validation-parent 4.8.0 API) +DefaultValidatorFactory (validation-parent 4.8.1 API) @@ -11,7 +11,7 @@ - + diff --git a/4.8.x/api/io/micronaut/validation/validator/ExecutableMethodValidator.html b/4.8.x/api/io/micronaut/validation/validator/ExecutableMethodValidator.html index 9000bdd6..38d0821b 100644 --- a/4.8.x/api/io/micronaut/validation/validator/ExecutableMethodValidator.html +++ b/4.8.x/api/io/micronaut/validation/validator/ExecutableMethodValidator.html @@ -2,7 +2,7 @@ -ExecutableMethodValidator (validation-parent 4.8.0 API) +ExecutableMethodValidator (validation-parent 4.8.1 API) @@ -11,7 +11,7 @@ - + diff --git a/4.8.x/api/io/micronaut/validation/validator/ReactiveValidator.html b/4.8.x/api/io/micronaut/validation/validator/ReactiveValidator.html index 2adc1a04..3e69d85f 100644 --- a/4.8.x/api/io/micronaut/validation/validator/ReactiveValidator.html +++ b/4.8.x/api/io/micronaut/validation/validator/ReactiveValidator.html @@ -2,7 +2,7 @@ -ReactiveValidator (validation-parent 4.8.0 API) +ReactiveValidator (validation-parent 4.8.1 API) @@ -11,7 +11,7 @@ - + diff --git a/4.8.x/api/io/micronaut/validation/validator/ValidationAnnotationUtil.html b/4.8.x/api/io/micronaut/validation/validator/ValidationAnnotationUtil.html index 95100a67..a8bd3271 100644 --- a/4.8.x/api/io/micronaut/validation/validator/ValidationAnnotationUtil.html +++ b/4.8.x/api/io/micronaut/validation/validator/ValidationAnnotationUtil.html @@ -2,7 +2,7 @@ -ValidationAnnotationUtil (validation-parent 4.8.0 API) +ValidationAnnotationUtil (validation-parent 4.8.1 API) @@ -11,7 +11,7 @@ - + diff --git a/4.8.x/api/io/micronaut/validation/validator/Validator.html b/4.8.x/api/io/micronaut/validation/validator/Validator.html index 36e6d639..cd784aa4 100644 --- a/4.8.x/api/io/micronaut/validation/validator/Validator.html +++ b/4.8.x/api/io/micronaut/validation/validator/Validator.html @@ -2,7 +2,7 @@ -Validator (validation-parent 4.8.0 API) +Validator (validation-parent 4.8.1 API) @@ -11,7 +11,7 @@ - + diff --git a/4.8.x/api/io/micronaut/validation/validator/ValidatorConfiguration.html b/4.8.x/api/io/micronaut/validation/validator/ValidatorConfiguration.html index 2ee04092..441084fc 100644 --- a/4.8.x/api/io/micronaut/validation/validator/ValidatorConfiguration.html +++ b/4.8.x/api/io/micronaut/validation/validator/ValidatorConfiguration.html @@ -2,7 +2,7 @@ -ValidatorConfiguration (validation-parent 4.8.0 API) +ValidatorConfiguration (validation-parent 4.8.1 API) @@ -11,7 +11,7 @@ - + diff --git a/4.8.x/api/io/micronaut/validation/validator/constraints/ConstraintValidator.html b/4.8.x/api/io/micronaut/validation/validator/constraints/ConstraintValidator.html index 8644a457..4f1c1a8f 100644 --- a/4.8.x/api/io/micronaut/validation/validator/constraints/ConstraintValidator.html +++ b/4.8.x/api/io/micronaut/validation/validator/constraints/ConstraintValidator.html @@ -2,7 +2,7 @@ -ConstraintValidator (validation-parent 4.8.0 API) +ConstraintValidator (validation-parent 4.8.1 API) @@ -11,7 +11,7 @@ - + diff --git a/4.8.x/api/io/micronaut/validation/validator/constraints/ConstraintValidatorContext.html b/4.8.x/api/io/micronaut/validation/validator/constraints/ConstraintValidatorContext.html index ed846934..98289f6b 100644 --- a/4.8.x/api/io/micronaut/validation/validator/constraints/ConstraintValidatorContext.html +++ b/4.8.x/api/io/micronaut/validation/validator/constraints/ConstraintValidatorContext.html @@ -2,7 +2,7 @@ -ConstraintValidatorContext (validation-parent 4.8.0 API) +ConstraintValidatorContext (validation-parent 4.8.1 API) @@ -11,7 +11,7 @@ - + diff --git a/4.8.x/api/io/micronaut/validation/validator/constraints/ConstraintValidatorRegistry.html b/4.8.x/api/io/micronaut/validation/validator/constraints/ConstraintValidatorRegistry.html index 95a3ff8a..2336e939 100644 --- a/4.8.x/api/io/micronaut/validation/validator/constraints/ConstraintValidatorRegistry.html +++ b/4.8.x/api/io/micronaut/validation/validator/constraints/ConstraintValidatorRegistry.html @@ -2,7 +2,7 @@ -ConstraintValidatorRegistry (validation-parent 4.8.0 API) +ConstraintValidatorRegistry (validation-parent 4.8.1 API) @@ -11,7 +11,7 @@ - + diff --git a/4.8.x/api/io/micronaut/validation/validator/constraints/DecimalMaxValidator.html b/4.8.x/api/io/micronaut/validation/validator/constraints/DecimalMaxValidator.html index 2c622b44..c1beaf43 100644 --- a/4.8.x/api/io/micronaut/validation/validator/constraints/DecimalMaxValidator.html +++ b/4.8.x/api/io/micronaut/validation/validator/constraints/DecimalMaxValidator.html @@ -2,7 +2,7 @@ -DecimalMaxValidator (validation-parent 4.8.0 API) +DecimalMaxValidator (validation-parent 4.8.1 API) @@ -11,7 +11,7 @@ - + diff --git a/4.8.x/api/io/micronaut/validation/validator/constraints/DecimalMinValidator.html b/4.8.x/api/io/micronaut/validation/validator/constraints/DecimalMinValidator.html index c33bcb38..6bf171ae 100644 --- a/4.8.x/api/io/micronaut/validation/validator/constraints/DecimalMinValidator.html +++ b/4.8.x/api/io/micronaut/validation/validator/constraints/DecimalMinValidator.html @@ -2,7 +2,7 @@ -DecimalMinValidator (validation-parent 4.8.0 API) +DecimalMinValidator (validation-parent 4.8.1 API) @@ -11,7 +11,7 @@ - + diff --git a/4.8.x/api/io/micronaut/validation/validator/constraints/DefaultConstraintValidators.ValidatorKey.html b/4.8.x/api/io/micronaut/validation/validator/constraints/DefaultConstraintValidators.ValidatorKey.html index 7ffc28b1..d9716889 100644 --- a/4.8.x/api/io/micronaut/validation/validator/constraints/DefaultConstraintValidators.ValidatorKey.html +++ b/4.8.x/api/io/micronaut/validation/validator/constraints/DefaultConstraintValidators.ValidatorKey.html @@ -2,7 +2,7 @@ -DefaultConstraintValidators.ValidatorKey (validation-parent 4.8.0 API) +DefaultConstraintValidators.ValidatorKey (validation-parent 4.8.1 API) @@ -11,7 +11,7 @@ - + diff --git a/4.8.x/api/io/micronaut/validation/validator/constraints/DefaultConstraintValidators.html b/4.8.x/api/io/micronaut/validation/validator/constraints/DefaultConstraintValidators.html index 5e6ee1eb..279af5e2 100644 --- a/4.8.x/api/io/micronaut/validation/validator/constraints/DefaultConstraintValidators.html +++ b/4.8.x/api/io/micronaut/validation/validator/constraints/DefaultConstraintValidators.html @@ -2,7 +2,7 @@ -DefaultConstraintValidators (validation-parent 4.8.0 API) +DefaultConstraintValidators (validation-parent 4.8.1 API) @@ -11,7 +11,7 @@ - + diff --git a/4.8.x/api/io/micronaut/validation/validator/constraints/DefaultInternalConstraintValidatorFactory.html b/4.8.x/api/io/micronaut/validation/validator/constraints/DefaultInternalConstraintValidatorFactory.html index 6acf5193..dd1aaa31 100644 --- a/4.8.x/api/io/micronaut/validation/validator/constraints/DefaultInternalConstraintValidatorFactory.html +++ b/4.8.x/api/io/micronaut/validation/validator/constraints/DefaultInternalConstraintValidatorFactory.html @@ -2,7 +2,7 @@ -DefaultInternalConstraintValidatorFactory (validation-parent 4.8.0 API) +DefaultInternalConstraintValidatorFactory (validation-parent 4.8.1 API) @@ -11,7 +11,7 @@ - + diff --git a/4.8.x/api/io/micronaut/validation/validator/constraints/DigitsValidator.html b/4.8.x/api/io/micronaut/validation/validator/constraints/DigitsValidator.html index 56212a0a..a800d415 100644 --- a/4.8.x/api/io/micronaut/validation/validator/constraints/DigitsValidator.html +++ b/4.8.x/api/io/micronaut/validation/validator/constraints/DigitsValidator.html @@ -2,7 +2,7 @@ -DigitsValidator (validation-parent 4.8.0 API) +DigitsValidator (validation-parent 4.8.1 API) @@ -11,7 +11,7 @@ - + diff --git a/4.8.x/api/io/micronaut/validation/validator/constraints/DomainNameUtil.html b/4.8.x/api/io/micronaut/validation/validator/constraints/DomainNameUtil.html index 9ee9d63a..7455dc9c 100644 --- a/4.8.x/api/io/micronaut/validation/validator/constraints/DomainNameUtil.html +++ b/4.8.x/api/io/micronaut/validation/validator/constraints/DomainNameUtil.html @@ -2,7 +2,7 @@ -DomainNameUtil (validation-parent 4.8.0 API) +DomainNameUtil (validation-parent 4.8.1 API) @@ -11,7 +11,7 @@ - + diff --git a/4.8.x/api/io/micronaut/validation/validator/constraints/EmailValidator.html b/4.8.x/api/io/micronaut/validation/validator/constraints/EmailValidator.html index 4b04c4d8..fd963126 100644 --- a/4.8.x/api/io/micronaut/validation/validator/constraints/EmailValidator.html +++ b/4.8.x/api/io/micronaut/validation/validator/constraints/EmailValidator.html @@ -2,7 +2,7 @@ -EmailValidator (validation-parent 4.8.0 API) +EmailValidator (validation-parent 4.8.1 API) @@ -11,7 +11,7 @@ - + diff --git a/4.8.x/api/io/micronaut/validation/validator/constraints/InternalConstraintValidatorFactory.html b/4.8.x/api/io/micronaut/validation/validator/constraints/InternalConstraintValidatorFactory.html index 8f1df586..7bce8681 100644 --- a/4.8.x/api/io/micronaut/validation/validator/constraints/InternalConstraintValidatorFactory.html +++ b/4.8.x/api/io/micronaut/validation/validator/constraints/InternalConstraintValidatorFactory.html @@ -2,7 +2,7 @@ -InternalConstraintValidatorFactory (validation-parent 4.8.0 API) +InternalConstraintValidatorFactory (validation-parent 4.8.1 API) @@ -11,7 +11,7 @@ - + diff --git a/4.8.x/api/io/micronaut/validation/validator/constraints/PatternValidator.html b/4.8.x/api/io/micronaut/validation/validator/constraints/PatternValidator.html index 1146cdaf..61b0bb19 100644 --- a/4.8.x/api/io/micronaut/validation/validator/constraints/PatternValidator.html +++ b/4.8.x/api/io/micronaut/validation/validator/constraints/PatternValidator.html @@ -2,7 +2,7 @@ -PatternValidator (validation-parent 4.8.0 API) +PatternValidator (validation-parent 4.8.1 API) @@ -11,7 +11,7 @@ - + diff --git a/4.8.x/api/io/micronaut/validation/validator/constraints/SizeValidator.html b/4.8.x/api/io/micronaut/validation/validator/constraints/SizeValidator.html index 0896992d..e31676c2 100644 --- a/4.8.x/api/io/micronaut/validation/validator/constraints/SizeValidator.html +++ b/4.8.x/api/io/micronaut/validation/validator/constraints/SizeValidator.html @@ -2,7 +2,7 @@ -SizeValidator (validation-parent 4.8.0 API) +SizeValidator (validation-parent 4.8.1 API) @@ -11,7 +11,7 @@ - + diff --git a/4.8.x/api/io/micronaut/validation/validator/constraints/package-summary.html b/4.8.x/api/io/micronaut/validation/validator/constraints/package-summary.html index d0460020..586ec627 100644 --- a/4.8.x/api/io/micronaut/validation/validator/constraints/package-summary.html +++ b/4.8.x/api/io/micronaut/validation/validator/constraints/package-summary.html @@ -2,7 +2,7 @@ -io.micronaut.validation.validator.constraints (validation-parent 4.8.0 API) +io.micronaut.validation.validator.constraints (validation-parent 4.8.1 API) @@ -11,7 +11,7 @@ - + diff --git a/4.8.x/api/io/micronaut/validation/validator/constraints/package-tree.html b/4.8.x/api/io/micronaut/validation/validator/constraints/package-tree.html index a79e934b..fea4a87f 100644 --- a/4.8.x/api/io/micronaut/validation/validator/constraints/package-tree.html +++ b/4.8.x/api/io/micronaut/validation/validator/constraints/package-tree.html @@ -2,7 +2,7 @@ -io.micronaut.validation.validator.constraints Class Hierarchy (validation-parent 4.8.0 API) +io.micronaut.validation.validator.constraints Class Hierarchy (validation-parent 4.8.1 API) @@ -11,7 +11,7 @@ - + diff --git a/4.8.x/api/io/micronaut/validation/validator/extractors/DefaultValueExtractors.html b/4.8.x/api/io/micronaut/validation/validator/extractors/DefaultValueExtractors.html index eabe96f0..c2cb5690 100644 --- a/4.8.x/api/io/micronaut/validation/validator/extractors/DefaultValueExtractors.html +++ b/4.8.x/api/io/micronaut/validation/validator/extractors/DefaultValueExtractors.html @@ -2,7 +2,7 @@ -DefaultValueExtractors (validation-parent 4.8.0 API) +DefaultValueExtractors (validation-parent 4.8.1 API) @@ -11,7 +11,7 @@ - + diff --git a/4.8.x/api/io/micronaut/validation/validator/extractors/ValueExtractorDefinition.html b/4.8.x/api/io/micronaut/validation/validator/extractors/ValueExtractorDefinition.html index da974a70..5918ba90 100644 --- a/4.8.x/api/io/micronaut/validation/validator/extractors/ValueExtractorDefinition.html +++ b/4.8.x/api/io/micronaut/validation/validator/extractors/ValueExtractorDefinition.html @@ -2,7 +2,7 @@ -ValueExtractorDefinition (validation-parent 4.8.0 API) +ValueExtractorDefinition (validation-parent 4.8.1 API) @@ -11,7 +11,7 @@ - + diff --git a/4.8.x/api/io/micronaut/validation/validator/extractors/ValueExtractorRegistry.html b/4.8.x/api/io/micronaut/validation/validator/extractors/ValueExtractorRegistry.html index 82400d64..cc84c628 100644 --- a/4.8.x/api/io/micronaut/validation/validator/extractors/ValueExtractorRegistry.html +++ b/4.8.x/api/io/micronaut/validation/validator/extractors/ValueExtractorRegistry.html @@ -2,7 +2,7 @@ -ValueExtractorRegistry (validation-parent 4.8.0 API) +ValueExtractorRegistry (validation-parent 4.8.1 API) @@ -11,7 +11,7 @@ - + diff --git a/4.8.x/api/io/micronaut/validation/validator/extractors/package-summary.html b/4.8.x/api/io/micronaut/validation/validator/extractors/package-summary.html index e0bcb3d2..b5ca0cc1 100644 --- a/4.8.x/api/io/micronaut/validation/validator/extractors/package-summary.html +++ b/4.8.x/api/io/micronaut/validation/validator/extractors/package-summary.html @@ -2,7 +2,7 @@ -io.micronaut.validation.validator.extractors (validation-parent 4.8.0 API) +io.micronaut.validation.validator.extractors (validation-parent 4.8.1 API) @@ -11,7 +11,7 @@ - + diff --git a/4.8.x/api/io/micronaut/validation/validator/extractors/package-tree.html b/4.8.x/api/io/micronaut/validation/validator/extractors/package-tree.html index cd0a7c3d..9208ded7 100644 --- a/4.8.x/api/io/micronaut/validation/validator/extractors/package-tree.html +++ b/4.8.x/api/io/micronaut/validation/validator/extractors/package-tree.html @@ -2,7 +2,7 @@ -io.micronaut.validation.validator.extractors Class Hierarchy (validation-parent 4.8.0 API) +io.micronaut.validation.validator.extractors Class Hierarchy (validation-parent 4.8.1 API) @@ -11,7 +11,7 @@ - + diff --git a/4.8.x/api/io/micronaut/validation/validator/messages/DefaultMessageInterpolator.html b/4.8.x/api/io/micronaut/validation/validator/messages/DefaultMessageInterpolator.html index 6de5eb13..472d03b8 100644 --- a/4.8.x/api/io/micronaut/validation/validator/messages/DefaultMessageInterpolator.html +++ b/4.8.x/api/io/micronaut/validation/validator/messages/DefaultMessageInterpolator.html @@ -2,7 +2,7 @@ -DefaultMessageInterpolator (validation-parent 4.8.0 API) +DefaultMessageInterpolator (validation-parent 4.8.1 API) @@ -11,7 +11,7 @@ - + @@ -112,7 +112,14 @@

    Constructor Summary

    Constructor
    Description
    DefaultMessageInterpolator(io.micronaut.context.MessageSource messageSource)
    -
     
    +
    +
    Deprecated, for removal: This API element is subject to removal in a future version. + +
    +
    +
    DefaultMessageInterpolator(io.micronaut.context.MessageSource messageSource, + @Nullable InterpolatorLocaleResolver interpolatorLocaleResolver)
    +
     

  • @@ -154,9 +161,32 @@

    Methods inherited from cl

    Constructor Details

    • +
      +

      DefaultMessageInterpolator

      +
      @Inject +public DefaultMessageInterpolator(io.micronaut.context.MessageSource messageSource, + @Nullable + @Nullable InterpolatorLocaleResolver interpolatorLocaleResolver)
      +
      +
      Parameters:
      +
      messageSource - Message Source
      +
      interpolatorLocaleResolver - Interpolator Locale Resolver
      +
      +
      +
    • +
    • DefaultMessageInterpolator

      -
      public DefaultMessageInterpolator(io.micronaut.context.MessageSource messageSource)
      +
      @Deprecated(forRemoval=true, + since="4.9.0") +public DefaultMessageInterpolator(io.micronaut.context.MessageSource messageSource)
      +
      Deprecated, for removal: This API element is subject to removal in a future version. + +
      +
      +
      Parameters:
      +
      messageSource - Message Source
      +
    diff --git a/4.8.x/api/io/micronaut/validation/validator/messages/DefaultMessages.html b/4.8.x/api/io/micronaut/validation/validator/messages/DefaultMessages.html index ae7a1f9c..21ca9141 100644 --- a/4.8.x/api/io/micronaut/validation/validator/messages/DefaultMessages.html +++ b/4.8.x/api/io/micronaut/validation/validator/messages/DefaultMessages.html @@ -2,7 +2,7 @@ -DefaultMessages (validation-parent 4.8.0 API) +DefaultMessages (validation-parent 4.8.1 API) @@ -11,7 +11,7 @@ - + diff --git a/4.8.x/api/io/micronaut/validation/validator/messages/InterpolatorLocaleResolver.html b/4.8.x/api/io/micronaut/validation/validator/messages/InterpolatorLocaleResolver.html new file mode 100644 index 00000000..3d7e1bd6 --- /dev/null +++ b/4.8.x/api/io/micronaut/validation/validator/messages/InterpolatorLocaleResolver.html @@ -0,0 +1,136 @@ + + + + +InterpolatorLocaleResolver (validation-parent 4.8.1 API) + + + + + + + + + + + + + + +
    + +
    +
    + +
    + +

    Interface InterpolatorLocaleResolver

    +
    +
    +
    +
    public interface InterpolatorLocaleResolver
    +
    Resolves the Locale for the DefaultMessageInterpolator.
    +
    +
    Since:
    +
    4.9.
    +
    Author:
    +
    Sergio del Amo
    +
    +
    +
    +
      + +
    • +
      +

      Method Summary

      +
      +
      +
      +
      +
      Modifier and Type
      +
      Method
      +
      Description
      +
      @NonNull Optional<Locale>
      + +
       
      +
      +
      +
      +
      +
    • +
    +
    +
    +
      + +
    • +
      +

      Method Details

      +
        +
      • +
        +

        resolve

        +
        @NonNull +@NonNull Optional<Locale> resolve()
        +
        +
        Returns:
        +
        If the locale could be resolved.
        +
        +
        +
      • +
      +
      +
    • +
    +
    + +
    +
    +
    + + diff --git a/4.8.x/api/io/micronaut/validation/validator/messages/package-summary.html b/4.8.x/api/io/micronaut/validation/validator/messages/package-summary.html index d6f189cb..364c1a18 100644 --- a/4.8.x/api/io/micronaut/validation/validator/messages/package-summary.html +++ b/4.8.x/api/io/micronaut/validation/validator/messages/package-summary.html @@ -2,7 +2,7 @@ -io.micronaut.validation.validator.messages (validation-parent 4.8.0 API) +io.micronaut.validation.validator.messages (validation-parent 4.8.1 API) @@ -11,11 +11,15 @@ - + -
+
+

Interface Hierarchy

+ +
diff --git a/4.8.x/api/io/micronaut/validation/validator/package-summary.html b/4.8.x/api/io/micronaut/validation/validator/package-summary.html index 429056b7..8e956914 100644 --- a/4.8.x/api/io/micronaut/validation/validator/package-summary.html +++ b/4.8.x/api/io/micronaut/validation/validator/package-summary.html @@ -2,7 +2,7 @@ -io.micronaut.validation.validator (validation-parent 4.8.0 API) +io.micronaut.validation.validator (validation-parent 4.8.1 API) @@ -11,7 +11,7 @@ - + diff --git a/4.8.x/api/io/micronaut/validation/validator/package-tree.html b/4.8.x/api/io/micronaut/validation/validator/package-tree.html index 990f64fb..3c09112b 100644 --- a/4.8.x/api/io/micronaut/validation/validator/package-tree.html +++ b/4.8.x/api/io/micronaut/validation/validator/package-tree.html @@ -2,7 +2,7 @@ -io.micronaut.validation.validator Class Hierarchy (validation-parent 4.8.0 API) +io.micronaut.validation.validator Class Hierarchy (validation-parent 4.8.1 API) @@ -11,7 +11,7 @@ - + diff --git a/4.8.x/api/io/micronaut/validation/validator/resolver/CompositeTraversableResolver.html b/4.8.x/api/io/micronaut/validation/validator/resolver/CompositeTraversableResolver.html index d642d07b..119b8b8b 100644 --- a/4.8.x/api/io/micronaut/validation/validator/resolver/CompositeTraversableResolver.html +++ b/4.8.x/api/io/micronaut/validation/validator/resolver/CompositeTraversableResolver.html @@ -2,7 +2,7 @@ -CompositeTraversableResolver (validation-parent 4.8.0 API) +CompositeTraversableResolver (validation-parent 4.8.1 API) @@ -11,7 +11,7 @@ - + diff --git a/4.8.x/api/io/micronaut/validation/validator/resolver/package-summary.html b/4.8.x/api/io/micronaut/validation/validator/resolver/package-summary.html index ee307f5a..8c6ef5e8 100644 --- a/4.8.x/api/io/micronaut/validation/validator/resolver/package-summary.html +++ b/4.8.x/api/io/micronaut/validation/validator/resolver/package-summary.html @@ -2,7 +2,7 @@ -io.micronaut.validation.validator.resolver (validation-parent 4.8.0 API) +io.micronaut.validation.validator.resolver (validation-parent 4.8.1 API) @@ -11,7 +11,7 @@ - + diff --git a/4.8.x/api/io/micronaut/validation/validator/resolver/package-tree.html b/4.8.x/api/io/micronaut/validation/validator/resolver/package-tree.html index ade6cf70..c873bd90 100644 --- a/4.8.x/api/io/micronaut/validation/validator/resolver/package-tree.html +++ b/4.8.x/api/io/micronaut/validation/validator/resolver/package-tree.html @@ -2,7 +2,7 @@ -io.micronaut.validation.validator.resolver Class Hierarchy (validation-parent 4.8.0 API) +io.micronaut.validation.validator.resolver Class Hierarchy (validation-parent 4.8.1 API) @@ -11,7 +11,7 @@ - + diff --git a/4.8.x/api/io/micronaut/validation/visitor/IntrospectedValidationIndexesVisitor.html b/4.8.x/api/io/micronaut/validation/visitor/IntrospectedValidationIndexesVisitor.html index 905a8fa9..5b4cc5ce 100644 --- a/4.8.x/api/io/micronaut/validation/visitor/IntrospectedValidationIndexesVisitor.html +++ b/4.8.x/api/io/micronaut/validation/visitor/IntrospectedValidationIndexesVisitor.html @@ -2,7 +2,7 @@ -IntrospectedValidationIndexesVisitor (validation-parent 4.8.0 API) +IntrospectedValidationIndexesVisitor (validation-parent 4.8.1 API) @@ -11,7 +11,7 @@ - + diff --git a/4.8.x/api/io/micronaut/validation/visitor/ValidationVisitor.html b/4.8.x/api/io/micronaut/validation/visitor/ValidationVisitor.html index 2f38c618..e461f2ea 100644 --- a/4.8.x/api/io/micronaut/validation/visitor/ValidationVisitor.html +++ b/4.8.x/api/io/micronaut/validation/visitor/ValidationVisitor.html @@ -2,7 +2,7 @@ -ValidationVisitor (validation-parent 4.8.0 API) +ValidationVisitor (validation-parent 4.8.1 API) @@ -11,7 +11,7 @@ - + diff --git a/4.8.x/api/io/micronaut/validation/visitor/package-summary.html b/4.8.x/api/io/micronaut/validation/visitor/package-summary.html index fbb912b7..207fa158 100644 --- a/4.8.x/api/io/micronaut/validation/visitor/package-summary.html +++ b/4.8.x/api/io/micronaut/validation/visitor/package-summary.html @@ -2,7 +2,7 @@ -io.micronaut.validation.visitor (validation-parent 4.8.0 API) +io.micronaut.validation.visitor (validation-parent 4.8.1 API) @@ -11,7 +11,7 @@ - + diff --git a/4.8.x/api/io/micronaut/validation/visitor/package-tree.html b/4.8.x/api/io/micronaut/validation/visitor/package-tree.html index 747eb91f..6823123a 100644 --- a/4.8.x/api/io/micronaut/validation/visitor/package-tree.html +++ b/4.8.x/api/io/micronaut/validation/visitor/package-tree.html @@ -2,7 +2,7 @@ -io.micronaut.validation.visitor Class Hierarchy (validation-parent 4.8.0 API) +io.micronaut.validation.visitor Class Hierarchy (validation-parent 4.8.1 API) @@ -11,7 +11,7 @@ - + diff --git a/4.8.x/api/legal/jquery.md b/4.8.x/api/legal/jquery.md index d468b318..a763ec6f 100644 --- a/4.8.x/api/legal/jquery.md +++ b/4.8.x/api/legal/jquery.md @@ -1,8 +1,8 @@ -## jQuery v3.6.1 +## jQuery v3.7.1 ### jQuery License ``` -jQuery v 3.6.1 +jQuery v 3.7.1 Copyright OpenJS Foundation and other contributors, https://openjsf.org/ Permission is hereby granted, free of charge, to any person obtaining @@ -23,50 +23,4 @@ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -****************************************** - -The jQuery JavaScript Library v3.6.1 also includes Sizzle.js - -Sizzle.js includes the following license: - -Copyright JS Foundation and other contributors, https://js.foundation/ - -This software consists of voluntary contributions made by many -individuals. For exact contribution history, see the revision history -available at https://github.com/jquery/sizzle - -The following license applies to all parts of this software except as -documented below: - -==== - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -==== - -All files located in the node_modules and external directories are -externally maintained libraries used by this software which have their -own licenses; we recommend you read them, as their terms may differ from -the terms above. - -********************* - ``` diff --git a/4.8.x/api/member-search-index.js b/4.8.x/api/member-search-index.js index 790114a5..e2f6da85 100644 --- a/4.8.x/api/member-search-index.js +++ b/4.8.x/api/member-search-index.js @@ -1 +1 @@ -memberSearchIndex = [{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"addValueExtractor(ValueExtractor)","u":"addValueExtractor(jakarta.validation.valueextraction.ValueExtractor)"},{"p":"io.micronaut.validation.validator.extractors","c":"DefaultValueExtractors","l":"addValueExtractor(ValueExtractorDefinition)","u":"addValueExtractor(io.micronaut.validation.validator.extractors.ValueExtractorDefinition)"},{"p":"io.micronaut.validation.validator.extractors","c":"ValueExtractorRegistry","l":"addValueExtractor(ValueExtractorDefinition)","u":"addValueExtractor(io.micronaut.validation.validator.extractors.ValueExtractorDefinition)"},{"p":"io.micronaut.validation.validator","c":"Validator","l":"ANN_CONSTRAINT"},{"p":"io.micronaut.validation.validator","c":"Validator","l":"ANN_VALID"},{"p":"io.micronaut.validation.exceptions","c":"ConstraintExceptionHandler","l":"buildMessage(ConstraintViolation)","u":"buildMessage(jakarta.validation.ConstraintViolation)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"clockProvider(ClockProvider)","u":"clockProvider(jakarta.validation.ClockProvider)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorFactory","l":"close()"},{"p":"io.micronaut.validation.validator.resolver","c":"CompositeTraversableResolver","l":"CompositeTraversableResolver(List)","u":"%3Cinit%3E(java.util.List)"},{"p":"io.micronaut.validation.validator","c":"ValidationAnnotationUtil","l":"CONSTRAINT_VALIDATED_BY"},{"p":"io.micronaut.validation.exceptions","c":"ConstraintExceptionHandler","l":"ConstraintExceptionHandler(ErrorResponseProcessor)","u":"%3Cinit%3E(io.micronaut.http.server.exceptions.response.ErrorResponseProcessor)"},{"p":"io.micronaut.validation.validator.constraints","c":"DefaultConstraintValidators.ValidatorKey","l":"constraintType()"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"constraintValidatorFactory(ConstraintValidatorFactory)","u":"constraintValidatorFactory(jakarta.validation.ConstraintValidatorFactory)"},{"p":"io.micronaut.validation.validator.extractors","c":"ValueExtractorDefinition","l":"containerType()"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"createValid(Class, Object...)","u":"createValid(java.lang.Class,java.lang.Object...)"},{"p":"io.micronaut.validation.validator","c":"ExecutableMethodValidator","l":"createValid(Class, Object...)","u":"createValid(java.lang.Class,java.lang.Object...)"},{"p":"io.micronaut.validation.validator","c":"BeanValidationContext","l":"DEFAULT"},{"p":"io.micronaut.validation.validator","c":"DefaultAnnotatedElementValidator","l":"DefaultAnnotatedElementValidator()","u":"%3Cinit%3E()"},{"p":"io.micronaut.validation.validator","c":"DefaultClockProvider","l":"DefaultClockProvider()","u":"%3Cinit%3E()"},{"p":"io.micronaut.validation.validator.constraints","c":"DefaultConstraintValidators","l":"DefaultConstraintValidators()","u":"%3Cinit%3E()"},{"p":"io.micronaut.validation.validator.constraints","c":"DefaultConstraintValidators","l":"DefaultConstraintValidators(BeanContext)","u":"%3Cinit%3E(io.micronaut.context.BeanContext)"},{"p":"io.micronaut.validation.validator.constraints","c":"DefaultInternalConstraintValidatorFactory","l":"DefaultInternalConstraintValidatorFactory(BeanContext)","u":"%3Cinit%3E(io.micronaut.context.BeanContext)"},{"p":"io.micronaut.validation.validator.constraints","c":"DefaultInternalConstraintValidatorFactory","l":"DefaultInternalConstraintValidatorFactory(BeanIntrospector, BeanContext)","u":"%3Cinit%3E(io.micronaut.core.beans.BeanIntrospector,io.micronaut.context.BeanContext)"},{"p":"io.micronaut.validation.validator.messages","c":"DefaultMessageInterpolator","l":"DefaultMessageInterpolator(MessageSource)","u":"%3Cinit%3E(io.micronaut.context.MessageSource)"},{"p":"io.micronaut.validation.validator.messages","c":"DefaultMessages","l":"DefaultMessages()","u":"%3Cinit%3E()"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"DefaultValidator(ValidatorConfiguration)","u":"%3Cinit%3E(io.micronaut.validation.validator.ValidatorConfiguration)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"DefaultValidatorConfiguration()","u":"%3Cinit%3E()"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorFactory","l":"DefaultValidatorFactory()","u":"%3Cinit%3E()"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorFactory","l":"DefaultValidatorFactory(Validator, ValidatorConfiguration)","u":"%3Cinit%3E(io.micronaut.validation.validator.Validator,io.micronaut.validation.validator.ValidatorConfiguration)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorFactory","l":"DefaultValidatorFactory(ValidatorConfiguration)","u":"%3Cinit%3E(io.micronaut.validation.validator.ValidatorConfiguration)"},{"p":"io.micronaut.validation.validator.extractors","c":"DefaultValueExtractors","l":"DefaultValueExtractors()","u":"%3Cinit%3E()"},{"p":"io.micronaut.validation.validator.extractors","c":"DefaultValueExtractors","l":"DefaultValueExtractors(BeanContext)","u":"%3Cinit%3E(io.micronaut.context.BeanContext)"},{"p":"io.micronaut.validation.validator.constraints","c":"DecimalMaxValidator","l":"doComparison(T, BigDecimal)","u":"doComparison(T,java.math.BigDecimal)"},{"p":"io.micronaut.validation.validator.constraints","c":"DecimalMinValidator","l":"doComparison(T, BigDecimal)","u":"doComparison(T,java.math.BigDecimal)"},{"p":"io.micronaut.validation.validator.constraints","c":"EmailValidator","l":"EmailValidator()","u":"%3Cinit%3E()"},{"p":"io.micronaut.validation.validator","c":"ValidatorConfiguration","l":"ENABLED"},{"p":"io.micronaut.validation.validator.constraints","c":"DefaultConstraintValidators.ValidatorKey","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.micronaut.validation.validator.extractors","c":"ValueExtractorDefinition","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.micronaut.validation.validator.constraints","c":"ConstraintValidatorRegistry","l":"findConstraintValidator(Class, Class)","u":"findConstraintValidator(java.lang.Class,java.lang.Class)"},{"p":"io.micronaut.validation.validator.constraints","c":"DefaultConstraintValidators","l":"findConstraintValidator(Class, Class)","u":"findConstraintValidator(java.lang.Class,java.lang.Class)"},{"p":"io.micronaut.validation.validator.constraints","c":"DefaultConstraintValidators","l":"findLocalConstraintValidator(Class, Class)","u":"findLocalConstraintValidator(java.lang.Class,java.lang.Class)"},{"p":"io.micronaut.validation.validator.extractors","c":"DefaultValueExtractors","l":"findValueExtractors(Class)","u":"findValueExtractors(java.lang.Class)"},{"p":"io.micronaut.validation.validator.extractors","c":"ValueExtractorRegistry","l":"findValueExtractors(Class)","u":"findValueExtractors(java.lang.Class)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"forExecutables()"},{"p":"io.micronaut.validation.validator","c":"Validator","l":"forExecutables()"},{"p":"io.micronaut.validation.validator","c":"BeanValidationContext","l":"fromGroups(Class...)","u":"fromGroups(java.lang.Class...)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"getBeanIntrospection(Class)","u":"getBeanIntrospection(java.lang.Class)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"getBeanIntrospection(T)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"getBeanIntrospection(T, Class)","u":"getBeanIntrospection(T,java.lang.Class)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"getBeanIntrospector()"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"getBeanIntrospector()"},{"p":"io.micronaut.validation.validator","c":"ValidatorConfiguration","l":"getBeanIntrospector()"},{"p":"io.micronaut.validation.validator.constraints","c":"DigitsValidator","l":"getBigDecimal(T)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"getClassFromType(Type)","u":"getClassFromType(java.lang.reflect.Type)"},{"p":"io.micronaut.validation.validator","c":"DefaultClockProvider","l":"getClock()"},{"p":"io.micronaut.validation.validator.constraints","c":"ConstraintValidatorContext","l":"getClockProvider()"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"getClockProvider()"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorFactory","l":"getClockProvider()"},{"p":"io.micronaut.validation.validator","c":"ValidatorConfiguration","l":"getClockProvider()"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"getConstraintsForClass(Class)","u":"getConstraintsForClass(java.lang.Class)"},{"p":"io.micronaut.validation.validator.constraints","c":"ConstraintValidatorRegistry","l":"getConstraintValidator(Class, Class)","u":"getConstraintValidator(java.lang.Class,java.lang.Class)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"getConstraintValidatorFactory()"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorFactory","l":"getConstraintValidatorFactory()"},{"p":"io.micronaut.validation.validator","c":"ValidatorConfiguration","l":"getConstraintValidatorFactory()"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"getConstraintValidatorRegistry()"},{"p":"io.micronaut.validation.validator","c":"ValidatorConfiguration","l":"getConstraintValidatorRegistry()"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"getConversionService()"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"getDefaultClockProvider()"},{"p":"io.micronaut.validation.validator","c":"ValidatorConfiguration","l":"getDefaultClockProvider()"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"getDefaultMessageInterpolator()"},{"p":"io.micronaut.validation.validator","c":"ValidatorConfiguration","l":"getDefaultMessageInterpolator()"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"getDefaultTraversableResolver()"},{"p":"io.micronaut.validation.validator","c":"ValidatorConfiguration","l":"getDefaultTraversableResolver()"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"getExecutionHandleLocator()"},{"p":"io.micronaut.validation.validator","c":"ValidatorConfiguration","l":"getExecutionHandleLocator()"},{"p":"io.micronaut.validation.validator","c":"Validator","l":"getInstance()"},{"p":"io.micronaut.validation.validator.constraints","c":"DefaultInternalConstraintValidatorFactory","l":"getInstance(Class)","u":"getInstance(java.lang.Class)"},{"p":"io.micronaut.validation.validator.constraints","c":"InternalConstraintValidatorFactory","l":"getInstance(Class, Class, ConstraintTarget)","u":"getInstance(java.lang.Class,java.lang.Class,jakarta.validation.ConstraintTarget)"},{"p":"io.micronaut.validation.validator.constraints","c":"DefaultInternalConstraintValidatorFactory","l":"getInstance(Class, Class, ConstraintTarget)","u":"getInstance(java.lang.Class,java.lang.Class,jakarta.validation.ConstraintTarget)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"getMessageInterpolator()"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorFactory","l":"getMessageInterpolator()"},{"p":"io.micronaut.validation.validator","c":"ValidatorConfiguration","l":"getMessageInterpolator()"},{"p":"io.micronaut.validation","c":"ValidatingInterceptor","l":"getOrder()"},{"p":"io.micronaut.validation.visitor","c":"IntrospectedValidationIndexesVisitor","l":"getOrder()"},{"p":"io.micronaut.validation.visitor","c":"ValidationVisitor","l":"getOrder()"},{"p":"io.micronaut.validation.transformer","c":"ValidationAnnotationRemapper","l":"getPackageName()"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorFactory","l":"getParameterNameProvider()"},{"p":"io.micronaut.validation.validator.constraints","c":"ConstraintValidatorContext","l":"getRootBean()"},{"p":"io.micronaut.validation.validator.constraints","c":"SizeValidator","l":"getSize(T)"},{"p":"io.micronaut.validation.visitor","c":"IntrospectedValidationIndexesVisitor","l":"getSupportedAnnotationNames()"},{"p":"io.micronaut.validation.visitor","c":"ValidationVisitor","l":"getSupportedAnnotationNames()"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"getTraversableResolver()"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorFactory","l":"getTraversableResolver()"},{"p":"io.micronaut.validation.validator","c":"ValidatorConfiguration","l":"getTraversableResolver()"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"getValidator()"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorFactory","l":"getValidator()"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"getValueExtractorRegistry()"},{"p":"io.micronaut.validation.validator","c":"ValidatorConfiguration","l":"getValueExtractorRegistry()"},{"p":"io.micronaut.validation.visitor","c":"IntrospectedValidationIndexesVisitor","l":"getVisitorKind()"},{"p":"io.micronaut.validation.visitor","c":"ValidationVisitor","l":"getVisitorKind()"},{"p":"io.micronaut.validation","c":"Validated","l":"groups()"},{"p":"io.micronaut.validation.validator","c":"BeanValidationContext","l":"groups()"},{"p":"io.micronaut.validation.exceptions","c":"ConstraintExceptionHandler","l":"handle(HttpRequest, ConstraintViolationException)","u":"handle(io.micronaut.http.HttpRequest,jakarta.validation.ConstraintViolationException)"},{"p":"io.micronaut.validation.validator.constraints","c":"DefaultConstraintValidators.ValidatorKey","l":"hashCode()"},{"p":"io.micronaut.validation.validator.extractors","c":"ValueExtractorDefinition","l":"hashCode()"},{"p":"io.micronaut.validation","c":"ValidatingInterceptor","l":"intercept(MethodInvocationContext)","u":"intercept(io.micronaut.aop.MethodInvocationContext)"},{"p":"io.micronaut.validation.validator.messages","c":"DefaultMessageInterpolator","l":"interpolate(String, MessageInterpolator.Context)","u":"interpolate(java.lang.String,jakarta.validation.MessageInterpolator.Context)"},{"p":"io.micronaut.validation.validator.messages","c":"DefaultMessageInterpolator","l":"interpolate(String, MessageInterpolator.Context, Locale)","u":"interpolate(java.lang.String,jakarta.validation.MessageInterpolator.Context,java.util.Locale)"},{"p":"io.micronaut.validation.visitor","c":"IntrospectedValidationIndexesVisitor","l":"IntrospectedValidationIndexesVisitor()","u":"%3Cinit%3E()"},{"p":"io.micronaut.validation.validator.resolver","c":"CompositeTraversableResolver","l":"isCascadable(Object, Path.Node, Class, Path, ElementType)","u":"isCascadable(java.lang.Object,jakarta.validation.Path.Node,java.lang.Class,jakarta.validation.Path,java.lang.annotation.ElementType)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"isEnabled()"},{"p":"io.micronaut.validation.validator","c":"BeanValidationContext","l":"isPropertyValidated(T, BeanProperty)","u":"isPropertyValidated(T,io.micronaut.core.beans.BeanProperty)"},{"p":"io.micronaut.validation.validator.resolver","c":"CompositeTraversableResolver","l":"isReachable(Object, Path.Node, Class, Path, ElementType)","u":"isReachable(java.lang.Object,jakarta.validation.Path.Node,java.lang.Class,jakarta.validation.Path,java.lang.annotation.ElementType)"},{"p":"io.micronaut.validation.validator.constraints","c":"EmailValidator","l":"isValid(CharSequence, AnnotationValue, ConstraintValidatorContext)","u":"isValid(java.lang.CharSequence,io.micronaut.core.annotation.AnnotationValue,io.micronaut.validation.validator.constraints.ConstraintValidatorContext)"},{"p":"io.micronaut.validation.validator.constraints","c":"PatternValidator","l":"isValid(CharSequence, AnnotationValue, ConstraintValidatorContext)","u":"isValid(java.lang.CharSequence,io.micronaut.core.annotation.AnnotationValue,io.micronaut.validation.validator.constraints.ConstraintValidatorContext)"},{"p":"io.micronaut.validation.validator.constraints","c":"ConstraintValidator","l":"isValid(T, AnnotationValue, ConstraintValidatorContext)","u":"isValid(T,io.micronaut.core.annotation.AnnotationValue,io.micronaut.validation.validator.constraints.ConstraintValidatorContext)"},{"p":"io.micronaut.validation.validator.constraints","c":"DecimalMaxValidator","l":"isValid(T, AnnotationValue, ConstraintValidatorContext)","u":"isValid(T,io.micronaut.core.annotation.AnnotationValue,io.micronaut.validation.validator.constraints.ConstraintValidatorContext)"},{"p":"io.micronaut.validation.validator.constraints","c":"DecimalMinValidator","l":"isValid(T, AnnotationValue, ConstraintValidatorContext)","u":"isValid(T,io.micronaut.core.annotation.AnnotationValue,io.micronaut.validation.validator.constraints.ConstraintValidatorContext)"},{"p":"io.micronaut.validation.validator.constraints","c":"DigitsValidator","l":"isValid(T, AnnotationValue, ConstraintValidatorContext)","u":"isValid(T,io.micronaut.core.annotation.AnnotationValue,io.micronaut.validation.validator.constraints.ConstraintValidatorContext)"},{"p":"io.micronaut.validation.validator.constraints","c":"SizeValidator","l":"isValid(T, AnnotationValue, ConstraintValidatorContext)","u":"isValid(T,io.micronaut.core.annotation.AnnotationValue,io.micronaut.validation.validator.constraints.ConstraintValidatorContext)"},{"p":"io.micronaut.validation.validator.constraints","c":"ConstraintValidator","l":"isValid(T, ConstraintValidatorContext)","u":"isValid(T,jakarta.validation.ConstraintValidatorContext)"},{"p":"io.micronaut.validation.validator.constraints","c":"DomainNameUtil","l":"isValidDomainAddress(String)","u":"isValidDomainAddress(java.lang.String)"},{"p":"io.micronaut.validation.validator.constraints","c":"DomainNameUtil","l":"isValidEmailDomainAddress(String)","u":"isValidEmailDomainAddress(java.lang.String)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"messageInterpolator(MessageInterpolator)","u":"messageInterpolator(jakarta.validation.MessageInterpolator)"},{"p":"io.micronaut.validation.validator.constraints","c":"ConstraintValidatorContext","l":"messageTemplate(String)","u":"messageTemplate(java.lang.String)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"parameterNameProvider(ParameterNameProvider)","u":"parameterNameProvider(jakarta.validation.ParameterNameProvider)"},{"p":"io.micronaut.validation.validator.constraints","c":"PatternValidator","l":"PatternValidator()","u":"%3Cinit%3E()"},{"p":"io.micronaut.validation","c":"ValidatingInterceptor","l":"POSITION"},{"p":"io.micronaut.validation.validator","c":"ValidatorConfiguration","l":"PREFIX"},{"p":"io.micronaut.validation.validator.constraints","c":"DefaultInternalConstraintValidatorFactory","l":"releaseInstance(ConstraintValidator)","u":"releaseInstance(jakarta.validation.ConstraintValidator)"},{"p":"io.micronaut.validation.transformer","c":"ValidationAnnotationRemapper","l":"remap(AnnotationValue, VisitorContext)","u":"remap(io.micronaut.core.annotation.AnnotationValue,io.micronaut.inject.visitor.VisitorContext)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"requireNonEmpty(String, String)","u":"requireNonEmpty(java.lang.String,java.lang.String)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"requireNonNull(String, T)","u":"requireNonNull(java.lang.String,T)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"setBeanIntrospector(BeanIntrospector)","u":"setBeanIntrospector(io.micronaut.core.beans.BeanIntrospector)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"setClockProvider(ClockProvider)","u":"setClockProvider(jakarta.validation.ClockProvider)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"setConstraintValidatorRegistry(ConstraintValidatorRegistry)","u":"setConstraintValidatorRegistry(io.micronaut.validation.validator.constraints.ConstraintValidatorRegistry)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"setConversionService(ConversionService)","u":"setConversionService(io.micronaut.core.convert.ConversionService)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"setEnabled(boolean)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"setExecutionHandleLocator(BeanContext)","u":"setExecutionHandleLocator(io.micronaut.context.BeanContext)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"setMessageInterpolator(MessageInterpolator)","u":"setMessageInterpolator(jakarta.validation.MessageInterpolator)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"setTraversableResolver(TraversableResolver)","u":"setTraversableResolver(jakarta.validation.TraversableResolver)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"setValueExtractorRegistry(ValueExtractorRegistry)","u":"setValueExtractorRegistry(io.micronaut.validation.validator.extractors.ValueExtractorRegistry)"},{"p":"io.micronaut.validation.validator.constraints","c":"DefaultConstraintValidators.ValidatorKey","l":"targetType()"},{"p":"io.micronaut.validation.validator.constraints","c":"DefaultConstraintValidators.ValidatorKey","l":"toString()"},{"p":"io.micronaut.validation.validator.extractors","c":"ValueExtractorDefinition","l":"toString()"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"traversableResolver(TraversableResolver)","u":"traversableResolver(jakarta.validation.TraversableResolver)"},{"p":"io.micronaut.validation.validator.extractors","c":"ValueExtractorDefinition","l":"typeArgumentIndex()"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"unwrap(Class)","u":"unwrap(java.lang.Class)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorFactory","l":"unwrap(Class)","u":"unwrap(java.lang.Class)"},{"p":"io.micronaut.validation.validator.extractors","c":"ValueExtractorDefinition","l":"unwrapByDefault()"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorFactory","l":"usingContext()"},{"p":"io.micronaut.validation.validator.constraints","c":"ConstraintValidator","l":"VALID"},{"p":"io.micronaut.validation.validator","c":"Validator","l":"validate(BeanIntrospection, T, BeanValidationContext)","u":"validate(io.micronaut.core.beans.BeanIntrospection,T,io.micronaut.validation.validator.BeanValidationContext)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"validate(BeanIntrospection, T, BeanValidationContext)","u":"validate(io.micronaut.core.beans.BeanIntrospection,T,io.micronaut.validation.validator.BeanValidationContext)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"validate(BeanIntrospection, T, Class...)","u":"validate(io.micronaut.core.beans.BeanIntrospection,T,java.lang.Class...)"},{"p":"io.micronaut.validation.validator","c":"Validator","l":"validate(BeanIntrospection, T, Class...)","u":"validate(io.micronaut.core.beans.BeanIntrospection,T,java.lang.Class...)"},{"p":"io.micronaut.validation.validator","c":"Validator","l":"validate(T, BeanValidationContext)","u":"validate(T,io.micronaut.validation.validator.BeanValidationContext)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"validate(T, BeanValidationContext)","u":"validate(T,io.micronaut.validation.validator.BeanValidationContext)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"validate(T, Class...)","u":"validate(T,java.lang.Class...)"},{"p":"io.micronaut.validation.validator","c":"Validator","l":"validate(T, Class...)","u":"validate(T,java.lang.Class...)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"validateBean(BeanResolutionContext, BeanDefinition, T)","u":"validateBean(io.micronaut.context.BeanResolutionContext,io.micronaut.inject.BeanDefinition,T)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"validateBeanArgument(BeanResolutionContext, InjectionPoint, Argument, int, T)","u":"validateBeanArgument(io.micronaut.context.BeanResolutionContext,io.micronaut.inject.InjectionPoint,io.micronaut.core.type.Argument,int,T)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"validateCompletionStage(CompletionStage, Argument, Class...)","u":"validateCompletionStage(java.util.concurrent.CompletionStage,io.micronaut.core.type.Argument,java.lang.Class...)"},{"p":"io.micronaut.validation.validator","c":"ReactiveValidator","l":"validateCompletionStage(CompletionStage, Argument, Class...)","u":"validateCompletionStage(java.util.concurrent.CompletionStage,io.micronaut.core.type.Argument,java.lang.Class...)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"validateConstructorParameters(BeanIntrospection, Object[], Class...)","u":"validateConstructorParameters(io.micronaut.core.beans.BeanIntrospection,java.lang.Object[],java.lang.Class...)"},{"p":"io.micronaut.validation.validator","c":"ExecutableMethodValidator","l":"validateConstructorParameters(BeanIntrospection, Object[], Class...)","u":"validateConstructorParameters(io.micronaut.core.beans.BeanIntrospection,java.lang.Object[],java.lang.Class...)"},{"p":"io.micronaut.validation.validator","c":"ExecutableMethodValidator","l":"validateConstructorParameters(Class, Argument[], Object[], BeanValidationContext)","u":"validateConstructorParameters(java.lang.Class,io.micronaut.core.type.Argument[],java.lang.Object[],io.micronaut.validation.validator.BeanValidationContext)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"validateConstructorParameters(Class, Argument[], Object[], BeanValidationContext)","u":"validateConstructorParameters(java.lang.Class,io.micronaut.core.type.Argument[],java.lang.Object[],io.micronaut.validation.validator.BeanValidationContext)"},{"p":"io.micronaut.validation.validator","c":"ExecutableMethodValidator","l":"validateConstructorParameters(Class, Argument[], Object[], Class[])","u":"validateConstructorParameters(java.lang.Class,io.micronaut.core.type.Argument[],java.lang.Object[],java.lang.Class[])"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"validateConstructorParameters(Class, Argument[], Object[], Class[])","u":"validateConstructorParameters(java.lang.Class,io.micronaut.core.type.Argument[],java.lang.Object[],java.lang.Class[])"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"validateConstructorParameters(Constructor, Object[], Class...)","u":"validateConstructorParameters(java.lang.reflect.Constructor,java.lang.Object[],java.lang.Class...)"},{"p":"io.micronaut.validation.validator","c":"ExecutableMethodValidator","l":"validateConstructorParameters(Constructor, Object[], Class...)","u":"validateConstructorParameters(java.lang.reflect.Constructor,java.lang.Object[],java.lang.Class...)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"validateConstructorReturnValue(Constructor, T, Class...)","u":"validateConstructorReturnValue(java.lang.reflect.Constructor,T,java.lang.Class...)"},{"p":"io.micronaut.validation.validator","c":"ExecutableMethodValidator","l":"validateConstructorReturnValue(Constructor, T, Class...)","u":"validateConstructorReturnValue(java.lang.reflect.Constructor,T,java.lang.Class...)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"validatedAnnotatedElement(AnnotatedElement, Object)","u":"validatedAnnotatedElement(io.micronaut.core.annotation.AnnotatedElement,java.lang.Object)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"validateParameters(T, ExecutableMethod, Collection>, Class...)","u":"validateParameters(T,io.micronaut.inject.ExecutableMethod,java.util.Collection,java.lang.Class...)"},{"p":"io.micronaut.validation.validator","c":"ExecutableMethodValidator","l":"validateParameters(T, ExecutableMethod, Collection>, Class...)","u":"validateParameters(T,io.micronaut.inject.ExecutableMethod,java.util.Collection,java.lang.Class...)"},{"p":"io.micronaut.validation.validator","c":"ExecutableMethodValidator","l":"validateParameters(T, ExecutableMethod, Object[], BeanValidationContext)","u":"validateParameters(T,io.micronaut.inject.ExecutableMethod,java.lang.Object[],io.micronaut.validation.validator.BeanValidationContext)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"validateParameters(T, ExecutableMethod, Object[], BeanValidationContext)","u":"validateParameters(T,io.micronaut.inject.ExecutableMethod,java.lang.Object[],io.micronaut.validation.validator.BeanValidationContext)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"validateParameters(T, ExecutableMethod, Object[], Class...)","u":"validateParameters(T,io.micronaut.inject.ExecutableMethod,java.lang.Object[],java.lang.Class...)"},{"p":"io.micronaut.validation.validator","c":"ExecutableMethodValidator","l":"validateParameters(T, ExecutableMethod, Object[], Class...)","u":"validateParameters(T,io.micronaut.inject.ExecutableMethod,java.lang.Object[],java.lang.Class...)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"validateParameters(T, Method, Object[], Class...)","u":"validateParameters(T,java.lang.reflect.Method,java.lang.Object[],java.lang.Class...)"},{"p":"io.micronaut.validation.validator","c":"ExecutableMethodValidator","l":"validateParameters(T, Method, Object[], Class...)","u":"validateParameters(T,java.lang.reflect.Method,java.lang.Object[],java.lang.Class...)"},{"p":"io.micronaut.validation.validator","c":"Validator","l":"validateProperty(T, String, BeanValidationContext)","u":"validateProperty(T,java.lang.String,io.micronaut.validation.validator.BeanValidationContext)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"validateProperty(T, String, BeanValidationContext)","u":"validateProperty(T,java.lang.String,io.micronaut.validation.validator.BeanValidationContext)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"validateProperty(T, String, Class...)","u":"validateProperty(T,java.lang.String,java.lang.Class...)"},{"p":"io.micronaut.validation.validator","c":"Validator","l":"validateProperty(T, String, Class...)","u":"validateProperty(T,java.lang.String,java.lang.Class...)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"validatePublisher(ReturnType, Publisher, Class...)","u":"validatePublisher(io.micronaut.core.type.ReturnType,org.reactivestreams.Publisher,java.lang.Class...)"},{"p":"io.micronaut.validation.validator","c":"ReactiveValidator","l":"validatePublisher(ReturnType, Publisher, Class...)","u":"validatePublisher(io.micronaut.core.type.ReturnType,org.reactivestreams.Publisher,java.lang.Class...)"},{"p":"io.micronaut.validation.validator","c":"ExecutableMethodValidator","l":"validateReturnValue(T, ExecutableMethod, Object, BeanValidationContext)","u":"validateReturnValue(T,io.micronaut.inject.ExecutableMethod,java.lang.Object,io.micronaut.validation.validator.BeanValidationContext)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"validateReturnValue(T, ExecutableMethod, Object, BeanValidationContext)","u":"validateReturnValue(T,io.micronaut.inject.ExecutableMethod,java.lang.Object,io.micronaut.validation.validator.BeanValidationContext)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"validateReturnValue(T, ExecutableMethod, Object, Class...)","u":"validateReturnValue(T,io.micronaut.inject.ExecutableMethod,java.lang.Object,java.lang.Class...)"},{"p":"io.micronaut.validation.validator","c":"ExecutableMethodValidator","l":"validateReturnValue(T, ExecutableMethod, Object, Class...)","u":"validateReturnValue(T,io.micronaut.inject.ExecutableMethod,java.lang.Object,java.lang.Class...)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"validateReturnValue(T, Method, Object, Class...)","u":"validateReturnValue(T,java.lang.reflect.Method,java.lang.Object,java.lang.Class...)"},{"p":"io.micronaut.validation.validator","c":"ExecutableMethodValidator","l":"validateReturnValue(T, Method, Object, Class...)","u":"validateReturnValue(T,java.lang.reflect.Method,java.lang.Object,java.lang.Class...)"},{"p":"io.micronaut.validation.validator","c":"Validator","l":"validateValue(Class, String, Object, BeanValidationContext)","u":"validateValue(java.lang.Class,java.lang.String,java.lang.Object,io.micronaut.validation.validator.BeanValidationContext)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"validateValue(Class, String, Object, BeanValidationContext)","u":"validateValue(java.lang.Class,java.lang.String,java.lang.Object,io.micronaut.validation.validator.BeanValidationContext)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"validateValue(Class, String, Object, Class...)","u":"validateValue(java.lang.Class,java.lang.String,java.lang.Object,java.lang.Class...)"},{"p":"io.micronaut.validation.validator","c":"Validator","l":"validateValue(Class, String, Object, Class...)","u":"validateValue(java.lang.Class,java.lang.String,java.lang.Object,java.lang.Class...)"},{"p":"io.micronaut.validation","c":"ValidatingInterceptor","l":"ValidatingInterceptor(Validator, ValidatorFactory, ConversionService)","u":"%3Cinit%3E(io.micronaut.validation.validator.Validator,jakarta.validation.ValidatorFactory,io.micronaut.core.convert.ConversionService)"},{"p":"io.micronaut.validation.transformer","c":"ValidationAnnotationRemapper","l":"ValidationAnnotationRemapper()","u":"%3Cinit%3E()"},{"p":"io.micronaut.validation.visitor","c":"ValidationVisitor","l":"ValidationVisitor()","u":"%3Cinit%3E()"},{"p":"io.micronaut.validation.validator.constraints","c":"DefaultConstraintValidators.ValidatorKey","l":"ValidatorKey(Class, Class)","u":"%3Cinit%3E(java.lang.Class,java.lang.Class)"},{"p":"io.micronaut.validation.validator.extractors","c":"ValueExtractorDefinition","l":"valueExtractor()"},{"p":"io.micronaut.validation.validator.extractors","c":"ValueExtractorDefinition","l":"ValueExtractorDefinition(Argument>, ValueExtractor)","u":"%3Cinit%3E(io.micronaut.core.type.Argument,jakarta.validation.valueextraction.ValueExtractor)"},{"p":"io.micronaut.validation.validator.extractors","c":"ValueExtractorDefinition","l":"ValueExtractorDefinition(Class, Class, Integer, boolean, ValueExtractor)","u":"%3Cinit%3E(java.lang.Class,java.lang.Class,java.lang.Integer,boolean,jakarta.validation.valueextraction.ValueExtractor)"},{"p":"io.micronaut.validation.validator.extractors","c":"ValueExtractorDefinition","l":"valueType()"},{"p":"io.micronaut.validation.visitor","c":"IntrospectedValidationIndexesVisitor","l":"visitClass(ClassElement, VisitorContext)","u":"visitClass(io.micronaut.inject.ast.ClassElement,io.micronaut.inject.visitor.VisitorContext)"},{"p":"io.micronaut.validation.visitor","c":"ValidationVisitor","l":"visitClass(ClassElement, VisitorContext)","u":"visitClass(io.micronaut.inject.ast.ClassElement,io.micronaut.inject.visitor.VisitorContext)"},{"p":"io.micronaut.validation.visitor","c":"ValidationVisitor","l":"visitConstructor(ConstructorElement, VisitorContext)","u":"visitConstructor(io.micronaut.inject.ast.ConstructorElement,io.micronaut.inject.visitor.VisitorContext)"},{"p":"io.micronaut.validation.visitor","c":"ValidationVisitor","l":"visitField(FieldElement, VisitorContext)","u":"visitField(io.micronaut.inject.ast.FieldElement,io.micronaut.inject.visitor.VisitorContext)"},{"p":"io.micronaut.validation.visitor","c":"ValidationVisitor","l":"visitMethod(MethodElement, VisitorContext)","u":"visitMethod(io.micronaut.inject.ast.MethodElement,io.micronaut.inject.visitor.VisitorContext)"}];updateSearchResults(); \ No newline at end of file +memberSearchIndex = [{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"addValueExtractor(ValueExtractor)","u":"addValueExtractor(jakarta.validation.valueextraction.ValueExtractor)"},{"p":"io.micronaut.validation.validator.extractors","c":"DefaultValueExtractors","l":"addValueExtractor(ValueExtractorDefinition)","u":"addValueExtractor(io.micronaut.validation.validator.extractors.ValueExtractorDefinition)"},{"p":"io.micronaut.validation.validator.extractors","c":"ValueExtractorRegistry","l":"addValueExtractor(ValueExtractorDefinition)","u":"addValueExtractor(io.micronaut.validation.validator.extractors.ValueExtractorDefinition)"},{"p":"io.micronaut.validation.validator","c":"Validator","l":"ANN_CONSTRAINT"},{"p":"io.micronaut.validation.validator","c":"Validator","l":"ANN_VALID"},{"p":"io.micronaut.validation.exceptions","c":"ConstraintExceptionHandler","l":"buildMessage(ConstraintViolation)","u":"buildMessage(jakarta.validation.ConstraintViolation)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"clockProvider(ClockProvider)","u":"clockProvider(jakarta.validation.ClockProvider)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorFactory","l":"close()"},{"p":"io.micronaut.validation.validator.resolver","c":"CompositeTraversableResolver","l":"CompositeTraversableResolver(List)","u":"%3Cinit%3E(java.util.List)"},{"p":"io.micronaut.validation.validator","c":"ValidationAnnotationUtil","l":"CONSTRAINT_VALIDATED_BY"},{"p":"io.micronaut.validation.exceptions","c":"ConstraintExceptionHandler","l":"ConstraintExceptionHandler(ErrorResponseProcessor)","u":"%3Cinit%3E(io.micronaut.http.server.exceptions.response.ErrorResponseProcessor)"},{"p":"io.micronaut.validation.validator.constraints","c":"DefaultConstraintValidators.ValidatorKey","l":"constraintType()"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"constraintValidatorFactory(ConstraintValidatorFactory)","u":"constraintValidatorFactory(jakarta.validation.ConstraintValidatorFactory)"},{"p":"io.micronaut.validation.validator.extractors","c":"ValueExtractorDefinition","l":"containerType()"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"createValid(Class, Object...)","u":"createValid(java.lang.Class,java.lang.Object...)"},{"p":"io.micronaut.validation.validator","c":"ExecutableMethodValidator","l":"createValid(Class, Object...)","u":"createValid(java.lang.Class,java.lang.Object...)"},{"p":"io.micronaut.validation.validator","c":"BeanValidationContext","l":"DEFAULT"},{"p":"io.micronaut.validation.validator","c":"DefaultAnnotatedElementValidator","l":"DefaultAnnotatedElementValidator()","u":"%3Cinit%3E()"},{"p":"io.micronaut.validation.validator","c":"DefaultClockProvider","l":"DefaultClockProvider()","u":"%3Cinit%3E()"},{"p":"io.micronaut.validation.validator.constraints","c":"DefaultConstraintValidators","l":"DefaultConstraintValidators()","u":"%3Cinit%3E()"},{"p":"io.micronaut.validation.validator.constraints","c":"DefaultConstraintValidators","l":"DefaultConstraintValidators(BeanContext)","u":"%3Cinit%3E(io.micronaut.context.BeanContext)"},{"p":"io.micronaut.validation.validator.constraints","c":"DefaultInternalConstraintValidatorFactory","l":"DefaultInternalConstraintValidatorFactory(BeanContext)","u":"%3Cinit%3E(io.micronaut.context.BeanContext)"},{"p":"io.micronaut.validation.validator.constraints","c":"DefaultInternalConstraintValidatorFactory","l":"DefaultInternalConstraintValidatorFactory(BeanIntrospector, BeanContext)","u":"%3Cinit%3E(io.micronaut.core.beans.BeanIntrospector,io.micronaut.context.BeanContext)"},{"p":"io.micronaut.validation.validator.messages","c":"DefaultMessageInterpolator","l":"DefaultMessageInterpolator(MessageSource)","u":"%3Cinit%3E(io.micronaut.context.MessageSource)"},{"p":"io.micronaut.validation.validator.messages","c":"DefaultMessageInterpolator","l":"DefaultMessageInterpolator(MessageSource, InterpolatorLocaleResolver)","u":"%3Cinit%3E(io.micronaut.context.MessageSource,io.micronaut.validation.validator.messages.InterpolatorLocaleResolver)"},{"p":"io.micronaut.validation.validator.messages","c":"DefaultMessages","l":"DefaultMessages()","u":"%3Cinit%3E()"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"DefaultValidator(ValidatorConfiguration)","u":"%3Cinit%3E(io.micronaut.validation.validator.ValidatorConfiguration)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"DefaultValidatorConfiguration()","u":"%3Cinit%3E()"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorFactory","l":"DefaultValidatorFactory()","u":"%3Cinit%3E()"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorFactory","l":"DefaultValidatorFactory(Validator, ValidatorConfiguration)","u":"%3Cinit%3E(io.micronaut.validation.validator.Validator,io.micronaut.validation.validator.ValidatorConfiguration)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorFactory","l":"DefaultValidatorFactory(ValidatorConfiguration)","u":"%3Cinit%3E(io.micronaut.validation.validator.ValidatorConfiguration)"},{"p":"io.micronaut.validation.validator.extractors","c":"DefaultValueExtractors","l":"DefaultValueExtractors()","u":"%3Cinit%3E()"},{"p":"io.micronaut.validation.validator.extractors","c":"DefaultValueExtractors","l":"DefaultValueExtractors(BeanContext)","u":"%3Cinit%3E(io.micronaut.context.BeanContext)"},{"p":"io.micronaut.validation.validator.constraints","c":"DecimalMaxValidator","l":"doComparison(T, BigDecimal)","u":"doComparison(T,java.math.BigDecimal)"},{"p":"io.micronaut.validation.validator.constraints","c":"DecimalMinValidator","l":"doComparison(T, BigDecimal)","u":"doComparison(T,java.math.BigDecimal)"},{"p":"io.micronaut.validation.validator.constraints","c":"EmailValidator","l":"EmailValidator()","u":"%3Cinit%3E()"},{"p":"io.micronaut.validation.validator","c":"ValidatorConfiguration","l":"ENABLED"},{"p":"io.micronaut.validation.validator.constraints","c":"DefaultConstraintValidators.ValidatorKey","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.micronaut.validation.validator.extractors","c":"ValueExtractorDefinition","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"io.micronaut.validation.validator.constraints","c":"ConstraintValidatorRegistry","l":"findConstraintValidator(Class, Class)","u":"findConstraintValidator(java.lang.Class,java.lang.Class)"},{"p":"io.micronaut.validation.validator.constraints","c":"DefaultConstraintValidators","l":"findConstraintValidator(Class, Class)","u":"findConstraintValidator(java.lang.Class,java.lang.Class)"},{"p":"io.micronaut.validation.validator.constraints","c":"DefaultConstraintValidators","l":"findLocalConstraintValidator(Class, Class)","u":"findLocalConstraintValidator(java.lang.Class,java.lang.Class)"},{"p":"io.micronaut.validation.validator.extractors","c":"DefaultValueExtractors","l":"findValueExtractors(Class)","u":"findValueExtractors(java.lang.Class)"},{"p":"io.micronaut.validation.validator.extractors","c":"ValueExtractorRegistry","l":"findValueExtractors(Class)","u":"findValueExtractors(java.lang.Class)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"forExecutables()"},{"p":"io.micronaut.validation.validator","c":"Validator","l":"forExecutables()"},{"p":"io.micronaut.validation.validator","c":"BeanValidationContext","l":"fromGroups(Class...)","u":"fromGroups(java.lang.Class...)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"getBeanIntrospection(Class)","u":"getBeanIntrospection(java.lang.Class)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"getBeanIntrospection(T)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"getBeanIntrospection(T, Class)","u":"getBeanIntrospection(T,java.lang.Class)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"getBeanIntrospector()"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"getBeanIntrospector()"},{"p":"io.micronaut.validation.validator","c":"ValidatorConfiguration","l":"getBeanIntrospector()"},{"p":"io.micronaut.validation.validator.constraints","c":"DigitsValidator","l":"getBigDecimal(T)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"getClassFromType(Type)","u":"getClassFromType(java.lang.reflect.Type)"},{"p":"io.micronaut.validation.validator","c":"DefaultClockProvider","l":"getClock()"},{"p":"io.micronaut.validation.validator.constraints","c":"ConstraintValidatorContext","l":"getClockProvider()"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"getClockProvider()"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorFactory","l":"getClockProvider()"},{"p":"io.micronaut.validation.validator","c":"ValidatorConfiguration","l":"getClockProvider()"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"getConstraintsForClass(Class)","u":"getConstraintsForClass(java.lang.Class)"},{"p":"io.micronaut.validation.validator.constraints","c":"ConstraintValidatorRegistry","l":"getConstraintValidator(Class, Class)","u":"getConstraintValidator(java.lang.Class,java.lang.Class)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"getConstraintValidatorFactory()"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorFactory","l":"getConstraintValidatorFactory()"},{"p":"io.micronaut.validation.validator","c":"ValidatorConfiguration","l":"getConstraintValidatorFactory()"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"getConstraintValidatorRegistry()"},{"p":"io.micronaut.validation.validator","c":"ValidatorConfiguration","l":"getConstraintValidatorRegistry()"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"getConversionService()"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"getDefaultClockProvider()"},{"p":"io.micronaut.validation.validator","c":"ValidatorConfiguration","l":"getDefaultClockProvider()"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"getDefaultMessageInterpolator()"},{"p":"io.micronaut.validation.validator","c":"ValidatorConfiguration","l":"getDefaultMessageInterpolator()"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"getDefaultTraversableResolver()"},{"p":"io.micronaut.validation.validator","c":"ValidatorConfiguration","l":"getDefaultTraversableResolver()"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"getExecutionHandleLocator()"},{"p":"io.micronaut.validation.validator","c":"ValidatorConfiguration","l":"getExecutionHandleLocator()"},{"p":"io.micronaut.validation.validator","c":"Validator","l":"getInstance()"},{"p":"io.micronaut.validation.validator.constraints","c":"DefaultInternalConstraintValidatorFactory","l":"getInstance(Class)","u":"getInstance(java.lang.Class)"},{"p":"io.micronaut.validation.validator.constraints","c":"InternalConstraintValidatorFactory","l":"getInstance(Class, Class, ConstraintTarget)","u":"getInstance(java.lang.Class,java.lang.Class,jakarta.validation.ConstraintTarget)"},{"p":"io.micronaut.validation.validator.constraints","c":"DefaultInternalConstraintValidatorFactory","l":"getInstance(Class, Class, ConstraintTarget)","u":"getInstance(java.lang.Class,java.lang.Class,jakarta.validation.ConstraintTarget)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"getMessageInterpolator()"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorFactory","l":"getMessageInterpolator()"},{"p":"io.micronaut.validation.validator","c":"ValidatorConfiguration","l":"getMessageInterpolator()"},{"p":"io.micronaut.validation","c":"ValidatingInterceptor","l":"getOrder()"},{"p":"io.micronaut.validation.visitor","c":"IntrospectedValidationIndexesVisitor","l":"getOrder()"},{"p":"io.micronaut.validation.visitor","c":"ValidationVisitor","l":"getOrder()"},{"p":"io.micronaut.validation.transformer","c":"ValidationAnnotationRemapper","l":"getPackageName()"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorFactory","l":"getParameterNameProvider()"},{"p":"io.micronaut.validation.validator.constraints","c":"ConstraintValidatorContext","l":"getRootBean()"},{"p":"io.micronaut.validation.validator.constraints","c":"SizeValidator","l":"getSize(T)"},{"p":"io.micronaut.validation.visitor","c":"IntrospectedValidationIndexesVisitor","l":"getSupportedAnnotationNames()"},{"p":"io.micronaut.validation.visitor","c":"ValidationVisitor","l":"getSupportedAnnotationNames()"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"getTraversableResolver()"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorFactory","l":"getTraversableResolver()"},{"p":"io.micronaut.validation.validator","c":"ValidatorConfiguration","l":"getTraversableResolver()"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"getValidator()"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorFactory","l":"getValidator()"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"getValueExtractorRegistry()"},{"p":"io.micronaut.validation.validator","c":"ValidatorConfiguration","l":"getValueExtractorRegistry()"},{"p":"io.micronaut.validation.visitor","c":"IntrospectedValidationIndexesVisitor","l":"getVisitorKind()"},{"p":"io.micronaut.validation.visitor","c":"ValidationVisitor","l":"getVisitorKind()"},{"p":"io.micronaut.validation","c":"Validated","l":"groups()"},{"p":"io.micronaut.validation.validator","c":"BeanValidationContext","l":"groups()"},{"p":"io.micronaut.validation.exceptions","c":"ConstraintExceptionHandler","l":"handle(HttpRequest, ConstraintViolationException)","u":"handle(io.micronaut.http.HttpRequest,jakarta.validation.ConstraintViolationException)"},{"p":"io.micronaut.validation.validator.constraints","c":"DefaultConstraintValidators.ValidatorKey","l":"hashCode()"},{"p":"io.micronaut.validation.validator.extractors","c":"ValueExtractorDefinition","l":"hashCode()"},{"p":"io.micronaut.validation","c":"ValidatingInterceptor","l":"intercept(MethodInvocationContext)","u":"intercept(io.micronaut.aop.MethodInvocationContext)"},{"p":"io.micronaut.validation.validator.messages","c":"DefaultMessageInterpolator","l":"interpolate(String, MessageInterpolator.Context)","u":"interpolate(java.lang.String,jakarta.validation.MessageInterpolator.Context)"},{"p":"io.micronaut.validation.validator.messages","c":"DefaultMessageInterpolator","l":"interpolate(String, MessageInterpolator.Context, Locale)","u":"interpolate(java.lang.String,jakarta.validation.MessageInterpolator.Context,java.util.Locale)"},{"p":"io.micronaut.validation.visitor","c":"IntrospectedValidationIndexesVisitor","l":"IntrospectedValidationIndexesVisitor()","u":"%3Cinit%3E()"},{"p":"io.micronaut.validation.validator.resolver","c":"CompositeTraversableResolver","l":"isCascadable(Object, Path.Node, Class, Path, ElementType)","u":"isCascadable(java.lang.Object,jakarta.validation.Path.Node,java.lang.Class,jakarta.validation.Path,java.lang.annotation.ElementType)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"isEnabled()"},{"p":"io.micronaut.validation.validator","c":"BeanValidationContext","l":"isPropertyValidated(T, BeanProperty)","u":"isPropertyValidated(T,io.micronaut.core.beans.BeanProperty)"},{"p":"io.micronaut.validation.validator.resolver","c":"CompositeTraversableResolver","l":"isReachable(Object, Path.Node, Class, Path, ElementType)","u":"isReachable(java.lang.Object,jakarta.validation.Path.Node,java.lang.Class,jakarta.validation.Path,java.lang.annotation.ElementType)"},{"p":"io.micronaut.validation.validator.constraints","c":"EmailValidator","l":"isValid(CharSequence, AnnotationValue, ConstraintValidatorContext)","u":"isValid(java.lang.CharSequence,io.micronaut.core.annotation.AnnotationValue,io.micronaut.validation.validator.constraints.ConstraintValidatorContext)"},{"p":"io.micronaut.validation.validator.constraints","c":"PatternValidator","l":"isValid(CharSequence, AnnotationValue, ConstraintValidatorContext)","u":"isValid(java.lang.CharSequence,io.micronaut.core.annotation.AnnotationValue,io.micronaut.validation.validator.constraints.ConstraintValidatorContext)"},{"p":"io.micronaut.validation.validator.constraints","c":"ConstraintValidator","l":"isValid(T, AnnotationValue, ConstraintValidatorContext)","u":"isValid(T,io.micronaut.core.annotation.AnnotationValue,io.micronaut.validation.validator.constraints.ConstraintValidatorContext)"},{"p":"io.micronaut.validation.validator.constraints","c":"DecimalMaxValidator","l":"isValid(T, AnnotationValue, ConstraintValidatorContext)","u":"isValid(T,io.micronaut.core.annotation.AnnotationValue,io.micronaut.validation.validator.constraints.ConstraintValidatorContext)"},{"p":"io.micronaut.validation.validator.constraints","c":"DecimalMinValidator","l":"isValid(T, AnnotationValue, ConstraintValidatorContext)","u":"isValid(T,io.micronaut.core.annotation.AnnotationValue,io.micronaut.validation.validator.constraints.ConstraintValidatorContext)"},{"p":"io.micronaut.validation.validator.constraints","c":"DigitsValidator","l":"isValid(T, AnnotationValue, ConstraintValidatorContext)","u":"isValid(T,io.micronaut.core.annotation.AnnotationValue,io.micronaut.validation.validator.constraints.ConstraintValidatorContext)"},{"p":"io.micronaut.validation.validator.constraints","c":"SizeValidator","l":"isValid(T, AnnotationValue, ConstraintValidatorContext)","u":"isValid(T,io.micronaut.core.annotation.AnnotationValue,io.micronaut.validation.validator.constraints.ConstraintValidatorContext)"},{"p":"io.micronaut.validation.validator.constraints","c":"ConstraintValidator","l":"isValid(T, ConstraintValidatorContext)","u":"isValid(T,jakarta.validation.ConstraintValidatorContext)"},{"p":"io.micronaut.validation.validator.constraints","c":"DomainNameUtil","l":"isValidDomainAddress(String)","u":"isValidDomainAddress(java.lang.String)"},{"p":"io.micronaut.validation.validator.constraints","c":"DomainNameUtil","l":"isValidEmailDomainAddress(String)","u":"isValidEmailDomainAddress(java.lang.String)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"messageInterpolator(MessageInterpolator)","u":"messageInterpolator(jakarta.validation.MessageInterpolator)"},{"p":"io.micronaut.validation.validator.constraints","c":"ConstraintValidatorContext","l":"messageTemplate(String)","u":"messageTemplate(java.lang.String)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"parameterNameProvider(ParameterNameProvider)","u":"parameterNameProvider(jakarta.validation.ParameterNameProvider)"},{"p":"io.micronaut.validation.validator.constraints","c":"PatternValidator","l":"PatternValidator()","u":"%3Cinit%3E()"},{"p":"io.micronaut.validation","c":"ValidatingInterceptor","l":"POSITION"},{"p":"io.micronaut.validation.validator","c":"ValidatorConfiguration","l":"PREFIX"},{"p":"io.micronaut.validation.validator.constraints","c":"DefaultInternalConstraintValidatorFactory","l":"releaseInstance(ConstraintValidator)","u":"releaseInstance(jakarta.validation.ConstraintValidator)"},{"p":"io.micronaut.validation.transformer","c":"ValidationAnnotationRemapper","l":"remap(AnnotationValue, VisitorContext)","u":"remap(io.micronaut.core.annotation.AnnotationValue,io.micronaut.inject.visitor.VisitorContext)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"requireNonEmpty(String, String)","u":"requireNonEmpty(java.lang.String,java.lang.String)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"requireNonNull(String, T)","u":"requireNonNull(java.lang.String,T)"},{"p":"io.micronaut.validation.validator.messages","c":"InterpolatorLocaleResolver","l":"resolve()"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"setBeanIntrospector(BeanIntrospector)","u":"setBeanIntrospector(io.micronaut.core.beans.BeanIntrospector)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"setClockProvider(ClockProvider)","u":"setClockProvider(jakarta.validation.ClockProvider)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"setConstraintValidatorRegistry(ConstraintValidatorRegistry)","u":"setConstraintValidatorRegistry(io.micronaut.validation.validator.constraints.ConstraintValidatorRegistry)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"setConversionService(ConversionService)","u":"setConversionService(io.micronaut.core.convert.ConversionService)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"setEnabled(boolean)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"setExecutionHandleLocator(BeanContext)","u":"setExecutionHandleLocator(io.micronaut.context.BeanContext)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"setMessageInterpolator(MessageInterpolator)","u":"setMessageInterpolator(jakarta.validation.MessageInterpolator)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"setTraversableResolver(TraversableResolver)","u":"setTraversableResolver(jakarta.validation.TraversableResolver)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"setValueExtractorRegistry(ValueExtractorRegistry)","u":"setValueExtractorRegistry(io.micronaut.validation.validator.extractors.ValueExtractorRegistry)"},{"p":"io.micronaut.validation.validator.constraints","c":"DefaultConstraintValidators.ValidatorKey","l":"targetType()"},{"p":"io.micronaut.validation.validator.constraints","c":"DefaultConstraintValidators.ValidatorKey","l":"toString()"},{"p":"io.micronaut.validation.validator.extractors","c":"ValueExtractorDefinition","l":"toString()"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorConfiguration","l":"traversableResolver(TraversableResolver)","u":"traversableResolver(jakarta.validation.TraversableResolver)"},{"p":"io.micronaut.validation.validator.extractors","c":"ValueExtractorDefinition","l":"typeArgumentIndex()"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"unwrap(Class)","u":"unwrap(java.lang.Class)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorFactory","l":"unwrap(Class)","u":"unwrap(java.lang.Class)"},{"p":"io.micronaut.validation.validator.extractors","c":"ValueExtractorDefinition","l":"unwrapByDefault()"},{"p":"io.micronaut.validation.validator","c":"DefaultValidatorFactory","l":"usingContext()"},{"p":"io.micronaut.validation.validator.constraints","c":"ConstraintValidator","l":"VALID"},{"p":"io.micronaut.validation.validator","c":"Validator","l":"validate(BeanIntrospection, T, BeanValidationContext)","u":"validate(io.micronaut.core.beans.BeanIntrospection,T,io.micronaut.validation.validator.BeanValidationContext)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"validate(BeanIntrospection, T, BeanValidationContext)","u":"validate(io.micronaut.core.beans.BeanIntrospection,T,io.micronaut.validation.validator.BeanValidationContext)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"validate(BeanIntrospection, T, Class...)","u":"validate(io.micronaut.core.beans.BeanIntrospection,T,java.lang.Class...)"},{"p":"io.micronaut.validation.validator","c":"Validator","l":"validate(BeanIntrospection, T, Class...)","u":"validate(io.micronaut.core.beans.BeanIntrospection,T,java.lang.Class...)"},{"p":"io.micronaut.validation.validator","c":"Validator","l":"validate(T, BeanValidationContext)","u":"validate(T,io.micronaut.validation.validator.BeanValidationContext)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"validate(T, BeanValidationContext)","u":"validate(T,io.micronaut.validation.validator.BeanValidationContext)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"validate(T, Class...)","u":"validate(T,java.lang.Class...)"},{"p":"io.micronaut.validation.validator","c":"Validator","l":"validate(T, Class...)","u":"validate(T,java.lang.Class...)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"validateBean(BeanResolutionContext, BeanDefinition, T)","u":"validateBean(io.micronaut.context.BeanResolutionContext,io.micronaut.inject.BeanDefinition,T)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"validateBeanArgument(BeanResolutionContext, InjectionPoint, Argument, int, T)","u":"validateBeanArgument(io.micronaut.context.BeanResolutionContext,io.micronaut.inject.InjectionPoint,io.micronaut.core.type.Argument,int,T)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"validateCompletionStage(CompletionStage, Argument, Class...)","u":"validateCompletionStage(java.util.concurrent.CompletionStage,io.micronaut.core.type.Argument,java.lang.Class...)"},{"p":"io.micronaut.validation.validator","c":"ReactiveValidator","l":"validateCompletionStage(CompletionStage, Argument, Class...)","u":"validateCompletionStage(java.util.concurrent.CompletionStage,io.micronaut.core.type.Argument,java.lang.Class...)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"validateConstructorParameters(BeanIntrospection, Object[], Class...)","u":"validateConstructorParameters(io.micronaut.core.beans.BeanIntrospection,java.lang.Object[],java.lang.Class...)"},{"p":"io.micronaut.validation.validator","c":"ExecutableMethodValidator","l":"validateConstructorParameters(BeanIntrospection, Object[], Class...)","u":"validateConstructorParameters(io.micronaut.core.beans.BeanIntrospection,java.lang.Object[],java.lang.Class...)"},{"p":"io.micronaut.validation.validator","c":"ExecutableMethodValidator","l":"validateConstructorParameters(Class, Argument[], Object[], BeanValidationContext)","u":"validateConstructorParameters(java.lang.Class,io.micronaut.core.type.Argument[],java.lang.Object[],io.micronaut.validation.validator.BeanValidationContext)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"validateConstructorParameters(Class, Argument[], Object[], BeanValidationContext)","u":"validateConstructorParameters(java.lang.Class,io.micronaut.core.type.Argument[],java.lang.Object[],io.micronaut.validation.validator.BeanValidationContext)"},{"p":"io.micronaut.validation.validator","c":"ExecutableMethodValidator","l":"validateConstructorParameters(Class, Argument[], Object[], Class[])","u":"validateConstructorParameters(java.lang.Class,io.micronaut.core.type.Argument[],java.lang.Object[],java.lang.Class[])"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"validateConstructorParameters(Class, Argument[], Object[], Class[])","u":"validateConstructorParameters(java.lang.Class,io.micronaut.core.type.Argument[],java.lang.Object[],java.lang.Class[])"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"validateConstructorParameters(Constructor, Object[], Class...)","u":"validateConstructorParameters(java.lang.reflect.Constructor,java.lang.Object[],java.lang.Class...)"},{"p":"io.micronaut.validation.validator","c":"ExecutableMethodValidator","l":"validateConstructorParameters(Constructor, Object[], Class...)","u":"validateConstructorParameters(java.lang.reflect.Constructor,java.lang.Object[],java.lang.Class...)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"validateConstructorReturnValue(Constructor, T, Class...)","u":"validateConstructorReturnValue(java.lang.reflect.Constructor,T,java.lang.Class...)"},{"p":"io.micronaut.validation.validator","c":"ExecutableMethodValidator","l":"validateConstructorReturnValue(Constructor, T, Class...)","u":"validateConstructorReturnValue(java.lang.reflect.Constructor,T,java.lang.Class...)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"validatedAnnotatedElement(AnnotatedElement, Object)","u":"validatedAnnotatedElement(io.micronaut.core.annotation.AnnotatedElement,java.lang.Object)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"validateParameters(T, ExecutableMethod, Collection>, Class...)","u":"validateParameters(T,io.micronaut.inject.ExecutableMethod,java.util.Collection,java.lang.Class...)"},{"p":"io.micronaut.validation.validator","c":"ExecutableMethodValidator","l":"validateParameters(T, ExecutableMethod, Collection>, Class...)","u":"validateParameters(T,io.micronaut.inject.ExecutableMethod,java.util.Collection,java.lang.Class...)"},{"p":"io.micronaut.validation.validator","c":"ExecutableMethodValidator","l":"validateParameters(T, ExecutableMethod, Object[], BeanValidationContext)","u":"validateParameters(T,io.micronaut.inject.ExecutableMethod,java.lang.Object[],io.micronaut.validation.validator.BeanValidationContext)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"validateParameters(T, ExecutableMethod, Object[], BeanValidationContext)","u":"validateParameters(T,io.micronaut.inject.ExecutableMethod,java.lang.Object[],io.micronaut.validation.validator.BeanValidationContext)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"validateParameters(T, ExecutableMethod, Object[], Class...)","u":"validateParameters(T,io.micronaut.inject.ExecutableMethod,java.lang.Object[],java.lang.Class...)"},{"p":"io.micronaut.validation.validator","c":"ExecutableMethodValidator","l":"validateParameters(T, ExecutableMethod, Object[], Class...)","u":"validateParameters(T,io.micronaut.inject.ExecutableMethod,java.lang.Object[],java.lang.Class...)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"validateParameters(T, Method, Object[], Class...)","u":"validateParameters(T,java.lang.reflect.Method,java.lang.Object[],java.lang.Class...)"},{"p":"io.micronaut.validation.validator","c":"ExecutableMethodValidator","l":"validateParameters(T, Method, Object[], Class...)","u":"validateParameters(T,java.lang.reflect.Method,java.lang.Object[],java.lang.Class...)"},{"p":"io.micronaut.validation.validator","c":"Validator","l":"validateProperty(T, String, BeanValidationContext)","u":"validateProperty(T,java.lang.String,io.micronaut.validation.validator.BeanValidationContext)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"validateProperty(T, String, BeanValidationContext)","u":"validateProperty(T,java.lang.String,io.micronaut.validation.validator.BeanValidationContext)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"validateProperty(T, String, Class...)","u":"validateProperty(T,java.lang.String,java.lang.Class...)"},{"p":"io.micronaut.validation.validator","c":"Validator","l":"validateProperty(T, String, Class...)","u":"validateProperty(T,java.lang.String,java.lang.Class...)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"validatePublisher(ReturnType, Publisher, Class...)","u":"validatePublisher(io.micronaut.core.type.ReturnType,org.reactivestreams.Publisher,java.lang.Class...)"},{"p":"io.micronaut.validation.validator","c":"ReactiveValidator","l":"validatePublisher(ReturnType, Publisher, Class...)","u":"validatePublisher(io.micronaut.core.type.ReturnType,org.reactivestreams.Publisher,java.lang.Class...)"},{"p":"io.micronaut.validation.validator","c":"ExecutableMethodValidator","l":"validateReturnValue(T, ExecutableMethod, Object, BeanValidationContext)","u":"validateReturnValue(T,io.micronaut.inject.ExecutableMethod,java.lang.Object,io.micronaut.validation.validator.BeanValidationContext)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"validateReturnValue(T, ExecutableMethod, Object, BeanValidationContext)","u":"validateReturnValue(T,io.micronaut.inject.ExecutableMethod,java.lang.Object,io.micronaut.validation.validator.BeanValidationContext)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"validateReturnValue(T, ExecutableMethod, Object, Class...)","u":"validateReturnValue(T,io.micronaut.inject.ExecutableMethod,java.lang.Object,java.lang.Class...)"},{"p":"io.micronaut.validation.validator","c":"ExecutableMethodValidator","l":"validateReturnValue(T, ExecutableMethod, Object, Class...)","u":"validateReturnValue(T,io.micronaut.inject.ExecutableMethod,java.lang.Object,java.lang.Class...)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"validateReturnValue(T, Method, Object, Class...)","u":"validateReturnValue(T,java.lang.reflect.Method,java.lang.Object,java.lang.Class...)"},{"p":"io.micronaut.validation.validator","c":"ExecutableMethodValidator","l":"validateReturnValue(T, Method, Object, Class...)","u":"validateReturnValue(T,java.lang.reflect.Method,java.lang.Object,java.lang.Class...)"},{"p":"io.micronaut.validation.validator","c":"Validator","l":"validateValue(Class, String, Object, BeanValidationContext)","u":"validateValue(java.lang.Class,java.lang.String,java.lang.Object,io.micronaut.validation.validator.BeanValidationContext)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"validateValue(Class, String, Object, BeanValidationContext)","u":"validateValue(java.lang.Class,java.lang.String,java.lang.Object,io.micronaut.validation.validator.BeanValidationContext)"},{"p":"io.micronaut.validation.validator","c":"DefaultValidator","l":"validateValue(Class, String, Object, Class...)","u":"validateValue(java.lang.Class,java.lang.String,java.lang.Object,java.lang.Class...)"},{"p":"io.micronaut.validation.validator","c":"Validator","l":"validateValue(Class, String, Object, Class...)","u":"validateValue(java.lang.Class,java.lang.String,java.lang.Object,java.lang.Class...)"},{"p":"io.micronaut.validation","c":"ValidatingInterceptor","l":"ValidatingInterceptor(Validator, ValidatorFactory, ConversionService)","u":"%3Cinit%3E(io.micronaut.validation.validator.Validator,jakarta.validation.ValidatorFactory,io.micronaut.core.convert.ConversionService)"},{"p":"io.micronaut.validation.transformer","c":"ValidationAnnotationRemapper","l":"ValidationAnnotationRemapper()","u":"%3Cinit%3E()"},{"p":"io.micronaut.validation.visitor","c":"ValidationVisitor","l":"ValidationVisitor()","u":"%3Cinit%3E()"},{"p":"io.micronaut.validation.validator.constraints","c":"DefaultConstraintValidators.ValidatorKey","l":"ValidatorKey(Class, Class)","u":"%3Cinit%3E(java.lang.Class,java.lang.Class)"},{"p":"io.micronaut.validation.validator.extractors","c":"ValueExtractorDefinition","l":"valueExtractor()"},{"p":"io.micronaut.validation.validator.extractors","c":"ValueExtractorDefinition","l":"ValueExtractorDefinition(Argument>, ValueExtractor)","u":"%3Cinit%3E(io.micronaut.core.type.Argument,jakarta.validation.valueextraction.ValueExtractor)"},{"p":"io.micronaut.validation.validator.extractors","c":"ValueExtractorDefinition","l":"ValueExtractorDefinition(Class, Class, Integer, boolean, ValueExtractor)","u":"%3Cinit%3E(java.lang.Class,java.lang.Class,java.lang.Integer,boolean,jakarta.validation.valueextraction.ValueExtractor)"},{"p":"io.micronaut.validation.validator.extractors","c":"ValueExtractorDefinition","l":"valueType()"},{"p":"io.micronaut.validation.visitor","c":"IntrospectedValidationIndexesVisitor","l":"visitClass(ClassElement, VisitorContext)","u":"visitClass(io.micronaut.inject.ast.ClassElement,io.micronaut.inject.visitor.VisitorContext)"},{"p":"io.micronaut.validation.visitor","c":"ValidationVisitor","l":"visitClass(ClassElement, VisitorContext)","u":"visitClass(io.micronaut.inject.ast.ClassElement,io.micronaut.inject.visitor.VisitorContext)"},{"p":"io.micronaut.validation.visitor","c":"ValidationVisitor","l":"visitConstructor(ConstructorElement, VisitorContext)","u":"visitConstructor(io.micronaut.inject.ast.ConstructorElement,io.micronaut.inject.visitor.VisitorContext)"},{"p":"io.micronaut.validation.visitor","c":"ValidationVisitor","l":"visitField(FieldElement, VisitorContext)","u":"visitField(io.micronaut.inject.ast.FieldElement,io.micronaut.inject.visitor.VisitorContext)"},{"p":"io.micronaut.validation.visitor","c":"ValidationVisitor","l":"visitMethod(MethodElement, VisitorContext)","u":"visitMethod(io.micronaut.inject.ast.MethodElement,io.micronaut.inject.visitor.VisitorContext)"}];updateSearchResults(); \ No newline at end of file diff --git a/4.8.x/api/overview-summary.html b/4.8.x/api/overview-summary.html index 34d07a4a..6c9372b2 100644 --- a/4.8.x/api/overview-summary.html +++ b/4.8.x/api/overview-summary.html @@ -2,7 +2,7 @@ -validation-parent 4.8.0 API +validation-parent 4.8.1 API diff --git a/4.8.x/api/overview-tree.html b/4.8.x/api/overview-tree.html index ed8aebb2..9d9fe8ca 100644 --- a/4.8.x/api/overview-tree.html +++ b/4.8.x/api/overview-tree.html @@ -2,7 +2,7 @@ -Class Hierarchy (validation-parent 4.8.0 API) +Class Hierarchy (validation-parent 4.8.1 API) @@ -11,7 +11,7 @@ - + @@ -145,6 +145,7 @@

Interface Hierarchy

  • io.micronaut.validation.validator.ExecutableMethodValidator
  • +
  • io.micronaut.validation.validator.messages.InterpolatorLocaleResolver
  • io.micronaut.validation.validator.ReactiveValidator
  • io.micronaut.validation.validator.ValidationAnnotationUtil
  • jakarta.validation.Validator diff --git a/4.8.x/api/script-dir/jquery-3.7.1.min.js b/4.8.x/api/script-dir/jquery-3.7.1.min.js new file mode 100644 index 00000000..7f37b5d9 --- /dev/null +++ b/4.8.x/api/script-dir/jquery-3.7.1.min.js @@ -0,0 +1,2 @@ +/*! jQuery v3.7.1 | (c) OpenJS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(ie,e){"use strict";var oe=[],r=Object.getPrototypeOf,ae=oe.slice,g=oe.flat?function(e){return oe.flat.call(e)}:function(e){return oe.concat.apply([],e)},s=oe.push,se=oe.indexOf,n={},i=n.toString,ue=n.hasOwnProperty,o=ue.toString,a=o.call(Object),le={},v=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},y=function(e){return null!=e&&e===e.window},C=ie.document,u={type:!0,src:!0,nonce:!0,noModule:!0};function m(e,t,n){var r,i,o=(n=n||C).createElement("script");if(o.text=e,t)for(r in u)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function x(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[i.call(e)]||"object":typeof e}var t="3.7.1",l=/HTML$/i,ce=function(e,t){return new ce.fn.init(e,t)};function c(e){var t=!!e&&"length"in e&&e.length,n=x(e);return!v(e)&&!y(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+ge+")"+ge+"*"),x=new RegExp(ge+"|>"),j=new RegExp(g),A=new RegExp("^"+t+"$"),D={ID:new RegExp("^#("+t+")"),CLASS:new RegExp("^\\.("+t+")"),TAG:new RegExp("^("+t+"|[*])"),ATTR:new RegExp("^"+p),PSEUDO:new RegExp("^"+g),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+ge+"*(even|odd|(([+-]|)(\\d*)n|)"+ge+"*(?:([+-]|)"+ge+"*(\\d+)|))"+ge+"*\\)|)","i"),bool:new RegExp("^(?:"+f+")$","i"),needsContext:new RegExp("^"+ge+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+ge+"*((?:-\\d)?\\d*)"+ge+"*\\)|)(?=[^-]|$)","i")},N=/^(?:input|select|textarea|button)$/i,q=/^h\d$/i,L=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,H=/[+~]/,O=new RegExp("\\\\[\\da-fA-F]{1,6}"+ge+"?|\\\\([^\\r\\n\\f])","g"),P=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},M=function(){V()},R=J(function(e){return!0===e.disabled&&fe(e,"fieldset")},{dir:"parentNode",next:"legend"});try{k.apply(oe=ae.call(ye.childNodes),ye.childNodes),oe[ye.childNodes.length].nodeType}catch(e){k={apply:function(e,t){me.apply(e,ae.call(t))},call:function(e){me.apply(e,ae.call(arguments,1))}}}function I(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(V(e),e=e||T,C)){if(11!==p&&(u=L.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return k.call(n,a),n}else if(f&&(a=f.getElementById(i))&&I.contains(e,a)&&a.id===i)return k.call(n,a),n}else{if(u[2])return k.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&e.getElementsByClassName)return k.apply(n,e.getElementsByClassName(i)),n}if(!(h[t+" "]||d&&d.test(t))){if(c=t,f=e,1===p&&(x.test(t)||m.test(t))){(f=H.test(t)&&U(e.parentNode)||e)==e&&le.scope||((s=e.getAttribute("id"))?s=ce.escapeSelector(s):e.setAttribute("id",s=S)),o=(l=Y(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+Q(l[o]);c=l.join(",")}try{return k.apply(n,f.querySelectorAll(c)),n}catch(e){h(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return re(t.replace(ve,"$1"),e,n,r)}function W(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function F(e){return e[S]=!0,e}function $(e){var t=T.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function B(t){return function(e){return fe(e,"input")&&e.type===t}}function _(t){return function(e){return(fe(e,"input")||fe(e,"button"))&&e.type===t}}function z(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&R(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function X(a){return F(function(o){return o=+o,F(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function U(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}function V(e){var t,n=e?e.ownerDocument||e:ye;return n!=T&&9===n.nodeType&&n.documentElement&&(r=(T=n).documentElement,C=!ce.isXMLDoc(T),i=r.matches||r.webkitMatchesSelector||r.msMatchesSelector,r.msMatchesSelector&&ye!=T&&(t=T.defaultView)&&t.top!==t&&t.addEventListener("unload",M),le.getById=$(function(e){return r.appendChild(e).id=ce.expando,!T.getElementsByName||!T.getElementsByName(ce.expando).length}),le.disconnectedMatch=$(function(e){return i.call(e,"*")}),le.scope=$(function(){return T.querySelectorAll(":scope")}),le.cssHas=$(function(){try{return T.querySelector(":has(*,:jqfake)"),!1}catch(e){return!0}}),le.getById?(b.filter.ID=function(e){var t=e.replace(O,P);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&C){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(O,P);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&C){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):t.querySelectorAll(e)},b.find.CLASS=function(e,t){if("undefined"!=typeof t.getElementsByClassName&&C)return t.getElementsByClassName(e)},d=[],$(function(e){var t;r.appendChild(e).innerHTML="",e.querySelectorAll("[selected]").length||d.push("\\["+ge+"*(?:value|"+f+")"),e.querySelectorAll("[id~="+S+"-]").length||d.push("~="),e.querySelectorAll("a#"+S+"+*").length||d.push(".#.+[+~]"),e.querySelectorAll(":checked").length||d.push(":checked"),(t=T.createElement("input")).setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),r.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&d.push(":enabled",":disabled"),(t=T.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||d.push("\\["+ge+"*name"+ge+"*="+ge+"*(?:''|\"\")")}),le.cssHas||d.push(":has"),d=d.length&&new RegExp(d.join("|")),l=function(e,t){if(e===t)return a=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!le.sortDetached&&t.compareDocumentPosition(e)===n?e===T||e.ownerDocument==ye&&I.contains(ye,e)?-1:t===T||t.ownerDocument==ye&&I.contains(ye,t)?1:o?se.call(o,e)-se.call(o,t):0:4&n?-1:1)}),T}for(e in I.matches=function(e,t){return I(e,null,null,t)},I.matchesSelector=function(e,t){if(V(e),C&&!h[t+" "]&&(!d||!d.test(t)))try{var n=i.call(e,t);if(n||le.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){h(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(O,P),e[3]=(e[3]||e[4]||e[5]||"").replace(O,P),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||I.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&I.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return D.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&j.test(n)&&(t=Y(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(O,P).toLowerCase();return"*"===e?function(){return!0}:function(e){return fe(e,t)}},CLASS:function(e){var t=s[e+" "];return t||(t=new RegExp("(^|"+ge+")"+e+"("+ge+"|$)"))&&s(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=I.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function T(e,n,r){return v(n)?ce.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?ce.grep(e,function(e){return e===n!==r}):"string"!=typeof n?ce.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(ce.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||k,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:S.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof ce?t[0]:t,ce.merge(this,ce.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:C,!0)),w.test(r[1])&&ce.isPlainObject(t))for(r in t)v(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=C.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):v(e)?void 0!==n.ready?n.ready(e):e(ce):ce.makeArray(e,this)}).prototype=ce.fn,k=ce(C);var E=/^(?:parents|prev(?:Until|All))/,j={children:!0,contents:!0,next:!0,prev:!0};function A(e,t){while((e=e[t])&&1!==e.nodeType);return e}ce.fn.extend({has:function(e){var t=ce(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,Ce=/^$|^module$|\/(?:java|ecma)script/i;xe=C.createDocumentFragment().appendChild(C.createElement("div")),(be=C.createElement("input")).setAttribute("type","radio"),be.setAttribute("checked","checked"),be.setAttribute("name","t"),xe.appendChild(be),le.checkClone=xe.cloneNode(!0).cloneNode(!0).lastChild.checked,xe.innerHTML="",le.noCloneChecked=!!xe.cloneNode(!0).lastChild.defaultValue,xe.innerHTML="",le.option=!!xe.lastChild;var ke={thead:[1,"","
    "],col:[2,"","
    "],tr:[2,"","
    "],td:[3,"","
    "],_default:[0,"",""]};function Se(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&fe(e,t)?ce.merge([e],n):n}function Ee(e,t){for(var n=0,r=e.length;n",""]);var je=/<|&#?\w+;/;function Ae(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function Re(e,t){return fe(e,"table")&&fe(11!==t.nodeType?t:t.firstChild,"tr")&&ce(e).children("tbody")[0]||e}function Ie(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function We(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Fe(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(_.hasData(e)&&(s=_.get(e).events))for(i in _.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),C.head.appendChild(r[0])},abort:function(){i&&i()}}});var Jt,Kt=[],Zt=/(=)\?(?=&|$)|\?\?/;ce.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Kt.pop()||ce.expando+"_"+jt.guid++;return this[e]=!0,e}}),ce.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Zt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Zt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=v(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Zt,"$1"+r):!1!==e.jsonp&&(e.url+=(At.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||ce.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=ie[r],ie[r]=function(){o=arguments},n.always(function(){void 0===i?ce(ie).removeProp(r):ie[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Kt.push(r)),o&&v(i)&&i(o[0]),o=i=void 0}),"script"}),le.createHTMLDocument=((Jt=C.implementation.createHTMLDocument("").body).innerHTML="
    ",2===Jt.childNodes.length),ce.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(le.createHTMLDocument?((r=(t=C.implementation.createHTMLDocument("")).createElement("base")).href=C.location.href,t.head.appendChild(r)):t=C),o=!n&&[],(i=w.exec(e))?[t.createElement(i[1])]:(i=Ae([e],t,o),o&&o.length&&ce(o).remove(),ce.merge([],i.childNodes)));var r,i,o},ce.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(ce.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},ce.expr.pseudos.animated=function(t){return ce.grep(ce.timers,function(e){return t===e.elem}).length},ce.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=ce.css(e,"position"),c=ce(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=ce.css(e,"top"),u=ce.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),v(t)&&(t=t.call(e,n,ce.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},ce.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){ce.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===ce.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===ce.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=ce(e).offset()).top+=ce.css(e,"borderTopWidth",!0),i.left+=ce.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-ce.css(r,"marginTop",!0),left:t.left-i.left-ce.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===ce.css(e,"position"))e=e.offsetParent;return e||J})}}),ce.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;ce.fn[t]=function(e){return M(this,function(e,t,n){var r;if(y(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),ce.each(["top","left"],function(e,n){ce.cssHooks[n]=Ye(le.pixelPosition,function(e,t){if(t)return t=Ge(e,n),_e.test(t)?ce(e).position()[n]+"px":t})}),ce.each({Height:"height",Width:"width"},function(a,s){ce.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){ce.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return M(this,function(e,t,n){var r;return y(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?ce.css(e,t,i):ce.style(e,t,n,i)},s,n?e:void 0,n)}})}),ce.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){ce.fn[t]=function(e){return this.on(t,e)}}),ce.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.on("mouseenter",e).on("mouseleave",t||e)}}),ce.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){ce.fn[n]=function(e,t){return 0

    Configuration Reference

    -

    Version:4.8.0

    +

    Version:4.8.1

    diff --git a/4.8.x/guide/index.html b/4.8.x/guide/index.html index 265f3f9d..d9a1dd9a 100644 --- a/4.8.x/guide/index.html +++ b/4.8.x/guide/index.html @@ -117,7 +117,7 @@

    Table of Contents

    Micronaut Validation

    Validation support for Micronaut

    -

    Version: 4.8.0

    +

    Version: 4.8.1

    1 Introduction