Package org.apache.sis.io.wkt
Class Warnings
java.lang.Object
org.apache.sis.io.wkt.Warnings
- All Implemented Interfaces:
Serializable
,Localized
Warnings that occurred during a Well Known Text (WKT) parsing or formatting.
Information provided by this object include:
- Recoverable exceptions.
- At formatting time, object that cannot be formatted in a standard-compliant WKT.
- At parsing time, unknown keywords.
Example: after parsing the following WKT:
a call to
WKTFormat.getWarnings()
would return a Warnings
instance with the following information:
getRootElement()
returns"WGS 84"
,getUnknownElements()
returns{"Intruder"}
, andgetUnknownElementLocations("Intruder")
returns{"Ellipsoid", "PrimeMeridian"}
.
- Since:
- 0.6
- Version:
- 0.6
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final Locale
The locale in which warning messages are reported.The keywords of elements in which exception occurred.Keyword of unknown elements.private final boolean
false
if the warnings occurred while formatting, ortrue
if they occurred while parsing.Warning messages or exceptions emitted during parsing or formatting.private boolean
true
ifpublish()
has been invoked.private String
Name identifier or class name of the root object being parsed or formatted.private static final long
For cross-version compatibility. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription(package private) final void
Adds a warning.getException
(int index) Returns the exception which was the cause of the message at the given index, ornull
if none.Returns the non-fatal exceptions that occurred during the parsing or formatting.String[]
Returns the keywords of the WKT element where the given exception occurred, ornull
if unknown.Returns the locale in which warning messages are reported by the defaulttoString()
method.getMessage
(int index) Returns a warning message.final int
Returns the number of warning messages.Returns the name of the root element being parsed or formatted.getUnknownElementLocations
(String element) Returns the keyword of WKT elements that contains the given unknown element.Returns the keywords of all unknown elements found during the WKT parsing.(package private) final void
publish()
Must be invoked before thisWarnings
instance is given to the user, in order to protect this instance from changes caused by the next parsing operation.(package private) final void
Invoked after construction for setting the identifier name or class name of the root object being parsed or formatted.toString()
Returns a string representation of the warning messages in the formatter locale.Returns a string representation of the warning messages in the given locale.
-
Field Details
-
serialVersionUID
private static final long serialVersionUIDFor cross-version compatibility.- See Also:
-
errorLocale
The locale in which warning messages are reported. Not necessarily the same than the locale for number and date parsing or formatting.- See Also:
-
isParsing
private final boolean isParsingfalse
if the warnings occurred while formatting, ortrue
if they occurred while parsing. -
root
Name identifier or class name of the root object being parsed or formatted.- See Also:
-
messages
Warning messages or exceptions emitted during parsing or formatting. Initiallynull
and created when first needed.Objects in this list must be a sequence of the following tuple:
- An optional message as an
InternationalString
. - An optional warning cause as an
Exception
.
- See Also:
- An optional message as an
-
exceptionSources
The keywords of elements in which exception occurred. Initiallynull
and created when first needed.For each
String[]
value, the first array element shall be the keyword of the WKT element in which the exception occurred. The second array element shall be the parent of above-cited first element. Other array elements can optionally be present for declaring the parents of the parent, but they will be ignored by thisWarnings
implementation. -
ignoredElements
Keyword of unknown elements. This is initially a direct reference to theAbstractParser.ignoredElements
map, which is okay only until a new parsing start. If thisWarnings
instance is given to the user, then thepublish()
method must be invoked in order to copy this map.- See Also:
-
published
private boolean publishedtrue
ifpublish()
has been invoked.
-
-
Constructor Details
-
Warnings
Creates a new object for declaring warnings.- Parameters:
locale
- the locale for reporting warning messages.isParsing
-false
if formatting, ortrue
if parsing.ignoredElements
- theAbstractParser.ignoredElements
map, or an empty map (cannot be null).
-
-
Method Details
-
setRoot
Invoked after construction for setting the identifier name or class name of the root object being parsed or formatted. Defined as a separated method instead of as an argument for the constructor because this information is more easily provided byWKTFormat
rather than by the parser or formatter that created theWarnings
object. -
add
Adds a warning. At least one ofmessage
orcause
shall be non-null.- Parameters:
message
- the message, ornull
.cause
- the exception that caused the warning, ornull
source
- the location of the exception, ornull
. If non-null, thensource[0]
shall be the keyword of the WKT element where the exception occurred, andsource[1]
the keyword of the parent ofsource[0]
.
-
publish
final void publish()Must be invoked before thisWarnings
instance is given to the user, in order to protect this instance from changes caused by the next parsing operation. -
getLocale
Returns the locale in which warning messages are reported by the defaulttoString()
method. This is not necessarily the same locale than the one used for parsing and formatting dates and numbers in the WKT. -
getRootElement
Returns the name of the root element being parsed or formatted. If the parsed of formatted object implement theIdentifiedObject
interface, then this method returns the value ofIdentifiedObject.getName().getCode()
. Otherwise this method returns a simple class name.- Returns:
- the name of the root element, or
null
if unknown.
-
getNumMessages
public final int getNumMessages()Returns the number of warning messages.- Returns:
- the number of warning messages.
-
getMessage
Returns a warning message.- Parameters:
index
- 0 for the first warning, 1 for the second warning, etc. untilgetNumMessages()
- 1.- Returns:
- the i-th warning message.
-
getException
Returns the exception which was the cause of the message at the given index, ornull
if none.- Parameters:
index
- the value given togetMessage(int)
.- Returns:
- the exception which was the cause of the warning message, or
null
if none.
-
getExceptions
Returns the non-fatal exceptions that occurred during the parsing or formatting. If no exception occurred, returns an empty set.- Returns:
- the non-fatal exceptions that occurred.
-
getExceptionSource
Returns the keywords of the WKT element where the given exception occurred, ornull
if unknown. If this method returns a non-null array, thensource[0]
is the keyword of the WKT element where the exception occurred andsource[1]
is the keyword of the parent ofsource[0]
.Note: in other words, this method returns the tail of the path to the WKT element where the exception occurred, but with path elements stored in reverse order.- Parameters:
ex
- the exception for which to get the source.- Returns:
- the keywords of the WKT element where the given exception occurred, or
null
if unknown.
-
getUnknownElements
Returns the keywords of all unknown elements found during the WKT parsing.- Returns:
- the keywords of unknown WKT elements, or an empty set if none.
-
getUnknownElementLocations
Returns the keyword of WKT elements that contains the given unknown element. If the given element is not one of the value returned bygetUnknownElements()
, then this method returnsnull
.The returned collection elements are in no particular order.
- Parameters:
element
- the keyword of the unknown element.- Returns:
- the keywords of elements where the given unknown element was found.
-
toString
Returns a string representation of the warning messages in the formatter locale. The locale used by this method is given bygetLocale()
. -
toString
Returns a string representation of the warning messages in the given locale. This method formats the warnings in a bullet list.- Parameters:
locale
- the locale to use for formatting warning messages.- Returns:
- a string representation of the warning messages.
-