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

io.takari.builder.InputDirectory Maven / Gradle / Ivy

package io.takari.builder;

import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.RetentionPolicy.RUNTIME;

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

/**
 * Indicates that annotated element is an input directory parameter.
 */
@Target({FIELD})
@Retention(RUNTIME)
public @interface InputDirectory {

  /**
   * If {@code filesRequired=true}, the injected parameter value will be an existing directory that
   * has matching files.
   * 
   * 

* If {@code filesRequired=false}, the injected parameter value may be {@code null}, be a * directory that does not exist, existing directory with or without matching files. */ boolean filesRequired() default false; /** * Input directory location. If configured, the location cannot be changed/overridden in pom.xml * {@code } section. Cannot be used together with {@link #defaultValue()}. * * @see Parameter#value() * @see #defaultValue() */ String[] value() default {}; /** * Default input directory location. Can be changed/overridden in pom.xml {@code } * section. Cannot be used together with {@link #value()}. * * @see Parameter#defaultValue() * @see #value() */ String[] defaultValue() default {}; /** * Ant-like file includes patterns. Cannot be changed/overridden in pom.xml * {@code } section. */ String[] includes(); /** * Ant-like file excludes patterns. No files are excluded by default. Cannot be changed/overridden * in pom.xml {@code } section. */ String[] excludes() default {}; }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy