Class ParseRule
- java.lang.Object
-
- com.inductiveautomation.snap.parse.ParseRule
-
- All Implemented Interfaces:
java.lang.Cloneable
- Direct Known Subclasses:
JAnnotationParseRule,JExprParseRule,JFileParseRule,JLiteralParseRule,JStmtParseRule
public class ParseRule extends java.lang.Object implements java.lang.CloneableA class to represent a parse rule.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classParseRule.Countstatic classParseRule.Op
-
Constructor Summary
Constructors Constructor Description ParseRule()Creates a new parse rule.ParseRule(java.lang.String aName)Creates a new parse rule for given nameParseRule(java.lang.String aName, ParseHandler aHandler)Creates a new parse rule for given name and handler.ParseRule(java.lang.String aName, ParseRule... theRules)Creates a new parse rule for given nameParseRule(java.lang.String aName, java.lang.String aPattern)Creates a new parse rule for given name
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ParseRuleaddLookAhead(int aCount)Adds a look ahead rule with given operator and count.ParseRuleaddLookAhead(ParseRule aRule)Adds a look ahead rule with given operator.ParseRuleaddLookAhead(ParseRule.Op anOp, int aCount)Adds a look ahead rule with given operator and count.ParseRuleaddLookAhead(ParseRule.Op anOp, ParseRule aRule)Adds a look ahead rule with given operator.ParseRuleaddRule(ParseRule aRule)Adds a child rule.ParseRuleaddRule(ParseRule.Count aCount, ParseRule aRule)Adds a child rule.ParseRuleaddRule(ParseRule.Count aCount, java.lang.String aPattern)Adds a rule for pattern.ParseRuleaddRule(ParseRule.Count aCount, java.lang.String aName, java.lang.String aPattern)Adds a rule for name and pattern.ParseRuleaddRule(ParseRule.Op anOp, ParseRule aRule)Adds a child rule.ParseRuleaddRule(ParseRule.Op anOp, ParseRule.Count aCount, ParseRule aRule)Adds a child rule.ParseRuleaddRule(ParseRule.Op anOp, ParseRule.Count aCount, ParseRule aRule, int anIndex)Adds a child rule.ParseRuleaddRule(ParseRule.Op anOp, ParseRule.Count aCount, java.lang.String aPattern)Adds a rule for pattern.ParseRuleaddRule(ParseRule.Op anOp, ParseRule.Count aCount, java.lang.String aName, java.lang.String aPattern)Adds a rule for name and pattern.ParseRuleaddRule(ParseRule.Op anOp, java.lang.String aPattern)Adds a rule for pattern.ParseRuleaddRule(ParseRule.Op anOp, java.lang.String aName, java.lang.String aPattern)Adds a rule for name and pattern.ParseRuleaddRule(java.lang.String aPattern)Adds a rule for pattern.ParseRuleaddRule(java.lang.String aName, java.lang.String aPattern)Adds a rule for name and pattern.voidaddRules(ParseRule... theRules)Adds child rules.ParseRuleclone()Standard clone implementation.ParseHandlergetHandler()Returns the handler for this rule.intgetLookAhead()Returns the look ahead count.java.lang.StringgetName()Returns rule name.java.lang.StringgetPattern()Returns the rule pattern if simple pattern.java.util.regex.PatterngetPatternCompiled()Returns the pattern compiled.intgetPatternCompileFlags()Returns pattern compile flags.ParseRulegetRule(int anIndex)Returns the individual rule at index.intgetRuleCount()Returns the number of rules.ParseRule.CountgetRuleCount(int anIndex)Returns the individual rule count at index.ParseRule.CountgetRuleCount(int aPathIndex, int aRuleIndex)Returns the rule count for a given rule path and index in that rule path.java.util.List<ParseRule.Count>getRuleCounts()Returns the rule counts list.ParseRule.OpgetRuleOp(int anIndex)Returns the individual rule op at index.java.util.List<ParseRule.Op>getRuleOps()Returns the rule ops list.java.util.List<ParseRule>getRulePath(int anIndex)Returns the individual rule path at given index.intgetRulePathCount()Returns the number of rule paths.java.util.List<java.util.List<ParseRule>>getRulePaths()Returns the rule paths.java.util.List<ParseRule>getRules()Returns the child rules.booleanisAnonymous()Returns whether rule is anonymous - true if rule has no name and no pattern.booleanisLiteral()Returns whether pattern is literal.booleanisLookAhead()Returns whether rule is look ahead.ParseRuleremoveRule(int anIndex)Removes a child rule.intremoveRule(ParseRule aRule)Removes a child rule.voidsetHandler(ParseHandler aHandler)Sets the handler for this rule.ParseRulesetLiteral(boolean aFlag)Sets whether pattern is literal.ParseRulesetLookAhead(int aValue)Sets the look ahead count.voidsetName(java.lang.String aName)Sets rule name.ParseRulesetPattern(java.lang.String anPattern)Sets the rule pattern if simple pattern.java.lang.StringtoString()Returns a string representation.
-
-
-
Constructor Detail
-
ParseRule
public ParseRule()
Creates a new parse rule.
-
ParseRule
public ParseRule(java.lang.String aName)
Creates a new parse rule for given name
-
ParseRule
public ParseRule(java.lang.String aName, java.lang.String aPattern)Creates a new parse rule for given name
-
ParseRule
public ParseRule(java.lang.String aName, ParseRule... theRules)Creates a new parse rule for given name
-
ParseRule
public ParseRule(java.lang.String aName, ParseHandler aHandler)Creates a new parse rule for given name and handler.
-
-
Method Detail
-
getName
public java.lang.String getName()
Returns rule name.
-
setName
public void setName(java.lang.String aName)
Sets rule name.
-
getPattern
public java.lang.String getPattern()
Returns the rule pattern if simple pattern.
-
setPattern
public ParseRule setPattern(java.lang.String anPattern)
Sets the rule pattern if simple pattern.
-
isLiteral
public boolean isLiteral()
Returns whether pattern is literal.
-
setLiteral
public ParseRule setLiteral(boolean aFlag)
Sets whether pattern is literal.
-
getPatternCompiled
public java.util.regex.Pattern getPatternCompiled()
Returns the pattern compiled.
-
getPatternCompileFlags
public int getPatternCompileFlags()
Returns pattern compile flags.
-
isAnonymous
public boolean isAnonymous()
Returns whether rule is anonymous - true if rule has no name and no pattern.
-
getHandler
public ParseHandler getHandler()
Returns the handler for this rule.
-
setHandler
public void setHandler(ParseHandler aHandler)
Sets the handler for this rule.
-
isLookAhead
public boolean isLookAhead()
Returns whether rule is look ahead.
-
getLookAhead
public int getLookAhead()
Returns the look ahead count.
-
setLookAhead
public ParseRule setLookAhead(int aValue)
Sets the look ahead count.
-
getRuleCount
public int getRuleCount()
Returns the number of rules.
-
getRule
public ParseRule getRule(int anIndex)
Returns the individual rule at index.
-
getRuleOp
public ParseRule.Op getRuleOp(int anIndex)
Returns the individual rule op at index.
-
getRuleCount
public ParseRule.Count getRuleCount(int anIndex)
Returns the individual rule count at index.
-
getRules
public java.util.List<ParseRule> getRules()
Returns the child rules.
-
getRuleOps
public java.util.List<ParseRule.Op> getRuleOps()
Returns the rule ops list.
-
getRuleCounts
public java.util.List<ParseRule.Count> getRuleCounts()
Returns the rule counts list.
-
addRule
public ParseRule addRule(ParseRule.Op anOp, ParseRule aRule)
Adds a child rule.
-
addRule
public ParseRule addRule(ParseRule.Count aCount, ParseRule aRule)
Adds a child rule.
-
addRule
public ParseRule addRule(ParseRule.Op anOp, ParseRule.Count aCount, ParseRule aRule)
Adds a child rule.
-
addRule
public ParseRule addRule(ParseRule.Op anOp, ParseRule.Count aCount, ParseRule aRule, int anIndex)
Adds a child rule.
-
removeRule
public ParseRule removeRule(int anIndex)
Removes a child rule.
-
removeRule
public int removeRule(ParseRule aRule)
Removes a child rule.
-
addRule
public ParseRule addRule(java.lang.String aPattern)
Adds a rule for pattern.
-
addRule
public ParseRule addRule(ParseRule.Op anOp, java.lang.String aPattern)
Adds a rule for pattern.
-
addRule
public ParseRule addRule(ParseRule.Count aCount, java.lang.String aPattern)
Adds a rule for pattern.
-
addRule
public ParseRule addRule(ParseRule.Op anOp, ParseRule.Count aCount, java.lang.String aPattern)
Adds a rule for pattern.
-
addRule
public ParseRule addRule(java.lang.String aName, java.lang.String aPattern)
Adds a rule for name and pattern.
-
addRule
public ParseRule addRule(ParseRule.Op anOp, java.lang.String aName, java.lang.String aPattern)
Adds a rule for name and pattern.
-
addRule
public ParseRule addRule(ParseRule.Count aCount, java.lang.String aName, java.lang.String aPattern)
Adds a rule for name and pattern.
-
addRule
public ParseRule addRule(ParseRule.Op anOp, ParseRule.Count aCount, java.lang.String aName, java.lang.String aPattern)
Adds a rule for name and pattern.
-
addRules
public void addRules(ParseRule... theRules)
Adds child rules.
-
addLookAhead
public ParseRule addLookAhead(int aCount)
Adds a look ahead rule with given operator and count.
-
addLookAhead
public ParseRule addLookAhead(ParseRule.Op anOp, int aCount)
Adds a look ahead rule with given operator and count.
-
addLookAhead
public ParseRule addLookAhead(ParseRule aRule)
Adds a look ahead rule with given operator.
-
addLookAhead
public ParseRule addLookAhead(ParseRule.Op anOp, ParseRule aRule)
Adds a look ahead rule with given operator.
-
getRulePathCount
public int getRulePathCount()
Returns the number of rule paths.
-
getRulePath
public java.util.List<ParseRule> getRulePath(int anIndex)
Returns the individual rule path at given index.
-
getRulePaths
public java.util.List<java.util.List<ParseRule>> getRulePaths()
Returns the rule paths.
-
getRuleCount
public ParseRule.Count getRuleCount(int aPathIndex, int aRuleIndex)
Returns the rule count for a given rule path and index in that rule path.
-
clone
@Nullable public ParseRule clone()
Standard clone implementation.- Overrides:
clonein classjava.lang.Object
-
toString
public java.lang.String toString()
Returns a string representation.- Overrides:
toStringin classjava.lang.Object
-
-