package lt.inventi.wicket.js;
public class JavaScriptSettings {
public static final JavaScriptSettingsBuilder newBuilder() {
return new JavaScriptSettingsBuilder() {
private JQueryUiBuilder jqueryUiBuilder;
private BootstrapJsBuilder bootstrapJsBuilder;
@Override
public JQueryUiBuilder withJqueryUi(JQueryUiBuilderFactory factory) {
jqueryUiBuilder = factory.newBuilder(this);
return jqueryUiBuilder;
}
@Override
public BootstrapJsBuilder withBootstrapJs(BootstrapJsBuilderFactory factory) {
bootstrapJsBuilder = factory.newBuilder(this);
return bootstrapJsBuilder;
}
@Override
public JavaScriptSettings build() {
return new JavaScriptSettings(
jqueryUiBuilder == null ? new JQueryUiSettings() : jqueryUiBuilder.build(),
bootstrapJsBuilder == null ? new BootstrapJsSettings() : bootstrapJsBuilder.build());
}
};
}
public final JQueryUiSettings jqueryUi;
public final BootstrapJsSettings bootstrapJs;
public JavaScriptSettings(JQueryUiSettings jqueryUiSettings, BootstrapJsSettings bootstrapJsSettings) {
this.jqueryUi = jqueryUiSettings;
this.bootstrapJs = bootstrapJsSettings;
}
public JavaScriptSettings() {
this.jqueryUi = new JQueryUiSettings();
this.bootstrapJs = new BootstrapJsSettings();
}
}