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

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


/*
 * Carrot2 project.
 *
 * Copyright (C) 2002-2015, 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:
 * http://www.carrot2.org/carrot2.LICENSE
 */

package org.carrot2.text.util;

import org.carrot2.util.CharArrayUtils;

/**
 * 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.
     * 
     * @param source
     * @param result
     * @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