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

io.gdcc.xoai.xmlio.matchers.extractor.MatcherExtractor Maven / Gradle / Ivy

/**
 * Copyright 2012 Lyncode
 *
 * 

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 io.gdcc.xoai.xmlio.matchers.extractor; import org.hamcrest.Description; import org.hamcrest.Matcher; import org.hamcrest.TypeSafeMatcher; public class MatcherExtractor extends TypeSafeMatcher { public static MatcherExtractor valueOf( ExtractFunction extractFunction, Matcher matcher) { return new MatcherExtractor(matcher, extractFunction); } private final Matcher matcher; private final ExtractFunction extractor; public MatcherExtractor(Matcher matcher, ExtractFunction extractor) { this.matcher = matcher; this.extractor = extractor; } @Override protected boolean matchesSafely(V item) { return matcher.matches(extractor.apply(item)); } @Override public void describeTo(Description description) { description.appendDescriptionOf(extractor).appendText(" ").appendDescriptionOf(matcher); } @Override protected void describeMismatchSafely(V item, Description mismatchDescription) { mismatchDescription.appendText("was ").appendValue(extractor.apply(item)); } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy