< prev index next >
jaxws/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/util/exception/JAXWSExceptionBase.java
Print this page
@@ -1,7 +1,7 @@
/*
- * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
@@ -43,33 +43,36 @@
* localizable message.
*
* @author WS Development Team
*/
public abstract class JAXWSExceptionBase
- extends WebServiceException implements Localizable {
+ extends WebServiceException implements Localizable, LocalizableMessageFactory.ResourceBundleSupplier {
//Don't worry about previous serialVersionUID = 4818235090198755494L;, this class was not serializable before.
private static final long serialVersionUID = 1L;
private transient Localizable msg;
/**
- * @deprecated
- * Should use the localizable constructor instead.
+ * @param key
+ * @param args
+ * @deprecated Should use the localizable constructor instead.
*/
+ @Deprecated
protected JAXWSExceptionBase(String key, Object... args) {
super(findNestedException(args));
- this.msg = new LocalizableMessage(getDefaultResourceBundleName(), key, args);
+ this.msg = new LocalizableMessage(getDefaultResourceBundleName(), this, key, args);
}
protected JAXWSExceptionBase(String message) {
this(new NullLocalizable(message));
}
/**
* Creates a new exception that wraps the specified exception.
+ * @param throwable
*/
protected JAXWSExceptionBase(Throwable throwable) {
this(new NullLocalizable(throwable.toString()),throwable);
}
@@ -125,12 +128,11 @@
args = new Object[len];
for (int i = 0; i < args.length; i++) {
args[i] = in.readObject();
}
}
- msg = new LocalizableMessageFactory(resourceBundleName, this::getResourceBundle)
- .getMessage(key,args);
+ msg = new LocalizableMessageFactory(resourceBundleName).getMessage(key,args);
}
private static Throwable findNestedException(Object[] args) {
if (args == null)
return null;
@@ -139,41 +141,42 @@
if(o instanceof Throwable)
return (Throwable)o;
return null;
}
+ @Override
public String getMessage() {
Localizer localizer = new Localizer();
return localizer.localize(this);
}
/**
* Gets the default resource bundle name for this kind of exception.
* Used for {@link #JAXWSExceptionBase(String, Object[])}.
+ * @return
*/
protected abstract String getDefaultResourceBundleName();
- /*
- * Returns the ResourceBundle in this module.
- *
- * Subclasses in a different module has to override this method.
- */
- @Override
- public ResourceBundle getResourceBundle(Locale locale) {
- return ResourceBundle.getBundle(getDefaultResourceBundleName(), locale);
- }
-
//
// Localizable delegation
//
+ @Override
public final String getKey() {
return msg.getKey();
}
+ @Override
public final Object[] getArguments() {
return msg.getArguments();
}
+ @Override
public final String getResourceBundleName() {
return msg.getResourceBundleName();
}
+
+ @Override
+ public ResourceBundle getResourceBundle(Locale locale) {
+ return ResourceBundle.getBundle(getDefaultResourceBundleName(), locale);
+ }
+
}
< prev index next >