Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright 2010 JBoss Inc
   *
   * 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.planner.config.localsearch.decider.selector;
 
 import java.util.List;
 
 
 @XStreamAlias("selector")
 public class SelectorConfig {
 
     @XStreamImplicit(itemFieldName = "selector")
     private List<SelectorConfigselectorConfigList = null;
 
     private MoveFactory moveFactory = null;
     private Class<? extends MoveFactorymoveFactoryClass = null;
     protected Boolean shuffle = null;
 
     private Integer topSize = null;
 
         return ;
     }
 
     public void setSelectorConfigList(List<SelectorConfigselectorConfigList) {
         this. = selectorConfigList;
     }
 
     public MoveFactory getMoveFactory() {
         return ;
     }
 
     public void setMoveFactory(MoveFactory moveFactory) {
         this. = moveFactory;
     }
 
     public Class<? extends MoveFactorygetMoveFactoryClass() {
         return ;
     }
 
     public void setMoveFactoryClass(Class<? extends MoveFactorymoveFactoryClass) {
         this. = moveFactoryClass;
     }
 
     public Boolean getShuffle() {
         return ;
     }
 
     public void setShuffle(Boolean shuffle) {
         this. = shuffle;
     }
 
     public Integer getTopSize() {
         return ;
     }
 
     public void setTopSize(Integer topSize) {
         this. = topSize;
     }
 
     // ************************************************************************
     // Builder methods
     // ************************************************************************
 
     public Selector buildSelector(ScoreDefinition scoreDefinition) {
         if ( != null) {
             List<SelectorselectorList = new ArrayList<Selector>(.size());
             for (SelectorConfig selectorConfig : ) {
                 selectorList.add(selectorConfig.buildSelector(scoreDefinition));
             }
             CompositeSelector selector = new CompositeSelector();
             selector.setSelectorList(selectorList);
             return selector;
         } else if ( != null ||  != null) {
             MoveFactory initializedMoveFactory;
             if ( != null) {
                 initializedMoveFactory = ;
            } else {
                try {
                    initializedMoveFactory = .newInstance();
                } catch (InstantiationException e) {
                    throw new IllegalArgumentException("The moveFactoryClass (" + .getName()
                            + ") does not have a public no-arg constructor"e);
                } catch (IllegalAccessException e) {
                    throw new IllegalArgumentException("The moveFactoryClass (" + .getName()
                            + ") does not have a public no-arg constructor"e);
                }
            }
            MoveFactorySelector selector = new MoveFactorySelector();
            selector.setMoveFactory(initializedMoveFactory);
            boolean shuffleValue = ( == null) ?  true : .booleanValue();
            selector.setShuffle(shuffleValue);
            return selector;
        } else if ( != null) {
            TopListSelector selector = new TopListSelector();
            selector.setTopSize();
            return selector;
        } else {
            throw new IllegalArgumentException("A selector requires configuration, for example a moveFactoryClass.");
        }
    }
    public void inherit(SelectorConfig inheritedConfig) {
        if ( == null &&  == null) {
             = inheritedConfig.getMoveFactory();
             = inheritedConfig.getMoveFactoryClass();
        }
        if ( == null) {
             = inheritedConfig.getSelectorConfigList();
        } else {
            List<SelectorConfiginheritedSelectorConfigList = inheritedConfig.getSelectorConfigList();
            if (inheritedSelectorConfigList != null) {
                for (SelectorConfig selectorConfig : inheritedSelectorConfigList) {
                    .add(selectorConfig);
                }
            }
        }
        if ( == null) {
             = inheritedConfig.getShuffle();
        }
        if ( == null) {
             = inheritedConfig.getTopSize();
        }
    }
New to GrepCode? Check out our FAQ X