/* * Copyright 2016 Red Hat, Inc. and/or its affiliates. * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of * the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the * License for the specific language governing permissions and limitations under * the License. */ package org.drools.workbench.services.verifier.plugin.client.builders; import org.drools.workbench.models.datamodel.util.PortablePreconditions; import org.drools.workbench.models.guided.dtable.shared.model.GuidedDecisionTable52; import org.drools.workbench.services.verifier.api.client.configuration.AnalyzerConfiguration; import org.drools.workbench.services.verifier.api.client.index.Index; import org.drools.workbench.services.verifier.plugin.client.api.HeaderMetaData; public class BuilderFactory { private final VerifierColumnUtilities utils; private final Index index; private final GuidedDecisionTable52 model; private HeaderMetaData headerMetaData; private final AnalyzerConfiguration configuration; public BuilderFactory( final VerifierColumnUtilities utils, final Index index, final GuidedDecisionTable52 model, final HeaderMetaData headerMetaData, final AnalyzerConfiguration configuration ) { this.utils = PortablePreconditions.checkNotNull( "utils", utils ); this.index = PortablePreconditions.checkNotNull( "index", index ); this.model = PortablePreconditions.checkNotNull( "model", model ); this.headerMetaData = PortablePreconditions.checkNotNull( "headerMetaData", headerMetaData ); this.configuration = PortablePreconditions.checkNotNull( "configuration", configuration ); } public CellBuilder getCellBuilder() { return new CellBuilder( this ); } public RuleBuilder getRuleBuilder() { return new RuleBuilder( this, model, configuration ); } public ColumnBuilder getColumnBuilder() { return new ColumnBuilder( configuration ); } public ActionBuilder getActionBuilder() { return new ActionBuilder( this, index, configuration ); } public BRLConditionBuilder getBRLConditionBuilder() { return new BRLConditionBuilder( index, utils, configuration ); } public FieldConditionBuilder getFieldConditionsBuilder() { return new FieldConditionBuilder( this, index, utils, configuration ); } public PatternResolver getPatternResolver() { return new PatternResolver( index, headerMetaData, configuration ); } public FieldResolver getFieldResolver() { return new FieldResolver( this, headerMetaData, configuration ); } public ConditionBuilder getConditionBuilder() { return new ConditionBuilder(this); } }