All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.carrot2.util.MutableCharArrayUtils Maven / Gradle / Ivy

There is a newer version: 4.6.0
Show newest version
/*
 * Carrot2 project.
 *
 * Copyright (C) 2002-2021, Dawid Weiss, Stanisław Osiński.
 * All rights reserved.
 *
 * Refer to the full license file "carrot2.LICENSE"
 * in the root folder of the repository checkout or at:
 * https://www.carrot2.org/carrot2.LICENSE
 */
package org.carrot2.util;

/** Various utility methods operating on a {@link MutableCharArray}. */
public final class MutableCharArrayUtils {
  /**
   * Convert to lower case the source array and save the result into the result
   *  array. If the result array is too small to accommodate the result, its buffer will be
   * reallocated.
   *
   * @return Returns true if at least one character was changed between source
   *      and result. false indicates an identical copy.
   */
  public static boolean toLowerCase(MutableCharArray source, MutableCharArray result) {
    char[] buffer = result.getBuffer();

    final int length = source.length();
    if (buffer.length < length) {
      buffer = new char[length];
    }

    final boolean changed =
        CharArrayUtils.toLowerCase(source.getBuffer(), buffer, source.getStart(), source.length());
    result.reset(buffer, 0, length);

    return changed;
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy