// Copyright (C) 2012 jOVAL.org. All rights reserved.
// This software is licensed under the AGPL 3.0 license available at http://www.joval.org/agpl_v3.txt
package jwsmv;
import ch.qos.cal10n.BaseName;
import ch.qos.cal10n.IMessageConveyor;
import ch.qos.cal10n.Locale;
import ch.qos.cal10n.LocaleData;
import ch.qos.cal10n.MessageConveyor;
import ch.qos.cal10n.MessageConveyorException;
import org.slf4j.cal10n.LocLogger;
import org.slf4j.cal10n.LocLoggerFactory;
/**
* Uses cal10n to define localized messages for jWSMV.
*
* @author David A. Solin
* @version %I% %G%
*/
@BaseName("jwsmvmsg")
@LocaleData(
defaultCharset="ASCII",
value = { @Locale("en_US")
}
)
public enum Message {
STATUS_CONNECT,
STATUS_REQUEST,
STATUS_RESPONSE,
ERROR_MISSING_RESOURCE,
ERROR_RESPONSE,
ERROR_EXCEPTION;
private static IMessageConveyor mc;
private static LocLoggerFactory loggerFactory;
private static LocLogger sysLogger;
static {
mc = new MessageConveyor(java.util.Locale.getDefault());
try {
//
// Get a message to test whether localized messages are available for the default Locale
//
getMessage(Message.ERROR_EXCEPTION);
} catch (MessageConveyorException e) {
//
// The test failed, so set the message Locale to English
//
mc = new MessageConveyor(java.util.Locale.ENGLISH);
}
loggerFactory = new LocLoggerFactory(mc);
sysLogger = loggerFactory.getLocLogger(Message.class);
}
/**
* Retrieve the logger used by the jWSMV library.
*/
public static LocLogger getLogger() {
return sysLogger;
}
/**
* Get the IMessageConveyor that provides localized messages for jWSMV.
*/
public static IMessageConveyor getConveyor() {
return mc;
}
/**
* Retrieve a localized String, given the key and substitution arguments. Convenience message for getConveyor.getMessage.
*/
public static String getMessage(Message key, Object... args) {
return mc.getMessage(key, args);
}
}