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

org.zodiac.autoconfigure.web.remote.EnableWebRemoteApiVersionManagement Maven / Gradle / Ivy

There is a newer version: 1.6.8
Show newest version
package org.zodiac.autoconfigure.web.remote;

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 org.springframework.context.annotation.Import;
import org.springframework.core.annotation.AliasFor;
import org.springframework.stereotype.Indexed;
import org.zodiac.autoconfigure.web.remote.smart.EnableSmartRequestMapping;
import org.zodiac.commons.support.SimpleVersionComparator;
import org.zodiac.core.remote.annotation.EnableRemoteApiVersionManagement;

/**
 * When enabled, the API multi version request control mapping processor is automatically configured.
 * 
 */
@Retention(RUNTIME)
@Target({ TYPE })
@Documented
@Indexed
//@EnableRemoteApiVersionManagement
@EnableSmartRequestMapping(overrideAmbiguousByOrder = true)
@Import({WebRemoteApiVersionMappingRegistrar.class })
public @interface EnableWebRemoteApiVersionManagement {

    @AliasFor(annotation = EnableRemoteApiVersionManagement.class)
    String[] value() default {};

    @AliasFor(annotation = EnableRemoteApiVersionManagement.class)
    String[] basePackages() default {};

    @AliasFor(annotation = EnableRemoteApiVersionManagement.class)
    Class[] basePackageClasses() default {};

    @AliasFor(annotation = EnableRemoteApiVersionManagement.class)
    boolean sensitiveParams() default false;

    @AliasFor(annotation = EnableRemoteApiVersionManagement.class)
    String[] versionParams() default { "_v" };

    @AliasFor(annotation = EnableRemoteApiVersionManagement.class)
    String[] groupParams() default { "platform" };

    @AliasFor(annotation = EnableRemoteApiVersionManagement.class)
    Class versionComparator() default SimpleVersionComparator.class;

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy