| /** |
| ******************************************************************************** |
| * Copyright (c) 2019-2020 Robert Bosch GmbH and others. |
| * |
| * This program and the accompanying materials are made |
| * available under the terms of the Eclipse Public License 2.0 |
| * which is available at https://www.eclipse.org/legal/epl-2.0/ |
| * |
| * SPDX-License-Identifier: EPL-2.0 |
| * |
| * Contributors: |
| * Robert Bosch GmbH - initial API and implementation |
| ******************************************************************************** |
| */ |
| |
| package org.eclipse.app4mc.validation.annotation; |
| |
| import java.lang.annotation.ElementType; |
| import java.lang.annotation.Retention; |
| import java.lang.annotation.RetentionPolicy; |
| import java.lang.annotation.Target; |
| |
| /** |
| * Annotation for validation classes. |
| * |
| * Classes annotated as Validation can be run through a profile annotated with {@link ValidationGroup}. |
| * Requires the specification of a target type on which the validation shall be executed. |
| */ |
| |
| @Retention(RetentionPolicy.RUNTIME) |
| @Target(ElementType.TYPE) |
| public @interface Validation { |
| |
| /** |
| * @return the message id of the validation |
| */ |
| String id(); |
| |
| /** |
| * @return short description of all checks performed by the validation |
| */ |
| String[] checks() default {}; |
| } |