1 16 package org.outerj.daisy.publisher.serverimpl.requestmodel; 17 18 import org.xml.sax.ContentHandler ; 19 20 import java.util.List ; 21 import java.util.ArrayList ; 22 import java.util.Iterator ; 23 24 public class ChooseRequest implements Request { 25 private final List whenBranches = new ArrayList (); 26 private ChooseOtherwise chooseOtherwise; 27 28 public void addWhen(ChooseWhen chooseWhen) { 29 this.whenBranches.add(chooseWhen); 30 } 31 32 public void setOtherwise(ChooseOtherwise chooseOtherwise) { 33 this.chooseOtherwise = chooseOtherwise; 34 } 35 36 public void process(ContentHandler contentHandler, PublisherContext publisherContext) throws Exception { 37 Iterator whenBranchesIt = whenBranches.iterator(); 38 while (whenBranchesIt.hasNext()) { 39 ChooseWhen chooseWhen = (ChooseWhen)whenBranchesIt.next(); 40 if (chooseWhen.matches(publisherContext)) { 41 chooseWhen.process(contentHandler, publisherContext); 42 return; 43 } 44 } 45 if (chooseOtherwise != null) { 46 chooseOtherwise.process(contentHandler, publisherContext); 47 } 48 } 49 } 50 | Popular Tags |