1 package jp.ac.aiit.xdf.core.selector;
3 import java.util.ArrayList;
6 import jp.ac.aiit.xdf.core.model.ObjectModel;
9 * @author Shunichi Takagi
12 public class Selector {
13 private List<RuleSequence> ruleSequences;
19 public Selector(String selector) {
20 this( extractRuleSequences(selector) );
25 * @param ruleSequences
27 public Selector(List<RuleSequence> ruleSequences) {
28 this.ruleSequences = ruleSequences;
31 private static List<RuleSequence> extractRuleSequences(String selector) {
32 List<RuleSequence> ruleSequences = new ArrayList<RuleSequence>();
33 String[] ruleSeqStrings = selector.split(",");
35 for(String ruleSeqString : ruleSeqStrings) {
36 ruleSequences.add( new RuleSequence(ruleSeqString.trim()) );
45 * @return オブジェクトモデルリスト
47 public List<ObjectModel> find(ObjectModel findRoot) {
48 List<ObjectModel> result = new ArrayList<ObjectModel>();
49 for(RuleSequence ruleSequence : ruleSequences) {
50 result.addAll( ruleSequence.find(findRoot) );
60 * @return オブジェクトモデルリスト
62 public static List<ObjectModel> find(String selector, ObjectModel findRoot) {
63 return new Selector(selector).find(findRoot);