feast.common.validators.OneOfStrings Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of feast-common Show documentation
Show all versions of feast-common Show documentation
Feast common module with functionality that can be reused
/*
* SPDX-License-Identifier: Apache-2.0
* Copyright 2018-2020 The Feast Authors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package feast.common.validators;
import java.lang.annotation.*;
import javax.validation.Constraint;
import javax.validation.Payload;
/**
* Annotation for String "one of" validation. Allows for the definition of a collection through an
* annotation. The collection is used to test values defined in the object.
*/
@Target({
ElementType.METHOD,
ElementType.FIELD,
ElementType.ANNOTATION_TYPE,
ElementType.CONSTRUCTOR,
ElementType.PARAMETER
})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Constraint(validatedBy = OneOfStringValidator.class)
public @interface OneOfStrings {
/** @return Default error message that is returned if the incorrect value is set */
String message() default "Field value must be one of the following: {value}";
/** Allows for the specification of validation groups to which this constraint belongs. */
Class>[] groups() default {};
/** An attribute payload that can be used to assign custom payload objects to a constraint. */
Class extends Payload>[] payload() default {};
/** @return Default value that is returned if no allowed values are configured */
String[] value() default {};
}