/*
* reserved comment block
* DO NOT REMOVE OR ALTER!
*/
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.sun.org.apache.xerces.internal.impl.io;
import java.io.CharConversionException;
import java.util.Locale;
import com.sun.org.apache.xerces.internal.util.MessageFormatter;
Signals that a malformed byte sequence was detected
by a java.io.Reader
that decodes bytes
of a given encoding into characters.
Author: Michael Glavassevich, IBM @xerces.internal
/**
* <p>Signals that a malformed byte sequence was detected
* by a <code>java.io.Reader</code> that decodes bytes
* of a given encoding into characters.</p>
*
* @xerces.internal
*
* @author Michael Glavassevich, IBM
*
*/
public class MalformedByteSequenceException extends CharConversionException {
Serialization version. /** Serialization version. */
static final long serialVersionUID = 8436382245048328739L;
//
// Data
//
message formatter /** message formatter **/
private MessageFormatter fFormatter;
locale for error message /** locale for error message **/
private Locale fLocale;
error domain /** error domain **/
private String fDomain;
key for the error message /** key for the error message **/
private String fKey;
replacement arguements for the error message /** replacement arguements for the error message **/
private Object[] fArguments;
message text for this message, initially null /** message text for this message, initially null **/
private String fMessage;
//
// Constructors
//
Constructs a MalformedByteSequenceException with the given
parameters which may be passed to an error reporter to
generate a localized string for this exception.
Params: - formatter – The MessageFormatter used for building the
message text for this exception.
- locale – The Locale for which messages are to be reported.
- domain – The error domain.
- key – The key of the error message.
- arguments – The replacement arguments for the error message,
if needed.
/**
* Constructs a MalformedByteSequenceException with the given
* parameters which may be passed to an error reporter to
* generate a localized string for this exception.
*
* @param formatter The MessageFormatter used for building the
* message text for this exception.
* @param locale The Locale for which messages are to be reported.
* @param domain The error domain.
* @param key The key of the error message.
* @param arguments The replacement arguments for the error message,
* if needed.
*/
public MalformedByteSequenceException(MessageFormatter formatter,
Locale locale, String domain, String key, Object[] arguments) {
fFormatter = formatter;
fLocale = locale;
fDomain = domain;
fKey = key;
fArguments = arguments;
} // <init>(MessageFormatter, Locale, String, String, Object[])
//
// Public methods
//
Returns the error domain of the error message.
Returns: the error domain
/**
* <p>Returns the error domain of the error message.</p>
*
* @return the error domain
*/
public String getDomain () {
return fDomain;
} // getDomain
Returns the key of the error message.
Returns: the error key of the error message
/**
* <p>Returns the key of the error message.</p>
*
* @return the error key of the error message
*/
public String getKey () {
return fKey;
} // getKey()
Returns the replacement arguments for the error
message or null
if none exist.
Returns: the replacement arguments for the error message
or null
if none exist
/**
* <p>Returns the replacement arguments for the error
* message or <code>null</code> if none exist.</p>
*
* @return the replacement arguments for the error message
* or <code>null</code> if none exist
*/
public Object[] getArguments () {
return fArguments;
} // getArguments();
Returns the localized message for this exception.
Returns: the localized message for this exception.
/**
* <p>Returns the localized message for this exception.</p>
*
* @return the localized message for this exception.
*/
public String getMessage() {
if (fMessage == null) {
fMessage = fFormatter.formatMessage(fLocale, fKey, fArguments);
// The references to the message formatter and locale
// aren't needed anymore so null them.
fFormatter = null;
fLocale = null;
}
return fMessage;
} // getMessage()
} // MalformedByteSequenceException