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

com.couchbase.client.kotlin.search.SearchRowLocation.kt Maven / Gradle / Ivy

The newest version!
/*
 * Copyright 2022 Couchbase, Inc.
 *
 * 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
 *
 * https://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 com.couchbase.client.kotlin.search

import com.couchbase.client.core.api.search.result.CoreSearchRowLocation

public class SearchRowLocation internal constructor(
    public val field: String,
    public val term: String,
    public val position: Int,
    public val start: Int,
    public val end: Int,
    public val arrayPositions: List,
) {
    internal constructor(core: CoreSearchRowLocation) : this(
        field = core.field(),
        term = core.term(),
        position = core.pos().toInt(),
        start = core.start().toInt(),
        end = core.end().toInt(),
        arrayPositions = core.arrayPositions()?.toIntList() ?: emptyList(),
    )

    override fun toString(): String {
        return "SearchRowLocation(field='$field', term='$term', position=$position, start=$start, end=$end, arrayPositions=$arrayPositions)"
    }
}

private fun LongArray.toIntList(): List = asSequence().map { it.toInt() }.toList()




© 2015 - 2024 Weber Informatics LLC | Privacy Policy