org.drools.impl.adapters.KnowledgeBuilderConfigurationAdapter Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of knowledge-api Show documentation
Show all versions of knowledge-api Show documentation
The Drools and jBPM public API which is backwards compatible between releases.
package org.drools.impl.adapters;
import org.drools.builder.conf.KnowledgeBuilderOption;
import org.drools.builder.conf.MultiValueKnowledgeBuilderOption;
import org.drools.builder.conf.SingleValueKnowledgeBuilderOption;
import org.kie.internal.builder.KnowledgeBuilderConfiguration;
import java.util.Set;
import static org.drools.impl.adapters.AdapterUtil.adaptMultiValueBuilderOption;
import static org.drools.impl.adapters.AdapterUtil.adaptOption;
import static org.drools.impl.adapters.AdapterUtil.adaptSingleValueBuilderOption;
public class KnowledgeBuilderConfigurationAdapter implements org.drools.builder.KnowledgeBuilderConfiguration {
private final KnowledgeBuilderConfiguration delegate;
public KnowledgeBuilderConfigurationAdapter(KnowledgeBuilderConfiguration delegate) {
this.delegate = delegate;
}
public void setOption(T option) {
delegate.setOption(adaptOption(option));
}
public T getOption(Class option) {
return (T)delegate.getOption(adaptSingleValueBuilderOption(option));
}
public T getOption(Class option, String key) {
return (T)delegate.getOption(adaptMultiValueBuilderOption(option), key);
}
public Set getOptionKeys(Class option) {
return delegate.getOptionKeys(adaptMultiValueBuilderOption(option));
}
public void setProperty(String name, String value) {
delegate.setProperty(name, value);
}
public String getProperty(String name) {
return delegate.getProperty(name);
}
public KnowledgeBuilderConfiguration getDelegate() {
return delegate;
}
@Override
public int hashCode() {
return delegate.hashCode();
}
@Override
public boolean equals(Object obj) {
return obj instanceof KnowledgeBuilderConfigurationAdapter && delegate.equals(((KnowledgeBuilderConfigurationAdapter)obj).delegate);
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy