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.Cloneable
A class to represent a parse rule.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
ParseRule.Count
static class
ParseRule.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 ParseRule
addLookAhead(int aCount)
Adds a look ahead rule with given operator and count.ParseRule
addLookAhead(ParseRule aRule)
Adds a look ahead rule with given operator.ParseRule
addLookAhead(ParseRule.Op anOp, int aCount)
Adds a look ahead rule with given operator and count.ParseRule
addLookAhead(ParseRule.Op anOp, ParseRule aRule)
Adds a look ahead rule with given operator.ParseRule
addRule(ParseRule aRule)
Adds a child rule.ParseRule
addRule(ParseRule.Count aCount, ParseRule aRule)
Adds a child rule.ParseRule
addRule(ParseRule.Count aCount, java.lang.String aPattern)
Adds a rule for pattern.ParseRule
addRule(ParseRule.Count aCount, java.lang.String aName, java.lang.String aPattern)
Adds a rule for name and pattern.ParseRule
addRule(ParseRule.Op anOp, ParseRule aRule)
Adds a child rule.ParseRule
addRule(ParseRule.Op anOp, ParseRule.Count aCount, ParseRule aRule)
Adds a child rule.ParseRule
addRule(ParseRule.Op anOp, ParseRule.Count aCount, ParseRule aRule, int anIndex)
Adds a child rule.ParseRule
addRule(ParseRule.Op anOp, ParseRule.Count aCount, java.lang.String aPattern)
Adds a rule for pattern.ParseRule
addRule(ParseRule.Op anOp, ParseRule.Count aCount, java.lang.String aName, java.lang.String aPattern)
Adds a rule for name and pattern.ParseRule
addRule(ParseRule.Op anOp, java.lang.String aPattern)
Adds a rule for pattern.ParseRule
addRule(ParseRule.Op anOp, java.lang.String aName, java.lang.String aPattern)
Adds a rule for name and pattern.ParseRule
addRule(java.lang.String aPattern)
Adds a rule for pattern.ParseRule
addRule(java.lang.String aName, java.lang.String aPattern)
Adds a rule for name and pattern.void
addRules(ParseRule... theRules)
Adds child rules.ParseRule
clone()
Standard clone implementation.ParseHandler
getHandler()
Returns the handler for this rule.int
getLookAhead()
Returns the look ahead count.java.lang.String
getName()
Returns rule name.java.lang.String
getPattern()
Returns the rule pattern if simple pattern.java.util.regex.Pattern
getPatternCompiled()
Returns the pattern compiled.int
getPatternCompileFlags()
Returns pattern compile flags.ParseRule
getRule(int anIndex)
Returns the individual rule at index.int
getRuleCount()
Returns the number of rules.ParseRule.Count
getRuleCount(int anIndex)
Returns the individual rule count at index.ParseRule.Count
getRuleCount(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.Op
getRuleOp(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.int
getRulePathCount()
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.boolean
isAnonymous()
Returns whether rule is anonymous - true if rule has no name and no pattern.boolean
isLiteral()
Returns whether pattern is literal.boolean
isLookAhead()
Returns whether rule is look ahead.ParseRule
removeRule(int anIndex)
Removes a child rule.int
removeRule(ParseRule aRule)
Removes a child rule.void
setHandler(ParseHandler aHandler)
Sets the handler for this rule.ParseRule
setLiteral(boolean aFlag)
Sets whether pattern is literal.ParseRule
setLookAhead(int aValue)
Sets the look ahead count.void
setName(java.lang.String aName)
Sets rule name.ParseRule
setPattern(java.lang.String anPattern)
Sets the rule pattern if simple pattern.java.lang.String
toString()
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:
clone
in classjava.lang.Object
-
toString
public java.lang.String toString()
Returns a string representation.- Overrides:
toString
in classjava.lang.Object
-
-