Java tutorial
/* * Copyright 2012 Hiromasa Horiguchi ( The University of Tokyo ) * * Licensed 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 jp.ac.u.tokyo.m.log; import java.util.Arrays; import java.util.List; import org.apache.commons.logging.Log; public class LogUtil { // ----------------------------------------------------------------------------------------------------------------- /** * Output "[aPrefix]\"[aParams[0]]\" \"[aParams[1]]\"... [aSuffix]" format log. <br> * "[aPrefix]\"[aParams[0]]\" \"[aParams[1]]\"... [aSuffix]" ???? <br> */ public static void infoMultiParam(Log aLog, String aPrefix, String aSuffix, List<? extends Object> aParams) { aLog.info(createMultiParamMessage(aPrefix, aSuffix, aParams)); } /** * Output "[aPrefix]\"[aParams[0]]\" \"[aParams[1]]\"... [aSuffix]" format log. <br> * "[aPrefix]\"[aParams[0]]\" \"[aParams[1]]\"... [aSuffix]" ???? <br> */ public static void errorMultiParam(Log aLog, String aPrefix, String aSuffix, List<? extends Object> aParams, Throwable aThrowable) { aLog.error(createMultiParamMessage(aPrefix, aSuffix, aParams), aThrowable); } // ----------------------------------------------------------------------------------------------------------------- public static void errorIllegalModeName(Log aLog, Object[] aEnumValues, String aModeName, RuntimeException aCause) throws IllegalArgumentException { LogUtil.errorMultiParam(aLog, "\n" + "?????? : " + aModeName + "\n" + "??????/???? : ", "", Arrays.asList(aEnumValues), null); throw new IllegalArgumentException("an illegal argument : \"" + aModeName + "\"", aCause); } // ----------------------------------------------------------------------------------------------------------------- /** * I make the message which enumerated aParams. <br> * aParams ?????? <br> * * @param aPrefix * * @param aSuffix * * @param aParams * ? * @return aPrefix + (aParams ) + aSuffix ?? */ public static String createMultiParamMessage(String aPrefix, String aSuffix, List<? extends Object> aParams) { StringBuilder tLogTextBuilder = new StringBuilder(); tLogTextBuilder.append(aPrefix); for (Object tCurrentParam : aParams) { tLogTextBuilder.append("\""); tLogTextBuilder.append(tCurrentParam.toString()); tLogTextBuilder.append("\" "); } tLogTextBuilder.append(aSuffix); String tString = tLogTextBuilder.toString(); return tString; } // ----------------------------------------------------------------------------------------------------------------- }