16a34bb2d6a6cbc7a70bdf0c53d238dc28e0b1d58Joseph Wen/* 26a34bb2d6a6cbc7a70bdf0c53d238dc28e0b1d58Joseph Wen * Copyright (C) 2015 The Android Open Source Project 36a34bb2d6a6cbc7a70bdf0c53d238dc28e0b1d58Joseph Wen * 46a34bb2d6a6cbc7a70bdf0c53d238dc28e0b1d58Joseph Wen * Licensed under the Apache License, Version 2.0 (the "License"); 56a34bb2d6a6cbc7a70bdf0c53d238dc28e0b1d58Joseph Wen * you may not use this file except in compliance with the License. 66a34bb2d6a6cbc7a70bdf0c53d238dc28e0b1d58Joseph Wen * You may obtain a copy of the License at 76a34bb2d6a6cbc7a70bdf0c53d238dc28e0b1d58Joseph Wen * 86a34bb2d6a6cbc7a70bdf0c53d238dc28e0b1d58Joseph Wen * http://www.apache.org/licenses/LICENSE-2.0 96a34bb2d6a6cbc7a70bdf0c53d238dc28e0b1d58Joseph Wen * 106a34bb2d6a6cbc7a70bdf0c53d238dc28e0b1d58Joseph Wen * Unless required by applicable law or agreed to in writing, software 116a34bb2d6a6cbc7a70bdf0c53d238dc28e0b1d58Joseph Wen * distributed under the License is distributed on an "AS IS" BASIS, 126a34bb2d6a6cbc7a70bdf0c53d238dc28e0b1d58Joseph Wen * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 136a34bb2d6a6cbc7a70bdf0c53d238dc28e0b1d58Joseph Wen * See the License for the specific language governing permissions and 146a34bb2d6a6cbc7a70bdf0c53d238dc28e0b1d58Joseph Wen * limitations under the License. 156a34bb2d6a6cbc7a70bdf0c53d238dc28e0b1d58Joseph Wen */ 166a34bb2d6a6cbc7a70bdf0c53d238dc28e0b1d58Joseph Wen 176a34bb2d6a6cbc7a70bdf0c53d238dc28e0b1d58Joseph Wenpackage com.android.statementservice.retriever; 186a34bb2d6a6cbc7a70bdf0c53d238dc28e0b1d58Joseph Wen 196a34bb2d6a6cbc7a70bdf0c53d238dc28e0b1d58Joseph Wen/** 206a34bb2d6a6cbc7a70bdf0c53d238dc28e0b1d58Joseph Wen * Match assets that have the same 'site' field. 216a34bb2d6a6cbc7a70bdf0c53d238dc28e0b1d58Joseph Wen */ 226a34bb2d6a6cbc7a70bdf0c53d238dc28e0b1d58Joseph Wen/* package private */ final class WebAssetMatcher extends AbstractAssetMatcher { 236a34bb2d6a6cbc7a70bdf0c53d238dc28e0b1d58Joseph Wen 246a34bb2d6a6cbc7a70bdf0c53d238dc28e0b1d58Joseph Wen private final WebAsset mQuery; 256a34bb2d6a6cbc7a70bdf0c53d238dc28e0b1d58Joseph Wen 266a34bb2d6a6cbc7a70bdf0c53d238dc28e0b1d58Joseph Wen public WebAssetMatcher(WebAsset query) { 276a34bb2d6a6cbc7a70bdf0c53d238dc28e0b1d58Joseph Wen mQuery = query; 286a34bb2d6a6cbc7a70bdf0c53d238dc28e0b1d58Joseph Wen } 296a34bb2d6a6cbc7a70bdf0c53d238dc28e0b1d58Joseph Wen 306a34bb2d6a6cbc7a70bdf0c53d238dc28e0b1d58Joseph Wen @Override 316a34bb2d6a6cbc7a70bdf0c53d238dc28e0b1d58Joseph Wen public boolean matches(AbstractAsset asset) { 326a34bb2d6a6cbc7a70bdf0c53d238dc28e0b1d58Joseph Wen if (asset instanceof WebAsset) { 336a34bb2d6a6cbc7a70bdf0c53d238dc28e0b1d58Joseph Wen WebAsset webAsset = (WebAsset) asset; 346a34bb2d6a6cbc7a70bdf0c53d238dc28e0b1d58Joseph Wen return webAsset.toJson().equals(mQuery.toJson()); 356a34bb2d6a6cbc7a70bdf0c53d238dc28e0b1d58Joseph Wen } 366a34bb2d6a6cbc7a70bdf0c53d238dc28e0b1d58Joseph Wen return false; 376a34bb2d6a6cbc7a70bdf0c53d238dc28e0b1d58Joseph Wen } 386a34bb2d6a6cbc7a70bdf0c53d238dc28e0b1d58Joseph Wen 396a34bb2d6a6cbc7a70bdf0c53d238dc28e0b1d58Joseph Wen @Override 406a34bb2d6a6cbc7a70bdf0c53d238dc28e0b1d58Joseph Wen public int getMatchedLookupKey() { 416a34bb2d6a6cbc7a70bdf0c53d238dc28e0b1d58Joseph Wen return mQuery.lookupKey(); 426a34bb2d6a6cbc7a70bdf0c53d238dc28e0b1d58Joseph Wen } 436a34bb2d6a6cbc7a70bdf0c53d238dc28e0b1d58Joseph Wen} 44