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

drinkwater.ApplicationOptions Maven / Gradle / Ivy

package drinkwater;

public class ApplicationOptions {

    private boolean autoStart;

    private Class applicationBuilderClass;

    public ApplicationOptions() {

    }

    public Class getApplicationBuilderClass() {
        return applicationBuilderClass;
    }

    public boolean isAutoStart() {
        return autoStart;
    }

    public ApplicationOptions and(){
        return this;
    }

    public ApplicationOptions use(Class clazz){
        if(IApplicationBuilder.class.isAssignableFrom(clazz)){
            return useBuilder(clazz);
        }
        else{
            throw new RuntimeException("Application configuration exception, could not assign " + clazz +  " because it's not an inheritance of"
            + ApplicationBuilder.class.getName() + " or " + IBaseEventLogger.class);
        }
    }

    public ApplicationOptions useBuilder(Class clazz) {
        this.applicationBuilderClass = clazz;
        return this;
    }

    public ApplicationOptions autoStart() {
        this.autoStart = true;
        return this;
    }


//    public static ApplicationOptions from(IPropertyResolver resolver) {
//        try {
//            boolean useTracing =
//                    (Boolean) resolver.lookupProperty(Boolean.class, "useTracing:false");
//
//            boolean useServiceManagement =
//                    (Boolean) resolver.lookupProperty(Boolean.class, "useServiceManagement:false");
//
//            return new ApplicationOptions(useTracing, useServiceManagement);
//
//        } catch (Exception ex) {
//            throw new RuntimeException(ex);
//        }
//    }


}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy