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

io.quarkus.liquibase.LiquibaseDataSource Maven / Gradle / Ivy

package io.quarkus.liquibase;

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;
import static java.lang.annotation.RetentionPolicy.RUNTIME;

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

import jakarta.enterprise.util.AnnotationLiteral;
import jakarta.inject.Named;
import jakarta.inject.Qualifier;

/**
 * Qualifier used to specify which datasource will be used and therefore which Liquibase instance will be injected.
 * 

* Liquibase instances can also be qualified by name using @{@link Named}. * The name is the datasource name prefixed by "liquibase_". */ @Target({ METHOD, FIELD, PARAMETER, TYPE }) @Retention(RUNTIME) @Documented @Qualifier public @interface LiquibaseDataSource { String value(); /** * Supports inline instantiation of the {@link LiquibaseDataSource} qualifier. */ final class LiquibaseDataSourceLiteral extends AnnotationLiteral implements LiquibaseDataSource { public static final LiquibaseDataSourceLiteral INSTANCE = of(""); private static final long serialVersionUID = 1L; private final String value; public static LiquibaseDataSourceLiteral of(String value) { return new LiquibaseDataSourceLiteral(value); } @Override public String value() { return value; } private LiquibaseDataSourceLiteral(String value) { this.value = value; } @Override public String toString() { return "LiquibaseDataSourceLiteral [value=" + value + "]"; } } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy