Class ArgumentUtils

java.lang.Object
com.univocity.parsers.common.ArgumentUtils

public class ArgumentUtils extends Object
An utility class for validating inputs.
  • Field Details

    • EMPTY_STRING_ARRAY

      public static final String[] EMPTY_STRING_ARRAY
      An empty String array.
    • EMPTY_NORMALIZED_STRING_ARRAY

      public static final NormalizedString[] EMPTY_NORMALIZED_STRING_ARRAY
  • Constructor Details

    • ArgumentUtils

      public ArgumentUtils()
  • Method Details

    • notEmpty

      public static <T> void notEmpty(String argDescription, T... args)
      Throws an IllegalArgumentException if the given array is null or empty.
      Type Parameters:
      T - Type of arguments to be validated
      Parameters:
      argDescription - the description of the elements
      args - the elements to be validated.
    • noNulls

      public static <T> void noNulls(String argDescription, T... args)
      Throws an IllegalArgumentException if the given array is null,empty, or contains null values
      Type Parameters:
      T - Type of arguments to be validated
      Parameters:
      argDescription - the description of the elements
      args - the elements to be validated.
    • indexOf

      public static int indexOf(NormalizedString[] array, NormalizedString element, FieldSelector fieldSelector)
      Returns the index of a header, when headers are selected using a FieldSelector.
      Parameters:
      array - the element array
      element - the element to be looked for in the array.
      fieldSelector - a field selector that indicates which elements of the given array are selected.
      Returns:
      the index of the given element in the array, or -1 if the element could not be found.
    • indexesOf

      public static int[] indexesOf(Object[] array, Object element)
      Returns the indexes of an element in a given array.
      Parameters:
      array - the element array
      element - the element to be looked for in the array.
      Returns:
      the indexes of the given element in the array, or an empty array if no element could be found
    • indexOf

      public static int indexOf(Object[] array, Object element)
      Returns the index of an element in a given array.
      Parameters:
      array - the element array
      element - the element to be looked for in the array.
      Returns:
      the index of the given element in the array, or -1 if the element could not be found.
    • indexOf

      public static int indexOf(char[] array, char element, int from)
      Returns the index of a character in a given array.
      Parameters:
      array - the character array
      element - the character to be looked for in the array.
      from - the starting position of the array from where to start the search
      Returns:
      the index of the given character in the array, or -1 if the character could not be found.
    • indexOf

      private static int indexOf(Object[] array, Object element, int from)
      Returns the index of an element in a given array.
      Parameters:
      array - the element array
      element - the element to be looked for in the array.
      from - the starting position of the array from where to start the search
      Returns:
      the index of the given element in the array, or -1 if the element could not be found.
    • findMissingElements

      public static Object[] findMissingElements(Object[] array, Collection<?> elements)
      Searches for elements in a given array and returns the elements not found.
      Parameters:
      array - An array with elements
      elements - the elements to be found
      Returns:
      the elements not found in the array.
    • findMissingElements

      public static Object[] findMissingElements(Object[] array, Object[] elements)
      Searches for elements in a given array and returns the elements not found.
      Parameters:
      array - An array with elements
      elements - the elements to be found
      Returns:
      the elements not found in the array.
    • newWriter

      public static Writer newWriter(OutputStream output)
      Creates a Writer from an output stream
      Parameters:
      output - the output stream
      Returns:
      Writer wrapping the given output stream
    • newWriter

      public static Writer newWriter(OutputStream output, String encoding)
      Creates a Writer from an output stream
      Parameters:
      output - the output stream
      encoding - the encoding to use when writing to the output stream
      Returns:
      Writer wrapping the given output stream
    • newWriter

      public static Writer newWriter(OutputStream output, Charset encoding)
      Creates a Writer from an output stream
      Parameters:
      output - the output stream
      encoding - the encoding to use when writing to the output stream
      Returns:
      Writer wrapping the given output stream
    • newWriter

      public static Writer newWriter(File file)
      Creates a Writer from a file
      Parameters:
      file - the file to be written
      Returns:
      Writer for the given file
    • newWriter

      public static Writer newWriter(File file, String encoding)
      Creates a Writer from a file
      Parameters:
      file - the file to be written
      encoding - the encoding to use when writing to the file
      Returns:
      Writer for the given file
    • newWriter

      public static Writer newWriter(File file, Charset encoding)
      Creates a Writer from a file
      Parameters:
      file - the file to be written
      encoding - the encoding to use when writing to the file
      Returns:
      Writer for the given file
    • newReader

      public static Reader newReader(InputStream input)
      Creates a Reader from an input stream
      Parameters:
      input - the input stream
      Returns:
      a Reader wrapping the given input stream
    • newReader

      public static Reader newReader(InputStream input, String encoding)
      Creates a Reader from an input stream
      Parameters:
      input - the input stream
      encoding - the encoding to use when reading from the input stream
      Returns:
      a Reader wrapping the given input stream
    • newReader

      public static Reader newReader(InputStream input, Charset encoding)
      Creates a Reader from an input stream
      Parameters:
      input - the input stream
      encoding - the encoding to use when reading from the input stream
      Returns:
      a Reader wrapping the given input stream
    • newReader

      public static Reader newReader(File file)
      Creates a Reader for a given a file
      Parameters:
      file - the file to be read
      Returns:
      a Reader for reading the given file
    • newReader

      public static Reader newReader(File file, String encoding)
      Creates a Reader for a given a file
      Parameters:
      file - the file to be read
      encoding - the encoding to be used when reading from the file
      Returns:
      a Reader for reading the given file
    • newReader

      public static Reader newReader(File file, Charset encoding)
      Creates a Reader for a given a file
      Parameters:
      file - the file to be read
      encoding - the encoding to be used when reading from the file
      Returns:
      a Reader for reading the given file
    • toArray

      public static String[] toArray(List<Enum> enums)
      Converts a list of enumerations to an array of their Enum.toString() representation
      Parameters:
      enums - a list of enumerations to convert
      Returns:
      an array of String with the values produced by each element's Enum.toString() method.
    • toIntArray

      public static int[] toIntArray(Collection<Integer> ints)
      Converts any collection of Integer into an int array.
      Parameters:
      ints - a collection of (boxed) integers.
      Returns:
      a primitive int array with the unboxed integer values.
    • toCharArray

      public static char[] toCharArray(Collection<Character> characters)
      Converts any collection of Character into a char array.
      Parameters:
      characters - a collection of (boxed) characters.
      Returns:
      a primitive char array with the unboxed character values.
    • restrictContent

      public static String restrictContent(int length, CharSequence content)
      Restricts the length of a given content.
      Parameters:
      length - the maximum length to be displayed. If 0, the "<omitted>" string will be returned.
      content - the content whose length should be restricted.
      Returns:
      the restricted content.
    • restrictContent

      public static String restrictContent(int length, Object content)
      Restricts the length of a given content.
      Parameters:
      length - the maximum length to be displayed. If 0, the "<omitted>" string will be returned.
      content - the content whose length should be restricted.
      Returns:
      the restricted content.
    • throwUnchecked

      public static void throwUnchecked(Throwable error)
      Allows rethrowing a checked exception instead of wrapping it into a runtime exception. For internal use only as this generally causes more trouble than it solves (your exception-specific catch statement may not catch this error - make sure you are catching a Throwable)
      Parameters:
      error - the (potentially checked) exception to the thrown.
    • throwsUnchecked

      private static <T extends Exception> void throwsUnchecked(Throwable toThrow) throws T
      Throws:
      T extends Exception
    • toByteArray

      public static byte[] toByteArray(int... ints)
      Converts a sequence of int numbers into a byte array.
      Parameters:
      ints - the integers to be cast to by
      Returns:
      the resulting byte array.
    • findDuplicates

      public static <T> T[] findDuplicates(T[] array)
      Identifies duplicate values in a given array and returns them
      Type Parameters:
      T - the type of elements held in the given array.
      Parameters:
      array - the search array
      Returns:
      all duplicate values found in the given array, or empty array if no duplicates, or null if the input is null.
    • trim

      public static String trim(String input, boolean left, boolean right)
      Removes surrounding spaces from a given String, from its right or left side, or both.
      Parameters:
      input - the content to trim
      left - flag to indicate whether spaces on the left side of the string should be removed.
      right - flag to indicate whether spaces on the right side of the string should be removed.
      Returns:
      the trimmed string.
    • displayLineSeparators

      public static String displayLineSeparators(String str, boolean addNewLine)
      Displays line separators in a string by replacing all instances of `\r` and `\n` with `[cr]` and `[lf]`. If `\r` is followed by `\n` or vice versa, then `[crlf]` or `[lfcr]` will be printed.
      Parameters:
      str - the string to have its line separators displayed
      addNewLine - flag indicating whether the original `\r` or `\n` characters should be kept in the string. if true, `\r` will be replaced by `[cr]\r` for example.
      Returns:
      the updated string with any line separators replaced by visible character sequences.
    • removeAll

      public static int[] removeAll(int[] array, int e)
      Removes all instances of a given element from an int array.
      Parameters:
      array - the array to be checked
      e - the element to be removed
      Returns:
      an updated array that does not contain the given element anywhere, or the original array if the element has not been found.