net.percederberg.mib.asn1.analysis
Class TreePrinter

java.lang.Object
  |
  +--net.percederberg.mib.asn1.analysis.TreeWalker
        |
        +--net.percederberg.mib.asn1.analysis.DepthFirstAdapter
              |
              +--net.percederberg.mib.asn1.analysis.TreePrinter
All Implemented Interfaces:
Switch

public class TreePrinter
extends DepthFirstAdapter

This class provides a tree printing mechanism. The tree is traversed in depth first order and all nodes in it are printed.

Version:
1.0
Author:
Per Cederberg, per@percederberg.net

Constructor Summary
TreePrinter(java.io.PrintWriter out)
          Creates a new tree printer with an indentation step of 2.
TreePrinter(java.io.PrintWriter out, int indentStep)
          Creates a new tree printer with the given indentation step.
 
Method Summary
protected  void defaultIn(Node node)
          A default method called from all inX methods.
protected  void defaultOut(Node node)
          A default method called from all outX methods.
 
Methods inherited from class net.percederberg.mib.asn1.analysis.DepthFirstAdapter
caseAlphabetConstraint, caseAnyType, caseAssignment, caseAssignmentList, caseBinaryString, caseBitStringType, caseBooleanValue, caseBuiltinType, caseBuiltinValue, caseCharString, caseChoiceType, caseClass, caseClassNumber, caseComplianceGroup, caseComplianceObject, caseConstraint, caseConstraintList, caseDefinedMacroName, caseDefinedMacroType, caseDefinedType, caseDefinedValue, caseElementType, caseElementTypeList, caseEnumeratedType, caseEOF, caseExports, caseHexString, caseIdentifier, caseImports, caseIntegerType, caseLowerEndPoint, caseMacroBody, caseMacroDefinition, caseMacroReference, caseModuleBody, caseModuleDefinition, caseModuleIdentifier, caseModuleReference, caseNameAndNumberForm, caseNamedBit, caseNamedBits, caseNamedNumber, caseNamedNumberList, caseNamedType, caseNamedValue, caseNullValue, caseNumber, caseObjectIdentifierValue, caseObjIdComponent, caseObjIdComponentList, caseSelectionType, caseSequenceOfType, caseSequenceType, caseSetOfType, caseSetType, caseSignedNumber, caseSizeConstraint, caseSkipToEND, caseSnmpAccessPart, caseSnmpAgentCapabilitiesMacroType, caseSnmpCompliancePart, caseSnmpContactPart, caseSnmpCreationPart, caseSnmpDefValPart, caseSnmpDescrPart, caseSnmpDisplayPart, caseSnmpEnterprisePart, caseSnmpIndexPart, caseSnmpMandatoryPart, caseSnmpModuleComplianceMacroType, caseSnmpModuleIdentityMacroType, caseSnmpModulePart, caseSnmpModuleSupportPart, caseSnmpNotificationGroupMacroType, caseSnmpNotificationsPart, caseSnmpNotificationTypeMacroType, caseSnmpObjectGroupMacroType, caseSnmpObjectIdentityMacroType, caseSnmpObjectsPart, caseSnmpObjectTypeMacroType, caseSnmpOrganizationPart, caseSnmpProductReleasePart, caseSnmpReferPart, caseSnmpRevisionPart, caseSnmpStatusPart, caseSnmpSyntaxPart, caseSnmpTextualConventionMacroType, caseSnmpTrapTypeMacroType, caseSnmpUnitsPart, caseSnmpUpdatePart, caseSnmpVariationPart, caseSnmpVarPart, caseSnmpWriteSyntaxPart, caseSpecialRealValue, caseStart, caseStringType, caseSymbol, caseSymbolList, caseSymbolsFromModule, caseSymbolsFromModuleList, caseTABSENT, caseTACCESS, caseTag, caseTagDefault, caseTAGENT_CAPABILITIES, caseTaggedType, caseTANY, caseTAPPLICATION, caseTASSIGN, caseTAUGMENTS, caseTBAR, caseTBEGIN, caseTBINSTRING, caseTBIT, caseTBITS, caseTBOOLEAN, caseTBY, caseTCHOICE, caseTCOMMA, caseTCOMPONENT, caseTCOMPONENTS, caseTCONTACT_INFO, caseTCREATION_REQUIRES, caseTCSTRING, caseTDEFAULT, caseTDEFINED, caseTDEFINITIONS, caseTDEFVAL, caseTDESCRIPTION, caseTDISPLAY_HINT, caseTDOT, caseTEND, caseTENTERPRISE, caseTENUMERATED, caseTEXPLICIT, caseTEXPORTS, caseTFALSE, caseTFROM, caseTGROUP, caseTHEXSTRING, caseTIDENT, caseTIDENTIFIER, caseTIMPLICIT, caseTIMPLIED, caseTIMPORTS, caseTINCLUDES, caseTINDEX, caseTINTEGER, caseTLAST_UPDATED, caseTLEFTBRACE, caseTLEFTBRACKET, caseTLEFTPAREN, caseTLESSTHAN, caseTMACRO, caseTMANDATORY_GROUPS, caseTMAX_ACCESS, caseTMAX, caseTMIN_ACCESS, caseTMIN, caseTMINUS_INFINITY, caseTMINUS, caseTMODULE_COMPLIANCE, caseTMODULE_IDENTITY, caseTMODULE, caseTNOTIFICATION_GROUP, caseTNOTIFICATION_TYPE, caseTNOTIFICATIONS, caseTNULL, caseTNUMBER, caseTOBJECT_GROUP, caseTOBJECT_IDENTITY, caseTOBJECT_TYPE, caseTOBJECT, caseTOBJECTS, caseTOCTET, caseTOF, caseTOPTIONAL, caseTORGANIZATION, caseTPLUS_INFINITY, caseTPRESENT, caseTPRIVATE, caseTPRODUCT_RELEASE, caseTREAL, caseTREFERENCE, caseTREVISION, caseTRIGHTBRACE, caseTRIGHTBRACKET, caseTRIGHTPAREN, caseTSEMI_COLON, caseTSEQUENCE, caseTSET, caseTSIZE, caseTSTATUS, caseTSTRING, caseTSUPPORTS, caseTSYNTAX, caseTTAGS, caseTTEXTUAL_CONVENTION, caseTTRAP_TYPE, caseTTRUE, caseTUNITS, caseTUNIVERSAL, caseTVARIABLES, caseTVARIATION, caseTWITH, caseTWRITE_SYNTAX, caseType, caseTypeAssignment, caseTypeOrBits, caseTypeOrValue, caseTypeOrValueList, caseTypeReference, caseUpperEndPoint, caseValue, caseValueAssignment, caseValueConstraint, caseValueList, caseValueRange, caseVarTypes, defaultCase, inAlphabetConstraint, inAnyType, inAssignment, inAssignmentList, inBinaryString, inBitStringType, inBooleanValue, inBuiltinType, inBuiltinValue, inCharString, inChoiceType, inClass, inClassNumber, inComplianceGroup, inComplianceObject, inConstraint, inConstraintList, inDefinedMacroName, inDefinedMacroType, inDefinedType, inDefinedValue, inElementType, inElementTypeList, inEnumeratedType, inEOF, inExports, inHexString, inIdentifier, inImports, inIntegerType, inLowerEndPoint, inMacroBody, inMacroDefinition, inMacroReference, inModuleBody, inModuleDefinition, inModuleIdentifier, inModuleReference, inNameAndNumberForm, inNamedBit, inNamedBits, inNamedNumber, inNamedNumberList, inNamedType, inNamedValue, inNullValue, inNumber, inObjectIdentifierValue, inObjIdComponent, inObjIdComponentList, inSelectionType, inSequenceOfType, inSequenceType, inSetOfType, inSetType, inSignedNumber, inSizeConstraint, inSkipToEND, inSnmpAccessPart, inSnmpAgentCapabilitiesMacroType, inSnmpCompliancePart, inSnmpContactPart, inSnmpCreationPart, inSnmpDefValPart, inSnmpDescrPart, inSnmpDisplayPart, inSnmpEnterprisePart, inSnmpIndexPart, inSnmpMandatoryPart, inSnmpModuleComplianceMacroType, inSnmpModuleIdentityMacroType, inSnmpModulePart, inSnmpModuleSupportPart, inSnmpNotificationGroupMacroType, inSnmpNotificationsPart, inSnmpNotificationTypeMacroType, inSnmpObjectGroupMacroType, inSnmpObjectIdentityMacroType, inSnmpObjectsPart, inSnmpObjectTypeMacroType, inSnmpOrganizationPart, inSnmpProductReleasePart, inSnmpReferPart, inSnmpRevisionPart, inSnmpStatusPart, inSnmpSyntaxPart, inSnmpTextualConventionMacroType, inSnmpTrapTypeMacroType, inSnmpUnitsPart, inSnmpUpdatePart, inSnmpVariationPart, inSnmpVarPart, inSnmpWriteSyntaxPart, inSpecialRealValue, inStart, inStringType, inSymbol, inSymbolList, inSymbolsFromModule, inSymbolsFromModuleList, inTABSENT, inTACCESS, inTag, inTagDefault, inTAGENT_CAPABILITIES, inTaggedType, inTANY, inTAPPLICATION, inTASSIGN, inTAUGMENTS, inTBAR, inTBEGIN, inTBINSTRING, inTBIT, inTBITS, inTBOOLEAN, inTBY, inTCHOICE, inTCOMMA, inTCOMPONENT, inTCOMPONENTS, inTCONTACT_INFO, inTCREATION_REQUIRES, inTCSTRING, inTDEFAULT, inTDEFINED, inTDEFINITIONS, inTDEFVAL, inTDESCRIPTION, inTDISPLAY_HINT, inTDOT, inTEND, inTENTERPRISE, inTENUMERATED, inTEXPLICIT, inTEXPORTS, inTFALSE, inTFROM, inTGROUP, inTHEXSTRING, inTIDENT, inTIDENTIFIER, inTIMPLICIT, inTIMPLIED, inTIMPORTS, inTINCLUDES, inTINDEX, inTINTEGER, inTLAST_UPDATED, inTLEFTBRACE, inTLEFTBRACKET, inTLEFTPAREN, inTLESSTHAN, inTMACRO, inTMANDATORY_GROUPS, inTMAX_ACCESS, inTMAX, inTMIN_ACCESS, inTMIN, inTMINUS_INFINITY, inTMINUS, inTMODULE_COMPLIANCE, inTMODULE_IDENTITY, inTMODULE, inTNOTIFICATION_GROUP, inTNOTIFICATION_TYPE, inTNOTIFICATIONS, inTNULL, inTNUMBER, inTOBJECT_GROUP, inTOBJECT_IDENTITY, inTOBJECT_TYPE, inTOBJECT, inTOBJECTS, inTOCTET, inTOF, inTOPTIONAL, inTORGANIZATION, inTPLUS_INFINITY, inTPRESENT, inTPRIVATE, inTPRODUCT_RELEASE, inTREAL, inTREFERENCE, inTREVISION, inTRIGHTBRACE, inTRIGHTBRACKET, inTRIGHTPAREN, inTSEMI_COLON, inTSEQUENCE, inTSET, inTSIZE, inTSTATUS, inTSTRING, inTSUPPORTS, inTSYNTAX, inTTAGS, inTTEXTUAL_CONVENTION, inTTRAP_TYPE, inTTRUE, inTUNITS, inTUNIVERSAL, inTVARIABLES, inTVARIATION, inTWITH, inTWRITE_SYNTAX, inType, inTypeAssignment, inTypeOrBits, inTypeOrValue, inTypeOrValueList, inTypeReference, inUpperEndPoint, inValue, inValueAssignment, inValueConstraint, inValueList, inValueRange, inVarTypes, outAlphabetConstraint, outAnyType, outAssignment, outAssignmentList, outBinaryString, outBitStringType, outBooleanValue, outBuiltinType, outBuiltinValue, outCharString, outChoiceType, outClass, outClassNumber, outComplianceGroup, outComplianceObject, outConstraint, outConstraintList, outDefinedMacroName, outDefinedMacroType, outDefinedType, outDefinedValue, outElementType, outElementTypeList, outEnumeratedType, outEOF, outExports, outHexString, outIdentifier, outImports, outIntegerType, outLowerEndPoint, outMacroBody, outMacroDefinition, outMacroReference, outModuleBody, outModuleDefinition, outModuleIdentifier, outModuleReference, outNameAndNumberForm, outNamedBit, outNamedBits, outNamedNumber, outNamedNumberList, outNamedType, outNamedValue, outNullValue, outNumber, outObjectIdentifierValue, outObjIdComponent, outObjIdComponentList, outSelectionType, outSequenceOfType, outSequenceType, outSetOfType, outSetType, outSignedNumber, outSizeConstraint, outSkipToEND, outSnmpAccessPart, outSnmpAgentCapabilitiesMacroType, outSnmpCompliancePart, outSnmpContactPart, outSnmpCreationPart, outSnmpDefValPart, outSnmpDescrPart, outSnmpDisplayPart, outSnmpEnterprisePart, outSnmpIndexPart, outSnmpMandatoryPart, outSnmpModuleComplianceMacroType, outSnmpModuleIdentityMacroType, outSnmpModulePart, outSnmpModuleSupportPart, outSnmpNotificationGroupMacroType, outSnmpNotificationsPart, outSnmpNotificationTypeMacroType, outSnmpObjectGroupMacroType, outSnmpObjectIdentityMacroType, outSnmpObjectsPart, outSnmpObjectTypeMacroType, outSnmpOrganizationPart, outSnmpProductReleasePart, outSnmpReferPart, outSnmpRevisionPart, outSnmpStatusPart, outSnmpSyntaxPart, outSnmpTextualConventionMacroType, outSnmpTrapTypeMacroType, outSnmpUnitsPart, outSnmpUpdatePart, outSnmpVariationPart, outSnmpVarPart, outSnmpWriteSyntaxPart, outSpecialRealValue, outStart, outStringType, outSymbol, outSymbolList, outSymbolsFromModule, outSymbolsFromModuleList, outTABSENT, outTACCESS, outTag, outTagDefault, outTAGENT_CAPABILITIES, outTaggedType, outTANY, outTAPPLICATION, outTASSIGN, outTAUGMENTS, outTBAR, outTBEGIN, outTBINSTRING, outTBIT, outTBITS, outTBOOLEAN, outTBY, outTCHOICE, outTCOMMA, outTCOMPONENT, outTCOMPONENTS, outTCONTACT_INFO, outTCREATION_REQUIRES, outTCSTRING, outTDEFAULT, outTDEFINED, outTDEFINITIONS, outTDEFVAL, outTDESCRIPTION, outTDISPLAY_HINT, outTDOT, outTEND, outTENTERPRISE, outTENUMERATED, outTEXPLICIT, outTEXPORTS, outTFALSE, outTFROM, outTGROUP, outTHEXSTRING, outTIDENT, outTIDENTIFIER, outTIMPLICIT, outTIMPLIED, outTIMPORTS, outTINCLUDES, outTINDEX, outTINTEGER, outTLAST_UPDATED, outTLEFTBRACE, outTLEFTBRACKET, outTLEFTPAREN, outTLESSTHAN, outTMACRO, outTMANDATORY_GROUPS, outTMAX_ACCESS, outTMAX, outTMIN_ACCESS, outTMIN, outTMINUS_INFINITY, outTMINUS, outTMODULE_COMPLIANCE, outTMODULE_IDENTITY, outTMODULE, outTNOTIFICATION_GROUP, outTNOTIFICATION_TYPE, outTNOTIFICATIONS, outTNULL, outTNUMBER, outTOBJECT_GROUP, outTOBJECT_IDENTITY, outTOBJECT_TYPE, outTOBJECT, outTOBJECTS, outTOCTET, outTOF, outTOPTIONAL, outTORGANIZATION, outTPLUS_INFINITY, outTPRESENT, outTPRIVATE, outTPRODUCT_RELEASE, outTREAL, outTREFERENCE, outTREVISION, outTRIGHTBRACE, outTRIGHTBRACKET, outTRIGHTPAREN, outTSEMI_COLON, outTSEQUENCE, outTSET, outTSIZE, outTSTATUS, outTSTRING, outTSUPPORTS, outTSYNTAX, outTTAGS, outTTEXTUAL_CONVENTION, outTTRAP_TYPE, outTTRUE, outTUNITS, outTUNIVERSAL, outTVARIABLES, outTVARIATION, outTWITH, outTWRITE_SYNTAX, outType, outTypeAssignment, outTypeOrBits, outTypeOrValue, outTypeOrValueList, outTypeReference, outUpperEndPoint, outValue, outValueAssignment, outValueConstraint, outValueList, outValueRange, outVarTypes
 
Methods inherited from class net.percederberg.mib.asn1.analysis.TreeWalker
getIn, getOut, setIn, setOut
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TreePrinter

public TreePrinter(java.io.PrintWriter out)
Creates a new tree printer with an indentation step of 2.

Parameters:
out - the output stream

TreePrinter

public TreePrinter(java.io.PrintWriter out,
                   int indentStep)
Creates a new tree printer with the given indentation step.

Parameters:
out - the output stream
indentStep - the size of each indentation step
Method Detail

defaultIn

protected void defaultIn(Node node)
A default method called from all inX methods. Override this method in a subclass to handle the default case.

Overrides:
defaultIn in class DepthFirstAdapter
Parameters:
node - a parse tree node

defaultOut

protected void defaultOut(Node node)
A default method called from all outX methods. Override this method in a subclass to handle the default case.

Overrides:
defaultOut in class DepthFirstAdapter
Parameters:
node - a parse tree node