/*
* Copyright 2014 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.screens.guided.rule.backend.server;
import java.util.List;
import org.drools.workbench.models.datamodel.imports.Imports;
import org.drools.workbench.models.datamodel.rule.ActionInsertFact;
import org.drools.workbench.models.datamodel.rule.BaseSingleFieldConstraint;
import org.drools.workbench.models.datamodel.rule.FactPattern;
import org.drools.workbench.models.datamodel.rule.FieldConstraint;
import org.drools.workbench.models.datamodel.rule.IAction;
import org.drools.workbench.models.datamodel.rule.IPattern;
import org.drools.workbench.models.datamodel.rule.RuleAttribute;
import org.drools.workbench.models.datamodel.rule.RuleMetadata;
import org.drools.workbench.models.datamodel.rule.RuleModel;
import org.drools.workbench.models.datamodel.rule.SingleFieldConstraint;
/**
* Delegating RuleModel that controls whether the RuleModel should be rendered with DSL expansions
*/
public class RuleModelWrapper extends RuleModel {
private final RuleModel model;
private final boolean hasDSLSentences;
public RuleModelWrapper( final RuleModel model,
final boolean hasDSLSentences ) {
this.model = model;
this.hasDSLSentences = hasDSLSentences;
this.name = model.name;
this.parentName = model.parentName;
this.attributes = model.attributes;
this.metadataList = model.metadataList;
this.lhs = model.lhs;
this.rhs = model.rhs;
}
@Override
public List<String> getLHSBoundFacts() {
return model.getLHSBoundFacts();
}
@Override
public FactPattern getLHSBoundFact( String var ) {
return model.getLHSBoundFact( var );
}
@Override
public SingleFieldConstraint getLHSBoundField( String var ) {
return model.getLHSBoundField( var );
}
@Override
public String getLHSBindingType( String var ) {
return model.getLHSBindingType( var );
}
@Override
public String getFieldBinding( FieldConstraint fc,
String var ) {
return model.getFieldBinding( fc, var );
}
@Override
public List<String> getRHSBoundFacts() {
return model.getRHSBoundFacts();
}
@Override
public ActionInsertFact getRHSBoundFact( String var ) {
return model.getRHSBoundFact( var );
}
@Override
public FactPattern getLHSParentFactPatternForBinding( String var ) {
return model.getLHSParentFactPatternForBinding( var );
}
@Override
public List<String> getAllLHSVariables() {
return model.getAllLHSVariables();
}
@Override
public List<String> getAllRHSVariables() {
return model.getAllRHSVariables();
}
@Override
public List<String> getAllVariables() {
return model.getAllVariables();
}
@Override
public List<String> getFieldBinding( FieldConstraint f ) {
return model.getFieldBinding( f );
}
@Override
public boolean removeLhsItem( int idx ) {
return model.removeLhsItem( idx );
}
@Override
public boolean isBoundFactUsed( String binding ) {
return model.isBoundFactUsed( binding );
}
@Override
public void addLhsItem( IPattern pat ) {
model.addLhsItem( pat );
}
@Override
public void addLhsItem( IPattern pat,
boolean append ) {
model.addLhsItem( pat, append );
}
@Override
public void addLhsItem( IPattern pat,
int position ) {
model.addLhsItem( pat, position );
}
@Override
public void moveLhsItemDown( int itemIndex ) {
model.moveLhsItemDown( itemIndex );
}
@Override
public void moveLhsItemUp( int itemIndex ) {
model.moveLhsItemUp( itemIndex );
}
@Override
public void moveRhsItemDown( int itemIndex ) {
model.moveRhsItemDown( itemIndex );
}
@Override
public void moveRhsItemUp( int itemIndex ) {
model.moveRhsItemUp( itemIndex );
}
@Override
public void addRhsItem( IAction action ) {
model.addRhsItem( action );
}
@Override
public void addRhsItem( IAction action,
boolean append ) {
model.addRhsItem( action, append );
}
@Override
public void addRhsItem( IAction action,
int position ) {
model.addRhsItem( action, position );
}
@Override
public void removeRhsItem( int idx ) {
model.removeRhsItem( idx );
}
@Override
public void addAttribute( RuleAttribute attribute ) {
model.addAttribute( attribute );
}
@Override
public void removeAttribute( int idx ) {
model.removeAttribute( idx );
}
@Override
public void addMetadata( RuleMetadata metadata ) {
model.addMetadata( metadata );
}
@Override
public void removeMetadata( int idx ) {
model.removeMetadata( idx );
}
@Override
public RuleMetadata getMetaData( String attributeName ) {
return model.getMetaData( attributeName );
}
@Override
public boolean updateMetadata( RuleMetadata target ) {
return model.updateMetadata( target );
}
@Override
public List<String> getBoundVariablesInScope( BaseSingleFieldConstraint con ) {
return model.getBoundVariablesInScope( con );
}
@Override
public boolean isVariableNameUsed( String s ) {
return model.isVariableNameUsed( s );
}
@Override
public boolean hasDSLSentences() {
return this.hasDSLSentences;
}
@Override
public boolean isNegated() {
return model.isNegated();
}
@Override
public void setNegated( boolean isNegated ) {
model.setNegated( isNegated );
}
@Override
public Imports getImports() {
return model.getImports();
}
@Override
public void setImports( Imports imports ) {
model.setImports( imports );
}
@Override
public String getPackageName() {
return model.getPackageName();
}
@Override
public void setPackageName( String packageName ) {
model.setPackageName( packageName );
}
}