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

pl.codewise.canaveral.core.ApplicationProvider Maven / Gradle / Ivy

package pl.codewise.canaveral.core;

import pl.codewise.canaveral.core.bean.BeanManager;
import pl.codewise.canaveral.core.bean.BeanProvider;
import pl.codewise.canaveral.core.runtime.ProgressAssertion;
import pl.codewise.canaveral.core.runtime.RunnerContext;

import java.util.Set;

public interface ApplicationProvider extends BeanProvider, BeanManager, ProgressAssertion {

    boolean isInitialized();

    String getProperty(String propertyKey, String defaultValue);

    FeatureToggleManager getFeatureToggleManager();

    void start(RunnerContext runnerContext);

    void clean();

    int getPort();

    String getEndpoint();

    interface FeatureToggleManager {

        void enableFeatureToggles(Set featureToggles);

        void reset();

        boolean isFeatureEnabled(T featureToggle);

        void enableFeatureToggle(T featureToggle);

        void clearFeature(T featureToggle);
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy