package org.marketcetera.util.log; import org.marketcetera.util.misc.ClassVersion; /** * General-purpose utilities. * * @author tlerios@marketcetera.com * @since 0.5.0 * @version $Id: LogUtils.java 16154 2012-07-14 16:34:05Z colin $ */ /* $License$ */ @ClassVersion("$Id: LogUtils.java 16154 2012-07-14 16:34:05Z colin $") public final class LogUtils { // CLASS METHODS. /** * Returns a textual representation of the given object list. A * null list is treated as a list containing a single null * element. * * @param list The list. * * @return The textual representation. */ public static String getListText (Object... list) { if (list==null) { list=new Object[] {null}; } StringBuilder builder=new StringBuilder(); builder.append('('); //$NON-NLS-1$ boolean first=true; for (Object e:list) { if (!first) { builder.append(','); //$NON-NLS-1$ } if (e==null) { builder.append("[null]"); //$NON-NLS-1$ } else { builder.append('\''); //$NON-NLS-1$ builder.append(e.toString()); builder.append('\''); //$NON-NLS-1$ } first=false; } builder.append(')'); //$NON-NLS-1$ return builder.toString(); } /** * Returns a simplified textual representation of the given * provider and parameterized message. * * @param provider The message provider. * @param message The message. * @param params The message parameters. * * @return The textual representation. */ public static String getSimpleMessage (I18NMessageProvider provider, I18NMessage message, Object... params) { return "provider '"+provider.getProviderId()+ //$NON-NLS-1$ "'; id '"+message.getMessageId()+ //$NON-NLS-1$ "'; entry '"+message.getEntryId()+ //$NON-NLS-1$ "'; parameters "+getListText(params); //$NON-NLS-1$ } /** * Returns a simplified textual representation of the * parameterized message. * * @param message The message. * @param params The message parameters. * * @return The textual representation. */ public static String getSimpleMessage (I18NMessage message, Object... params) { return getSimpleMessage(message.getMessageProvider(),message,params); } /** * Returns a simplified textual representation of the * parameterized message. * * @param message The message. * * @return The textual representation. */ public static String getSimpleMessage (I18NBoundMessage message) { return getSimpleMessage (message.getMessage(),message.getParamsAsObjects()); } // CONSTRUCTORS. /** * Constructor. It is private so that no instances can be created. */ private LogUtils() {} }