org.eclipse.persistence.exceptions
Class EclipseLinkException

java.lang.Object
  extended by java.lang.Throwable
      extended by java.lang.Exception
          extended by java.lang.RuntimeException
              extended by org.eclipse.persistence.exceptions.EclipseLinkException
All Implemented Interfaces:
Serializable
Direct Known Subclasses:
CommunicationException, ConcurrencyException, ConversionException, DatabaseException, DBWSException, DynamicException, EntityManagerSetupException, JAXBException, JPQLException, OptimisticLockException, PersistenceUnitLoadingException, RemoteCommandManagerException, SDOException, SessionLoaderException, StaticWeaveException, TransactionException, ValidationException, XMLConversionException, XMLParseException, XMLPlatformException

public abstract class EclipseLinkException
extends RuntimeException

Purpose: Any exception raised by EclipseLink should be a subclass of this exception class.

See Also:
Serialized Form

Constructor Summary
EclipseLinkException()
          INTERNAL: Return a new exception.
EclipseLinkException(String theMessage)
          INTERNAL: EclipseLink exception should only be thrown by EclipseLink.
EclipseLinkException(String message, Throwable internalException)
          INTERNAL: EclipseLink exception should only be thrown by EclipseLink.
 
Method Summary
 int getErrorCode()
          PUBLIC: Return the exception error code.
 String getIndentationString()
          INTERNAL: Used to print things nicely in the testing tool.
 Throwable getInternalException()
          PUBLIC: Return the internal native exception.
 String getMessage()
          PUBLIC: Return the exception error message.
 org.eclipse.persistence.internal.sessions.AbstractSession getSession()
          PUBLIC: Return the session.
 boolean hasBeenLogged()
          INTERNAL: Return if this exception has been logged to avoid being logged more than once.
 void printStackTrace()
          PUBLIC: Print both the normal and internal stack traces.
 void printStackTrace(PrintStream outStream)
          PUBLIC: Print both the normal and internal stack traces.
 void printStackTrace(PrintWriter writer)
          PUBLIC: Print both the normal and internal stack traces.
 void setErrorCode(int errorCode)
          INTERNAL:
 void setHasBeenLogged(boolean logged)
          INTERNAL: Set this flag to avoid logging an exception more than once.
 void setIndentationString(String indentationString)
          INTERNAL: Used to print things nicely in the testing tool.
 void setInternalException(Throwable exception)
          INTERNAL: Used to specify the internal exception.
 void setSession(org.eclipse.persistence.internal.sessions.AbstractSession session)
          INTERNAL:
static void setShouldPrintInternalException(boolean printException)
          PUBLIC: Allows overriding of EclipseLink's exception chaining detection.
static boolean shouldPrintInternalException()
          INTERNAL Check to see if the EclipseLink-stored internal exception should be printed in this a EclipseLinkException's stack trace.
 String toString()
          INTERNAL:
 
Methods inherited from class java.lang.Throwable
fillInStackTrace, getCause, getLocalizedMessage, getStackTrace, initCause, setStackTrace
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

EclipseLinkException

public EclipseLinkException()
INTERNAL: Return a new exception.


EclipseLinkException

public EclipseLinkException(String theMessage)
INTERNAL: EclipseLink exception should only be thrown by EclipseLink.


EclipseLinkException

public EclipseLinkException(String message,
                            Throwable internalException)
INTERNAL: EclipseLink exception should only be thrown by EclipseLink.

Method Detail

getErrorCode

public int getErrorCode()
PUBLIC: Return the exception error code.


getIndentationString

public String getIndentationString()
INTERNAL: Used to print things nicely in the testing tool.


getInternalException

public Throwable getInternalException()
PUBLIC: Return the internal native exception. EclipseLink frequently catches Java exceptions and wraps them in its own exception classes to provide more information. The internal exception can still be accessed if required.


getMessage

public String getMessage()
PUBLIC: Return the exception error message. EclipseLink error messages are multi-line so that detail descriptions of the exception are given.

Overrides:
getMessage in class Throwable

getSession

public org.eclipse.persistence.internal.sessions.AbstractSession getSession()
PUBLIC: Return the session.


hasBeenLogged

public boolean hasBeenLogged()
INTERNAL: Return if this exception has been logged to avoid being logged more than once.


printStackTrace

public void printStackTrace()
PUBLIC: Print both the normal and internal stack traces.

Overrides:
printStackTrace in class Throwable

printStackTrace

public void printStackTrace(PrintStream outStream)
PUBLIC: Print both the normal and internal stack traces.

Overrides:
printStackTrace in class Throwable

printStackTrace

public void printStackTrace(PrintWriter writer)
PUBLIC: Print both the normal and internal stack traces.

Overrides:
printStackTrace in class Throwable

setErrorCode

public void setErrorCode(int errorCode)
INTERNAL:


setHasBeenLogged

public void setHasBeenLogged(boolean logged)
INTERNAL: Set this flag to avoid logging an exception more than once.


setIndentationString

public void setIndentationString(String indentationString)
INTERNAL: Used to print things nicely in the testing tool.


setInternalException

public void setInternalException(Throwable exception)
INTERNAL: Used to specify the internal exception.


setSession

public void setSession(org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:


setShouldPrintInternalException

public static void setShouldPrintInternalException(boolean printException)
PUBLIC: Allows overriding of EclipseLink's exception chaining detection.

Parameters:
booleam - printException - If printException is true, the EclipseLink-stored Internal exception will be included in a stack trace or in the exception message of a EclipseLinkException. If printException is false, the EclipseLink-stored Internal Exception will not be included in the stack trace or the exception message of EclipseLinkExceptions

shouldPrintInternalException

public static boolean shouldPrintInternalException()
INTERNAL Check to see if the EclipseLink-stored internal exception should be printed in this a EclipseLinkException's stack trace. This method will check the static ShouldPrintInternalException variable and if it is not set, estimate based on the JDK version used.


toString

public String toString()
INTERNAL:

Overrides:
toString in class Throwable