public class IllegalAnnotationException extends JAXBException
Constructor and Description |
---|
IllegalAnnotationException(String message,
Annotation src) |
IllegalAnnotationException(String message,
Annotation src1,
Annotation src2) |
IllegalAnnotationException(String message,
Annotation src1,
Locatable src2) |
IllegalAnnotationException(String message,
Locatable src) |
IllegalAnnotationException(String message,
Locatable src1,
Locatable src2) |
IllegalAnnotationException(String message,
Throwable cause,
Locatable src) |
Modifier and Type | Method and Description |
---|---|
List<List<Location>> |
getSourcePos()
Returns a read-only list of
Location that indicates
where in the source code the problem has happened. |
String |
toString()
Returns the exception name, message, and related information
together in one string.
|
getCause, getErrorCode, getLinkedException, printStackTrace, printStackTrace, printStackTrace, setLinkedException
addSuppressed, fillInStackTrace, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, setStackTrace
public IllegalAnnotationException(String message, Annotation src)
public IllegalAnnotationException(String message, Locatable src1, Locatable src2)
public IllegalAnnotationException(String message, Annotation src1, Annotation src2)
public IllegalAnnotationException(String message, Annotation src1, Locatable src2)
public List<List<Location>> getSourcePos()
Location
that indicates
where in the source code the problem has happened.
Normally, an annotation error happens on one particular
annotation, in which case this method returns a list that
contains another list, which in turn contains the location
information that leads to the error location
(IOW, [ [pos1,pos2,...,posN] ]
)
Sometimes, an error could occur because of two or more conflicting
annotations, in which case this method returns a list
that contains many lists, where each list contains
the location information that leads to each of the conflicting
annotations
(IOW, [ [pos11,pos12,...,pos1N],[pos21,pos22,...,pos2M], ... ]
)
Yet some other time, the runtime can fail to provide any
error location, in which case this method returns an empty list.
(IOW, []
). We do try hard to make sure this won't happen,
so please let us know
if you see this behavior.
Location
Each error location is identified not just by one Location
object, but by a sequence of Location
s that shows why
the runtime is led to the place of the error.
This list is sorted such that the most specific Location
comes
to the first in the list, sort of like a stack trace.
For example, suppose you specify class Foo
to JAXBContext
,
Foo
derives from Bar
, Bar
has a field pea
that points to Zot
, Zot
contains a gum
property, and this property has an errornous annotation.
Then when this exception is thrown, the list of Location
s
will look something like
[ "gum property", "Zot class", "pea property", "Bar class", "Foo class" ]
List
.public String toString()
Overriding this method (instead of JAXBException.printStackTrace(java.io.PrintStream)
allows
this crucial detail to show up even when this exception is nested
inside other exceptions.
toString
in class JAXBException
Copyright © 2019 JBoss by Red Hat. All rights reserved.