/*
 * 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 org.apache.xerces.impl.io;

import java.io.CharConversionException;
import java.util.Locale;

import org.apache.xerces.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
Version:$Id: MalformedByteSequenceException.java 718095 2008-11-16 20:00:14Z mrglavas $
/** * <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 * * @version $Id: MalformedByteSequenceException.java 718095 2008-11-16 20:00:14Z mrglavas $ */
public final 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 synchronized 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