/* * Copyright (C) 2016 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package androidx.room.util; import android.util.Log; import androidx.annotation.Nullable; import androidx.annotation.RestrictTo; import java.util.ArrayList; import java.util.List; import java.util.StringTokenizer; /** * @hide * * String utilities for Room */ @RestrictTo(RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public class StringUtil { @SuppressWarnings("unused") public static final String[] EMPTY_STRING_ARRAY = new String[0]; /** * Returns a new StringBuilder to be used while producing SQL queries. * * @return A new or recycled StringBuilder */ public static StringBuilder newStringBuilder() { // TODO pool: return new StringBuilder(); } /** * Adds bind variable placeholders (?) to the given string. Each placeholder is separated * by a comma. * * @param builder The StringBuilder for the query * @param count Number of placeholders */ public static void appendPlaceholders(StringBuilder builder, int count) { for (int i = 0; i < count; i++) { builder.append("?"); if (i < count - 1) { builder.append(","); } } } /** * Splits a comma separated list of integers to integer list. *
* If an input is malformed, it is omitted from the result.
*
* @param input Comma separated list of integers.
* @return A List containing the integers or null if the input is null.
*/
@Nullable
public static List