public void ffdcDumpDefault(Throwable th, IncidentStream is,
                                Object callerThis, Object[] o,
                                String sourceId)
    {
        // Currently, DiagnosticEngine will already dump:
        //     Exception Name
        //     Source ID
        //     Probe ID
        //     Stack Dump
        //     Dump of callerThis

        is.writeLine("", "*** Start InjectionDiagnosticModule Dump ***");

        // Dump the object array.
        if (o != null)
        {
            is.writeLine("", "> InjectionDiagnosticModule: dump Object array : " + o.length);

            List<Object> nonFormattable = new ArrayList<Object>();
            for (Object obj : o)
            {
                if (obj == this.ivInjectionEngine)
                {
                    // skipping, will be handled below
                }
                else if (obj instanceof Formattable)
                {
                    // Nicely format any known objects
                    ((Formattable) obj).formatTo(is);
                }
                else
                {
                    // add to list to be output below
                    nonFormattable.add(obj);
                }
            }

            if (nonFormattable.size() > 0)
            {
                is.writeLine("", "");
                is.writeLine("", "   Non-Formattable :");
                for (Object obj : nonFormattable)
                {
                    is.writeLine("", "      > " + Util.identity(obj));
                    is.writeLine("", "           " + obj);
                }
            }
            is.writeLine("", "< InjectionDiagnosticModule: dump Object array complete");
        }

        ivInjectionEngine.formatTo(is);

        is.writeLine("", "*** InjectionDiagnosticModule Dump Complete ***");
    }
public void ffdcDumpDefault ( Throwable th , IncidentStream is , Object callerThis , Object [ ] o , String sourceId ) { is . writeLine ( "" , "*** Start InjectionDiagnosticModule Dump ***" ) ; if ( o != null ) { is . writeLine ( "" , "> InjectionDiagnosticModule: dump Object array : " + o . length ) ; List < Object > nonFormattable = new ArrayList < Object > ( ) ; for ( Object obj : o ) { if ( obj == this . ivInjectionEngine ) { } else if ( obj instanceof Formattable ) { ( ( Formattable ) obj ) . formatTo ( is ) ; } else { nonFormattable . add ( obj ) ; } } if ( nonFormattable . size ( ) > 0 ) { is . writeLine ( "" , "" ) ; is . writeLine ( "" , "   Non-Formattable :" ) ; for ( Object obj : nonFormattable ) { is . writeLine ( "" , "      > " + Util . identity ( obj ) ) ; is . writeLine ( "" , "           " + obj ) ; } } is . writeLine ( "" , "< InjectionDiagnosticModule: dump Object array complete" ) ; } ivInjectionEngine . formatTo ( is ) ; is . writeLine ( "" , "*** InjectionDiagnosticModule Dump Complete ***" ) ; }
Required FFDC default dump method. All Diagnostic Modules must have at
least one default method. <p>

By default, the FFDC service will always dump the following:

<DL>
<DD> Exception Name
<DD> Source ID
<DD> Probe ID
<DD> Stack Dump
<DD> Dump of callerThis
</DL> <p>

This method will dump any other miscellaneous information for the
EJB Container Service that would be useful for all exceptions. <p>

Larger data structures should be dumped in more specific default
dump methods. For example, the ComponentMetaData should be dumped in
a default method like ffdcDumpDefaultComponentMetaData. <p>

Information that is only useful in certain scenarios should be dumped
in directive driven methods (ffdcDump<directive>). <p>

@param th The exception which triggered the FFDC capture process.
@param is The IncidentStream. Data to be captured is written to
this stream.
@param callerThis The 'this' pointer for the object which invoked the filter.
The value will be null if the method which invoked the
filter was static, or if the method which invoked the
filter does not correspond to the DM being invoked.
@param o The value of the array may be null. If not null, it
contains an array of objects which the caller to the
filter provided. Since the information in the array may
vary depending upon the location in the code, the first
index of the array may contain hints as to the content
of the rest of the array.
@param sourceId The sourceId passed to the filter.