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

org.zodiac.autoconfigure.eureka.condition.ConditionalOnEurekaClientEnabled Maven / Gradle / Ivy

There is a newer version: 1.6.8
Show newest version
package org.zodiac.autoconfigure.eureka.condition;

import org.springframework.boot.autoconfigure.condition.AllNestedConditions;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Conditional;
import org.zodiac.eureka.base.constants.EurekaBaseSystemPropertiesConstants;

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, ElementType.METHOD})
@ConditionalOnEurekaEnabled
@Conditional({ConditionalOnEurekaClientEnabled.OnEurekaEnabledCondition.class})
public @interface ConditionalOnEurekaClientEnabled {

    class OnEurekaEnabledCondition extends AllNestedConditions {

        public OnEurekaEnabledCondition() {
            super(ConfigurationPhase.REGISTER_BEAN);
        }

        @ConditionalOnClass(com.netflix.discovery.EurekaClientConfig.class)
        static class FoundClass {

        }

        @ConditionalOnProperty(value = EurekaBaseSystemPropertiesConstants.EUREKA_CLIENT_ENABLED, havingValue = "true")
        static class FoundProperty {

        }

    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy