multex
Class Exc

java.lang.Object
  |
  +--java.lang.Throwable
        |
        +--java.lang.Exception
              |
              +--multex.Exc
All Implemented Interfaces:
MultexException, java.io.Serializable

public class Exc
extends java.lang.Exception
implements MultexException

Problem-related exception with parameters and internationalizable message text. This class serves for the framework user as a base class for defining problem-related exceptions. It can be used to throw directly, too, but such exceptions cannot be handled individually nor get internationalized.

Naming convention:

All user-defined exception classes derived from Exc should have a name ending in Exc. The pattern is:
     class ErrorconditionExc extends Exc { ... }
   

Parameters

All elements of the Object[] are considered positional parameters of this exception. The corresponding placeholders in the message text patterns have the syntax: {i} with i being the number of the parameter in the range 0..9.

The exception parameters can be substituted into the corresponding message text pattern in a desired locale format by class MsgText, which itself makes use of class java.text.MessageFormat.
See the usage examples Copy, AwtCopy, SwingCopy in directory demo.

Relation to Standards

Class java.text.MesageFormat does much more in direction of internationalization than just to insert parameters into a message text pattern. You can e.g. specify different styles of formatting a parameter. E.g. formatting a parameter of type java.util.Date at position 0 could be done by the following parameter formatting directive: {0,date}.

Author:
Christoph Knabe, TFH Berlin, 1999-2000 Copyrighted
See Also:
Serialized Form

Field Summary
static java.lang.String className
           
 
Constructor Summary
Exc(java.lang.String i_defaultMessageTextPattern)
          Convenience constructor null
Exc(java.lang.String i_defaultMessageTextPattern, java.lang.Object i_object0)
          Convenience constructor 0
Exc(java.lang.String i_defaultMessageTextPattern, java.lang.Object[] i_parameters)
          Constructs an Exc with a default message text pattern and exception parameters as an polymorphic Object[].
Exc(java.lang.String i_defaultMessageTextPattern, java.lang.Object i_object0, java.lang.Object i_object1)
          Convenience constructor 1
Exc(java.lang.String i_defaultMessageTextPattern, java.lang.Object i_object0, java.lang.Object i_object1, java.lang.Object i_object2)
          Convenience constructor 2
Exc(java.lang.String i_defaultMessageTextPattern, java.lang.Object i_object0, java.lang.Object i_object1, java.lang.Object i_object2, java.lang.Object i_object3)
          Convenience constructor 3
Exc(java.lang.String i_defaultMessageTextPattern, java.lang.Object i_object0, java.lang.Object i_object1, java.lang.Object i_object2, java.lang.Object i_object3, java.lang.Object i_object4)
          Convenience constructor 4
Exc(java.lang.String i_defaultMessageTextPattern, java.lang.Object i_object0, java.lang.Object i_object1, java.lang.Object i_object2, java.lang.Object i_object3, java.lang.Object i_object4, java.lang.Object i_object5)
          Convenience constructor 5
Exc(java.lang.String i_defaultMessageTextPattern, java.lang.Object i_object0, java.lang.Object i_object1, java.lang.Object i_object2, java.lang.Object i_object3, java.lang.Object i_object4, java.lang.Object i_object5, java.lang.Object i_object6)
          Convenience constructor 6
Exc(java.lang.String i_defaultMessageTextPattern, java.lang.Object i_object0, java.lang.Object i_object1, java.lang.Object i_object2, java.lang.Object i_object3, java.lang.Object i_object4, java.lang.Object i_object5, java.lang.Object i_object6, java.lang.Object i_object7)
          Convenience constructor 7
Exc(java.lang.String i_defaultMessageTextPattern, java.lang.Object i_object0, java.lang.Object i_object1, java.lang.Object i_object2, java.lang.Object i_object3, java.lang.Object i_object4, java.lang.Object i_object5, java.lang.Object i_object6, java.lang.Object i_object7, java.lang.Object i_object8)
          Convenience constructor 8
Exc(java.lang.String i_defaultMessageTextPattern, java.lang.Object i_object0, java.lang.Object i_object1, java.lang.Object i_object2, java.lang.Object i_object3, java.lang.Object i_object4, java.lang.Object i_object5, java.lang.Object i_object6, java.lang.Object i_object7, java.lang.Object i_object8, java.lang.Object i_object9)
          Convenience constructor 9
 
Method Summary
 void checkClass()
          Checks that the class of this object is OK.
 java.lang.String getDefaultMessageTextPattern()
          Returns the default message text pattern for this exception object or null.
 java.lang.String getMessage()
          Returns all user-provided information contained in the exception object in an internal, but human readable format.
 java.lang.Object[] getParameters()
          Returns the exception parameters
 
Methods inherited from class java.lang.Throwable
fillInStackTrace, getCause, getLocalizedMessage, getStackTrace, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

className

public static final java.lang.String className
See Also:
Constant Field Values
Constructor Detail

Exc

public Exc(java.lang.String i_defaultMessageTextPattern)
Convenience constructor null

See Also:
Exc(String, Object[])

Exc

public Exc(java.lang.String i_defaultMessageTextPattern,
           java.lang.Object i_object0)
Convenience constructor 0

See Also:
Exc(String, Object[])

Exc

public Exc(java.lang.String i_defaultMessageTextPattern,
           java.lang.Object i_object0,
           java.lang.Object i_object1)
Convenience constructor 1

See Also:
Exc(String, Object[])

Exc

public Exc(java.lang.String i_defaultMessageTextPattern,
           java.lang.Object i_object0,
           java.lang.Object i_object1,
           java.lang.Object i_object2)
Convenience constructor 2

See Also:
Exc(String, Object[])

Exc

public Exc(java.lang.String i_defaultMessageTextPattern,
           java.lang.Object i_object0,
           java.lang.Object i_object1,
           java.lang.Object i_object2,
           java.lang.Object i_object3)
Convenience constructor 3

See Also:
Exc(String, Object[])

Exc

public Exc(java.lang.String i_defaultMessageTextPattern,
           java.lang.Object i_object0,
           java.lang.Object i_object1,
           java.lang.Object i_object2,
           java.lang.Object i_object3,
           java.lang.Object i_object4)
Convenience constructor 4

See Also:
Exc(String, Object[])

Exc

public Exc(java.lang.String i_defaultMessageTextPattern,
           java.lang.Object i_object0,
           java.lang.Object i_object1,
           java.lang.Object i_object2,
           java.lang.Object i_object3,
           java.lang.Object i_object4,
           java.lang.Object i_object5)
Convenience constructor 5

See Also:
Exc(String, Object[])

Exc

public Exc(java.lang.String i_defaultMessageTextPattern,
           java.lang.Object i_object0,
           java.lang.Object i_object1,
           java.lang.Object i_object2,
           java.lang.Object i_object3,
           java.lang.Object i_object4,
           java.lang.Object i_object5,
           java.lang.Object i_object6)
Convenience constructor 6

See Also:
Exc(String, Object[])

Exc

public Exc(java.lang.String i_defaultMessageTextPattern,
           java.lang.Object i_object0,
           java.lang.Object i_object1,
           java.lang.Object i_object2,
           java.lang.Object i_object3,
           java.lang.Object i_object4,
           java.lang.Object i_object5,
           java.lang.Object i_object6,
           java.lang.Object i_object7)
Convenience constructor 7

See Also:
Exc(String, Object[])

Exc

public Exc(java.lang.String i_defaultMessageTextPattern,
           java.lang.Object i_object0,
           java.lang.Object i_object1,
           java.lang.Object i_object2,
           java.lang.Object i_object3,
           java.lang.Object i_object4,
           java.lang.Object i_object5,
           java.lang.Object i_object6,
           java.lang.Object i_object7,
           java.lang.Object i_object8)
Convenience constructor 8

See Also:
Exc(String, Object[])

Exc

public Exc(java.lang.String i_defaultMessageTextPattern,
           java.lang.Object i_object0,
           java.lang.Object i_object1,
           java.lang.Object i_object2,
           java.lang.Object i_object3,
           java.lang.Object i_object4,
           java.lang.Object i_object5,
           java.lang.Object i_object6,
           java.lang.Object i_object7,
           java.lang.Object i_object8,
           java.lang.Object i_object9)
Convenience constructor 9

See Also:
Exc(String, Object[])

Exc

public Exc(java.lang.String i_defaultMessageTextPattern,
           java.lang.Object[] i_parameters)
Constructs an Exc with a default message text pattern and exception parameters as an polymorphic Object[].

Example of defining an exception with parameters:

  public static class StartedExc extends Exc {
    public StartedExc(final String i_driver, final java.util.Date i_date){
      super("Copy-driver {0}, version of {1,date} was started",
        new Object[]{i_driver,i_date}
      );
    }
  }
 
Instead of creating an Object[] yourself you can use the corresponding convenience constructors.

Parameters:
i_defaultMessageTextPattern - The default message text pattern in the syntax of java.text.MessageFormat or null, if message text patterns shall only be taken from a ResourceBundle
i_parameters - Exception parameters as an polymorphic Object[], which can be inserted into the message text pattern by placeholders {0} ... {9}. null is allowed here, if you do not want to provide exception parameters.
Method Detail

getMessage

public java.lang.String getMessage()
Description copied from interface: MultexException
Returns all user-provided information contained in the exception object in an internal, but human readable format. The information are the default message text pattern and the exception parameters of this object or null if none of these is provided. E.g.:
  TEXT: Unable to create file {0} in directory {1}
  {0}=myfile.dat  {1}=C:\temp\data
   
Overrides the same method of java.lang.Throwable

Specified by:
getMessage in interface MultexException
Overrides:
getMessage in class java.lang.Throwable

getParameters

public java.lang.Object[] getParameters()
Description copied from interface: MultexException
Returns the exception parameters

Specified by:
getParameters in interface MultexException

getDefaultMessageTextPattern

public java.lang.String getDefaultMessageTextPattern()
Description copied from interface: MultexException
Returns the default message text pattern for this exception object or null. Inserting the exception parameters into the message text pattern is done by class MsgText. Locale specific message text patterns are handled by MsgText, too.

Specified by:
getDefaultMessageTextPattern in interface MultexException

checkClass

public void checkClass()
Checks that the class of this object is OK. In the moment this means, that its name ends in className