1 28 29 package com.caucho.relaxng.pattern; 30 31 import com.caucho.relaxng.RelaxException; 32 import com.caucho.relaxng.program.Item; 33 import com.caucho.relaxng.program.ZeroOrMoreItem; 34 35 38 public class ZeroOrMorePattern extends Pattern { 39 private GroupPattern _patterns = new GroupPattern(); 40 41 42 45 public ZeroOrMorePattern() 46 { 47 } 48 49 52 public ZeroOrMorePattern(Pattern pattern) 53 throws RelaxException 54 { 55 _patterns.addChild(pattern); 56 } 57 58 61 public String getTagName() 62 { 63 return "zeroOrMore"; 64 } 65 66 69 public void addChild(Pattern child) 70 throws RelaxException 71 { 72 _patterns.addChild(child); 73 } 74 75 78 public Pattern getPatterns() 79 { 80 return _patterns; 81 } 82 83 86 public Item createItem(GrammarPattern grammar) 87 throws RelaxException 88 { 89 return new ZeroOrMoreItem(_patterns.createItem(grammar)); 90 } 91 92 95 public String toProduction() 96 { 97 return "(" + _patterns.toProduction() + ")*"; 98 } 99 100 public int hashCode() 101 { 102 return 91 + _patterns.hashCode(); 103 } 104 105 public boolean equals(Object o) 106 { 107 if (this == o) 108 return true; 109 110 if (! (o instanceof ZeroOrMorePattern)) 111 return false; 112 113 ZeroOrMorePattern pattern = (ZeroOrMorePattern) o; 114 115 return _patterns.equals(pattern._patterns); 116 } 117 118 121 public String toString() 122 { 123 return "ZeroOrMorePattern" + _patterns; 124 } 125 } 126 127 | Popular Tags |