All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.strimzi.crdgenerator.annotations.OneOf Maven / Gradle / Ivy

There is a newer version: 0.44.0
Show newest version
/*
 * Copyright Strimzi authors.
 * License: Apache License 2.0 (see the file LICENSE or http://apache.org/licenses/LICENSE-2.0.html).
 */
package io.strimzi.crdgenerator.annotations;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.TYPE})
public @interface OneOf {
    /** @return List of alternatives */
    Alternative[] value();

    @interface Alternative {

        @interface Property {
            /** @return The name of a property */
            String value();
            /** @return Whether this property is required */
            boolean required() default true;
        }

        /** @return Properties in this alternative */
        Property[] value();
    }
}





© 2015 - 2024 Weber Informatics LLC | Privacy Policy