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

net.sf.expectit.ant.matcher.AbstractMultiMatcherElement Maven / Gradle / Ivy

There is a newer version: 0.9.0
Show newest version
package net.sf.expectit.ant.matcher;

/*
 * #%L
 * ExpectIt
 * %%
 * Copyright (C) 2014 Alexey Gavrilov and contributors
 * %%
 * 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.
 * #L%
 */

import java.util.ArrayList;
import java.util.List;
import net.sf.expectit.MultiResult;
import net.sf.expectit.Result;
import net.sf.expectit.matcher.Matcher;

/**
 * An abstract base element that represents a composite matcher.
 */
abstract class AbstractMultiMatcherElement extends AbstractMatcherElement {
    private final List> tasks = new
            ArrayList>();

    /**
     * Adds a child matcher element.
     *
     * @param matcherTask the matcher element
     */
    public void add(AbstractMatcherElement matcherTask) {
        tasks.add(matcherTask);
    }

    /**
     * {@inheritDoc}
     * 

* In addition, this method exports the children results. They are exported using their * {@code resultPrefix}, and * via shortcut {@code prefix + "." + <number>}, where the number here is the result * index. * * @param prefix the property prefix * @param result the result */ @Override protected void exportSuccessfulResult(String prefix, MultiResult result) { super.exportSuccessfulResult(prefix, result); for (int i = 0; i < tasks.size(); i++) { AbstractMatcherElement t = tasks.get(i); t.exportSuccessfulResult(t.getResultPrefix(), result.getResults().get(i)); t.exportSuccessfulResult(prefix + "." + i, result.getResults().get(i)); } } /** * Creates and return all the children matchers. * * @return matcher array */ protected Matcher[] getMatchers() { Matcher[] matchers = new Matcher[tasks.size()]; for (int i = 0; i < matchers.length; i++) { matchers[i] = tasks.get(i).createMatcher(); } return matchers; } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy