package com.indeed.proctor.common.dynamic;

import com.google.common.base.Preconditions;
import com.indeed.proctor.common.model.ConsumableTestDefinition;

public class TestNamePrefixFilter implements DynamicFilter {
    private final String prefix;

    public TestNamePrefixFilter(final String prefix) {
        Preconditions.checkArgument(!prefix.isEmpty(), "Prefix should be non-empty string");
        this.prefix = prefix;
    }

    @Override
    public boolean matches(final String testName, final ConsumableTestDefinition testDefinition) {
        return testName.startsWith(prefix);
    }
}

@@ -243,16 +243,213 @@
 refix;%0A%0A
+    /**%0A     * Construct the filter from test name prefix string%0A     * @param prefix prefix string matches the test names%0A     * @throws IllegalArgumentException if prefix is empty string%0A     */%0A
     publ

Add javadoc for TestNamePrefixFilter constructor