// Copyright 2015 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. package org.chromium.chrome.browser.bookmarks; import android.util.Pair; import org.chromium.base.annotations.CalledByNative; import org.chromium.components.bookmarks.BookmarkId; import java.util.List; /** * Object that associates a BookmarkId with search term matches found in the bookmark's title and * url. */ public class BookmarkMatch { private final BookmarkId mBookmarkId; private final List<Pair<Integer, Integer>> mTitleMatchPositions; private final List<Pair<Integer, Integer>> mUrlMatchPositions; /** * @param bookmarkId The BookmarkId fassociated with this match. * @param titleMatchPositions A list of [begin, end) positions for matches in the title; * may be null. * @param urlMatchPositions A list of [begin, end) positions for matches in the url; * may be null. */ public BookmarkMatch(BookmarkId bookmarkId, List<Pair<Integer, Integer>> titleMatchPositions, List<Pair<Integer, Integer>> urlMatchPositions) { mBookmarkId = bookmarkId; mTitleMatchPositions = titleMatchPositions; mUrlMatchPositions = urlMatchPositions; } /** * @return The BookmarkId associated with this match. */ public BookmarkId getBookmarkId() { return mBookmarkId; } /** * @return A list of [begin, end) positions for matches in the title; may return null. */ public List<Pair<Integer, Integer>> getTitleMatchPositions() { return mTitleMatchPositions; } /** * @return A list of [begin, end) positions for matches in the url; may return null. */ public List<Pair<Integer, Integer>> getUrlMatchPositions() { return mUrlMatchPositions; } @CalledByNative private static BookmarkMatch createBookmarkMatch(BookmarkId bookmarkId, List<Pair<Integer, Integer>> titleMatchPositions, List<Pair<Integer, Integer>> urlMatchPositions) { return new BookmarkMatch(bookmarkId, titleMatchPositions, urlMatchPositions); } }