EXIficient

com.siemens.ct.exi.grammar.rule
Class AbstractSchemaInformedRule

java.lang.Object
  extended by com.siemens.ct.exi.grammar.rule.AbstractRule
      extended by com.siemens.ct.exi.grammar.rule.AbstractSchemaInformedRule
All Implemented Interfaces:
Rule, SchemaInformedRule
Direct Known Subclasses:
AbstractSchemaInformedRuleContent, RuleDocContentSchemaInformed, RuleDocEnd, RuleDocument, RuleFragment, RuleFragmentContentSchemaInformed

public abstract class AbstractSchemaInformedRule
extends AbstractRule
implements SchemaInformedRule

TODO Description

Version:
0.3.20081009
Author:
Daniel.Peintner.EXT@siemens.com, Joerg.Heuer@siemens.com

Constructor Summary
AbstractSchemaInformedRule()
           
AbstractSchemaInformedRule(java.lang.String label)
           
 
Method Summary
 void addRule(Event event, Rule rule)
           
 SchemaInformedRule duplicate()
           
 Event get1stLevelEvent(int eventCode)
           
 int get1stLevelEventCode(Event event)
           
 int get1stLevelEventCodeLength(FidelityOptions fidelityOptions)
           
 Rule get1stLevelRule(int ec)
           
 int getLeastAttributeEventCode()
           
 int getNumberOfEvents()
           
 int getNumberOfSchemaDeviatedAttributes()
           
 SchemaInformedRule getTypeEmpty()
           
 boolean isSchemaRule()
           
 void joinRules(Rule rule)
           
 void resolveLambdaTransitions()
           
 void setFirstElementRule()
           
 void setHasNamedSubtypes(boolean hasNamedSubtypes)
           
 void setNillable(boolean nil, SchemaInformedRule typeEmpty)
           
 java.lang.String toString()
           
 
Methods inherited from class com.siemens.ct.exi.grammar.rule.AbstractRule
addTerminalRule, equals, get3rdLevelCharacteristics, get3rdLevelEvent, get3rdLevelEventCode, getElementContentRule, getElementContentRuleForUndeclaredSE, getLabel, hasSecondOrThirdLevel, isTerminalRule, learnAttribute, learnCharacters, learnEndElement, learnStartElement, setLabel
 
Methods inherited from class java.lang.Object
getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface com.siemens.ct.exi.grammar.rule.SchemaInformedRule
getLabel, setLabel
 
Methods inherited from interface com.siemens.ct.exi.grammar.rule.Rule
addTerminalRule, get2ndLevelCharacteristics, get2ndLevelEvent, get2ndLevelEventCode, get3rdLevelCharacteristics, get3rdLevelEvent, get3rdLevelEventCode, getElementContentRule, getElementContentRuleForUndeclaredSE, hasSecondOrThirdLevel, isTerminalRule, learnAttribute, learnCharacters, learnEndElement, learnStartElement
 

Constructor Detail

AbstractSchemaInformedRule

public AbstractSchemaInformedRule()

AbstractSchemaInformedRule

public AbstractSchemaInformedRule(java.lang.String label)
Method Detail

isSchemaRule

public final boolean isSchemaRule()
Specified by:
isSchemaRule in interface Rule

get1stLevelEventCodeLength

public int get1stLevelEventCodeLength(FidelityOptions fidelityOptions)
Specified by:
get1stLevelEventCodeLength in interface Rule

get1stLevelEventCode

public int get1stLevelEventCode(Event event)
Specified by:
get1stLevelEventCode in interface Rule

get1stLevelEvent

public Event get1stLevelEvent(int eventCode)
Specified by:
get1stLevelEvent in interface Rule

setHasNamedSubtypes

public void setHasNamedSubtypes(boolean hasNamedSubtypes)
Specified by:
setHasNamedSubtypes in interface SchemaInformedRule

setNillable

public void setNillable(boolean nil,
                        SchemaInformedRule typeEmpty)
Specified by:
setNillable in interface SchemaInformedRule

getTypeEmpty

public SchemaInformedRule getTypeEmpty()
Specified by:
getTypeEmpty in interface SchemaInformedRule

setFirstElementRule

public void setFirstElementRule()
Specified by:
setFirstElementRule in interface SchemaInformedRule

getNumberOfSchemaDeviatedAttributes

public int getNumberOfSchemaDeviatedAttributes()
Specified by:
getNumberOfSchemaDeviatedAttributes in interface SchemaInformedRule

getLeastAttributeEventCode

public int getLeastAttributeEventCode()
Specified by:
getLeastAttributeEventCode in interface SchemaInformedRule

resolveLambdaTransitions

public void resolveLambdaTransitions()
Specified by:
resolveLambdaTransitions in interface SchemaInformedRule

getNumberOfEvents

public int getNumberOfEvents()
Specified by:
getNumberOfEvents in interface Rule

get1stLevelRule

public Rule get1stLevelRule(int ec)
                     throws java.lang.IndexOutOfBoundsException
Specified by:
get1stLevelRule in interface Rule
Throws:
java.lang.IndexOutOfBoundsException

addRule

public void addRule(Event event,
                    Rule rule)
Specified by:
addRule in interface Rule

joinRules

public void joinRules(Rule rule)
Specified by:
joinRules in interface SchemaInformedRule

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

duplicate

public SchemaInformedRule duplicate()
Specified by:
duplicate in interface SchemaInformedRule

EXIficient