Java tutorial
/******************************************************************************* * Educational Online Test Delivery System * Copyright (c) 2013 American Institutes for Research * * Distributed under the AIR Open Source License, Version 1.0 * See accompanying file AIR-License-1_0.txt or at * http://www.smarterapp.org/documents/American_Institutes_for_Research_Open_Source_Software_License.pdf ******************************************************************************/ package org.opentestsystem.delivery.testreg.upload.parser; import static org.apache.commons.lang.StringUtils.trimToEmpty; import java.util.Arrays; import org.apache.commons.lang.ArrayUtils; /** * Internal class for Parser specific utilities. * */ public abstract class ParserTextUtils { public static boolean areAllElementsNull(String[] values) { for (String str : values) { if (str != null) { return false; } } return true; } public static boolean isEmptyRecord(String[] records) { for (String value : records) { if (!trimToEmpty(value).isEmpty()) { return false; } } return true; } public static String[] trimRecords(String[] records) { return Arrays.copyOf(trimTextValues(records), records.length, String[].class); } public static Object[] trimTextValues(Object[] records) { Object[] trimmedRecordArray = new Object[records.length]; for (int i = 0; i < records.length; i++) { Object record = records[i]; if (record instanceof String || record instanceof Number) { trimmedRecordArray[i] = record.toString().trim(); } else { trimmedRecordArray[i] = record; } } return trimmedRecordArray; } public static Object[] padEmptyIfNoColumnAtEnd(int totalColumns, Object[] records) { if (records.length < totalColumns) { return padEmptyIfNoColumnAtEnd(totalColumns, ArrayUtils.add(records, "")); } return records; } public static String[] padEmptyTextIfNoColumnAtEnd(int totalColumns, String[] records) { Object[] paddedCols = padEmptyIfNoColumnAtEnd(totalColumns, records); return Arrays.asList(paddedCols).toArray(new String[paddedCols.length]); } }