17686add61e0a6c8e5abe28fb943cf2d698cd1266Howard Hinnant/* 27686add61e0a6c8e5abe28fb943cf2d698cd1266Howard Hinnant * Copyright 2003-2009 OFFIS, Henri Tremblay 37686add61e0a6c8e5abe28fb943cf2d698cd1266Howard Hinnant * 47686add61e0a6c8e5abe28fb943cf2d698cd1266Howard Hinnant * Licensed under the Apache License, Version 2.0 (the "License"); 57686add61e0a6c8e5abe28fb943cf2d698cd1266Howard Hinnant * you may not use this file except in compliance with the License. 67686add61e0a6c8e5abe28fb943cf2d698cd1266Howard Hinnant * You may obtain a copy of the License at 77686add61e0a6c8e5abe28fb943cf2d698cd1266Howard Hinnant * 87686add61e0a6c8e5abe28fb943cf2d698cd1266Howard Hinnant * http://www.apache.org/licenses/LICENSE-2.0 97686add61e0a6c8e5abe28fb943cf2d698cd1266Howard Hinnant * 107686add61e0a6c8e5abe28fb943cf2d698cd1266Howard Hinnant * Unless required by applicable law or agreed to in writing, software 117686add61e0a6c8e5abe28fb943cf2d698cd1266Howard Hinnant * distributed under the License is distributed on an "AS IS" BASIS, 127686add61e0a6c8e5abe28fb943cf2d698cd1266Howard Hinnant * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 137686add61e0a6c8e5abe28fb943cf2d698cd1266Howard Hinnant * See the License for the specific language governing permissions and 147686add61e0a6c8e5abe28fb943cf2d698cd1266Howard Hinnant * limitations under the License. 157686add61e0a6c8e5abe28fb943cf2d698cd1266Howard Hinnant */ 167686add61e0a6c8e5abe28fb943cf2d698cd1266Howard Hinnantpackage org.easymock.internal; 177686add61e0a6c8e5abe28fb943cf2d698cd1266Howard Hinnant 187686add61e0a6c8e5abe28fb943cf2d698cd1266Howard Hinnantimport java.lang.reflect.Array; 197686add61e0a6c8e5abe28fb943cf2d698cd1266Howard Hinnant 207686add61e0a6c8e5abe28fb943cf2d698cd1266Howard Hinnantpublic final class ArgumentToString { 217686add61e0a6c8e5abe28fb943cf2d698cd1266Howard Hinnant 221b92188a82b01e76ac6e8ad5f997293c2a078adcMarshall Clow // ///CLOVER:OFF 237686add61e0a6c8e5abe28fb943cf2d698cd1266Howard Hinnant private ArgumentToString() { 247686add61e0a6c8e5abe28fb943cf2d698cd1266Howard Hinnant } 257686add61e0a6c8e5abe28fb943cf2d698cd1266Howard Hinnant // ///CLOVER:ON 267686add61e0a6c8e5abe28fb943cf2d698cd1266Howard Hinnant 277686add61e0a6c8e5abe28fb943cf2d698cd1266Howard Hinnant public static void appendArgument(Object value, StringBuffer buffer) { 287686add61e0a6c8e5abe28fb943cf2d698cd1266Howard Hinnant if (value == null) { 297686add61e0a6c8e5abe28fb943cf2d698cd1266Howard Hinnant buffer.append("null"); 307686add61e0a6c8e5abe28fb943cf2d698cd1266Howard Hinnant } else if (value instanceof String) { 317686add61e0a6c8e5abe28fb943cf2d698cd1266Howard Hinnant buffer.append("\""); 327686add61e0a6c8e5abe28fb943cf2d698cd1266Howard Hinnant buffer.append(value); 337686add61e0a6c8e5abe28fb943cf2d698cd1266Howard Hinnant buffer.append("\""); 347686add61e0a6c8e5abe28fb943cf2d698cd1266Howard Hinnant } else if (value instanceof Character) { 357686add61e0a6c8e5abe28fb943cf2d698cd1266Howard Hinnant buffer.append("'"); 367686add61e0a6c8e5abe28fb943cf2d698cd1266Howard Hinnant buffer.append(value); 377686add61e0a6c8e5abe28fb943cf2d698cd1266Howard Hinnant buffer.append("'"); 387686add61e0a6c8e5abe28fb943cf2d698cd1266Howard Hinnant } else if (value.getClass().isArray()) { 397686add61e0a6c8e5abe28fb943cf2d698cd1266Howard Hinnant buffer.append("["); 407686add61e0a6c8e5abe28fb943cf2d698cd1266Howard Hinnant for (int i = 0; i < Array.getLength(value); i++) { 417686add61e0a6c8e5abe28fb943cf2d698cd1266Howard Hinnant if (i > 0) { 427686add61e0a6c8e5abe28fb943cf2d698cd1266Howard Hinnant buffer.append(", "); 43b2e2a8f6f3a1c47ea942bac99dd75c53be967954Howard Hinnant } 447686add61e0a6c8e5abe28fb943cf2d698cd1266Howard Hinnant appendArgument(Array.get(value, i), buffer); 457686add61e0a6c8e5abe28fb943cf2d698cd1266Howard Hinnant } 467686add61e0a6c8e5abe28fb943cf2d698cd1266Howard Hinnant buffer.append("]"); 477686add61e0a6c8e5abe28fb943cf2d698cd1266Howard Hinnant } else { 487686add61e0a6c8e5abe28fb943cf2d698cd1266Howard Hinnant buffer.append(value); 497686add61e0a6c8e5abe28fb943cf2d698cd1266Howard Hinnant } 507686add61e0a6c8e5abe28fb943cf2d698cd1266Howard Hinnant } 517686add61e0a6c8e5abe28fb943cf2d698cd1266Howard Hinnant} 52