Class BaseFieldFormatter

java.lang.Object
com.ibm.j9ddr.tools.ddrinteractive.BaseFieldFormatter
All Implemented Interfaces:
IFieldFormatter
Direct Known Subclasses:
ArrayFormatter, BoolFormatter, CStringFieldFormatter, DoubleFormatter, EnumFormatter, FloatFormatter, J9ClassFieldFormatter, J9ConstantPoolFieldFormatter, J9MethodFieldFormatter, J9ObjectFieldFormatter, J9SRPFormatter, PointerFormatter, ScalarFormatter, StructureFormatter, StructurePointerFormatter, VoidFormatter

public abstract class BaseFieldFormatter extends Object implements IFieldFormatter
Default field formatter with empty implementations for preFormat, format and postFormat
  • Field Details

    • logger

      protected static final Logger logger
  • Constructor Details

    • BaseFieldFormatter

      public BaseFieldFormatter()
  • Method Details

    • format

      public FormatWalkResult format(String name, String type, String declaredType, int typeCode, long address, PrintStream out, Context context, IStructureFormatter structureFormatter) throws CorruptDataException
      Description copied from interface: IFieldFormatter
      Method called by the Structure command to format a field, after preFormat() and before postFormat()
      Specified by:
      format in interface IFieldFormatter
      Parameters:
      name - Name of field being formatted.
      type - Type of field to be formatted. E.g. struct J9JavaVM
      declaredType - Type as declared in C. E.g. This may be char* where type is U8*
      typeCode - StructureHelper type code. E.g. TYPE_STRUCTURE
      address - Address of field to be formatted
      out - PrintStream to write result to. Do not write a new line at the end of your output.
      context - Current DDRInteractive context
      Returns:
      KEEP_WALKING if the format walk should keep going (delegating to other formatters), STOP_WALKING if the format walk should stop
      Throws:
      CorruptDataException
    • postFormat

      public FormatWalkResult postFormat(String name, String type, String declaredType, int typeCode, long address, PrintStream out, Context context, IStructureFormatter structureFormatter) throws CorruptDataException
      Description copied from interface: IFieldFormatter
      Method called by the Structure command after preFormat() and format().
      Specified by:
      postFormat in interface IFieldFormatter
      Parameters:
      name - Name of field being formatted.
      type - Type of field to be formatted. E.g. struct J9JavaVM
      declaredType - Type as declared in C. E.g. This may be char* where type is U8*
      typeCode - StructureHelper type code. E.g. TYPE_STRUCTURE
      address - Address of field to be formatted
      out - PrintStream to write result to. Do not write a new line at the end of your output.
      context - Current DDRInteractive context
      structureFormatter - StructureFormatter; useful if you need to rerun a different field format (e.g. when working with J9SRPs)
      Returns:
      KEEP_WALKING if the format walk should keep going (delegating to other formatters), STOP_WALKING if the format walk should stop
      Throws:
      CorruptDataException
    • preFormat

      public FormatWalkResult preFormat(String name, String type, String declaredType, int typeCode, long address, PrintStream out, Context context, IStructureFormatter structureFormatter) throws CorruptDataException
      Description copied from interface: IFieldFormatter
      Method called by the Structure command before the format() method walk.
      Specified by:
      preFormat in interface IFieldFormatter
      Parameters:
      name - Name of field being formatted.
      type - Type of field to be formatted. E.g. struct J9JavaVM
      declaredType - Type as declared in C. E.g. This may be char* where type is U8*
      typeCode - StructureHelper type code. E.g. TYPE_STRUCTURE
      address - Address of field to be formatted
      out - PrintStream to write result to. Do not write a new line at the end of your output.
      context - Current DDRInteractive context
      Returns:
      KEEP_WALKING if the format walk should keep going (delegating to other formatters), STOP_WALKING if the format walk should stop
      Throws:
      CorruptDataException