Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.crosswire.common.util
Class Reporter

    java.lang.Object
      org.crosswire.common.util.Reporter

    public final class Reporter

extends Object

This package looks after Exceptions and messages as they happen. It would be nice not to need this class - the principle being that any library that encounters an error can throw an exception to indicate that there is a problem. However this is not always the case. For example:

- static class constructors should not throw, unless the class really is of no use given the error, and yet we may want to tell the user that there was a (non-critical) error.
- Any library routine that works in a loop, applying some (potentially failing) functionality, may want to continue the work without throwing in response to a single error.
- The class being implemented may implement an interface that disallows nested exceptions and yet does not want to loose the root cause error information. (This is the weakest of the above arguments, but probably still valid.)

However in many of the times this class is used, this is the reason:

- Within UI specific code - to throw up a dialog box (or whatever). Now this use is currently tolerated, however it is probably a poor idea to use GUI agnostic messaging in a GUI specific context. But I'm not bothered enough to change it now. Specifically this use is deprecated because it makes the app more susceptible to the configuration of the things that listen to reports.

Author:
  Joe Walker
See Also:
  `The GNU Lesser General Public License for details.`

Nested Class Summary
`static class` | `Reporter.CustomAWTExceptionHandler` A class to handle AWT caught Exceptions

Field Summary
`private static String` | `AWT_HANDLER_PROPERTY` The system property name for registering AWT exceptions
`private static List<ReporterListener>` | `LISTENERS` The list of listeners
`private static org.slf4j.Logger` | `LOGGER` The log stream
`private static String` | `OUR_NAME` The name of the class to register for AWT exceptions

Constructor Summary
`private` | `Reporter()` Enforce Singleton

Method Summary
`static void` | `addReporterListener(ReporterListener li)` Add an Exception listener to the list of things wanting to know whenever we capture an Exception
`protected static void` | `fireCapture(ReporterEvent ev)` Log a message.
`static void` | `grabAWTExecptions(boolean grab)` Sets the parent of any exception windows.
`static void` | `informUser(Object source, LucidException prob)` Something has gone wrong.
`static void` | `informUser(Object source, LucidRuntimeException prob)` Something has gone wrong.
`static void` | `informUser(Object source, String message)` Something has happened.
`static void` | `informUser(Object source, Throwable prob)` Something has gone wrong.
`static void` | `removeReporterListener(ReporterListener li)` Remove an Exception listener from the list of things wanting to know whenever we capture an Exception

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### AWT_HANDLER_PROPERTY

    private static final String AWT_HANDLER_PROPERTY

  The system property name for registering AWT exceptions

  See Also:
    Constant Field Values

### OUR_NAME

    private static final String OUR_NAME

  The name of the class to register for AWT exceptions

### LISTENERS

    private static final List<ReporterListener> LISTENERS

  The list of listeners

### LOGGER

    private static final org.slf4j.Logger LOGGER

  The log stream

Constructor Detail

### Reporter

    private Reporter()

  Enforce Singleton

Method Detail

### informUser

    public static void informUser(Object source,
                                  Throwable prob)

  Something has gone wrong. We need to tell the user or someone, but we can carry on. In general having caught an exception and passed it to Reporter.informUser(), you should not throw another Exception. Called to fire a commandEntered event to all the Listeners

  Parameters:
    `source` - The cause of the problem, a Component if possible.
    `prob` - The Exception that was thrown

### informUser

    public static void informUser(Object source,
                                  LucidException prob)

  Something has gone wrong. We need to tell the user or someone, but we can carry on. In general having caught an exception and passed it to Reporter.informUser(), you should not throw another Exception. Called to fire a commandEntered event to all the Listeners

  Parameters:
    `source` - The cause of the problem, a Component if possible.
    `prob` - The Exception that was thrown

### informUser

    public static void informUser(Object source,
                                  LucidRuntimeException prob)

  Something has gone wrong. We need to tell the user or someone, but we can carry on. In general having caught an exception and passed it to Reporter.informUser(), you should not throw another Exception. Called to fire a commandEntered event to all the Listeners

  Parameters:
    `source` - The cause of the problem, a Component if possible.
    `prob` - The Exception that was thrown

### informUser

    public static void informUser(Object source,
                                  String message)

  Something has happened. We need to tell the user or someone.

  Parameters:
    `source` - The cause of the message, a Component if possible.
    `message` - The message to pass to the user

### addReporterListener

    public static void addReporterListener(ReporterListener li)

  Add an Exception listener to the list of things wanting to know whenever we capture an Exception

  Parameters:
    `li` - the interested listener

### removeReporterListener

    public static void removeReporterListener(ReporterListener li)

  Remove an Exception listener from the list of things wanting to know whenever we capture an Exception

  Parameters:
    `li` - the disinterested listener

### fireCapture

    protected static void fireCapture(ReporterEvent ev)

  Log a message.

  Parameters:
    `ev` - the event to capture

### grabAWTExecptions

    public static void grabAWTExecptions(boolean grab)

  Sets the parent of any exception windows.

  Parameters:
    `grab` - whether to grab AWT exceptions or not

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Copyright ¨ 2003-2015
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD