package org.gridkit.jvmtool.stacktrace.analytics; import java.util.Collection; import org.gridkit.jvmtool.stacktrace.analytics.ClassificatorAST.Filter; import org.gridkit.jvmtool.stacktrace.analytics.ClassificatorAST.FrameMatcher; public class FilterFactory { private static final BasicFilterFactory DEFAULT_FACTORY = new BasicFilterFactory(); public static ThreadSnapshotFilter build(Filter filter) { return DEFAULT_FACTORY.build(filter); } public static StackFrameMatcher build(FrameMatcher matcher) { return DEFAULT_FACTORY.build(matcher); } public static ThreadSnapshotFilter disjunction(ThreadSnapshotFilter... subfilters) { return DEFAULT_FACTORY.disjunction(subfilters); } public static ThreadSnapshotFilter disjunction(Collection<ThreadSnapshotFilter> subfilters) { return DEFAULT_FACTORY.disjunction(subfilters); } public static ThreadSnapshotFilter conjunction(ThreadSnapshotFilter... subfilters) { return DEFAULT_FACTORY.conjunction(subfilters); } public static ThreadSnapshotFilter conjunction(Collection<ThreadSnapshotFilter> subfilters) { return DEFAULT_FACTORY.conjunction(subfilters); } public static StackFrameMatcher matcherConjunction(StackFrameMatcher... subfilters) { return DEFAULT_FACTORY.matcherConjunction(subfilters); } public static StackFrameMatcher matcherConjunction(Collection<StackFrameMatcher> subfilters) { return DEFAULT_FACTORY.matcherConjunction(subfilters); } public static ThreadSnapshotFilter not(ThreadSnapshotFilter filter) { return DEFAULT_FACTORY.not(filter); } public static ThreadSnapshotFilter followed(PositionalStackMatcher matcher, ThreadSnapshotFilter filter) { return DEFAULT_FACTORY.followed(matcher, filter); } public static ThreadSnapshotFilter frameFilter(StackFrameMatcher matcher) { return DEFAULT_FACTORY.frameFilter(matcher); } public static ThreadSnapshotFilter falseFilter() { return DEFAULT_FACTORY.falseFilter(); } public static StackFrameMatcher falseFrameMatcher() { return DEFAULT_FACTORY.falseFrameMatcher(); } public static ThreadSnapshotFilter trueFilter() { return DEFAULT_FACTORY.trueFilter(); } public static StackFrameMatcher patternFrameMatcher(String... patterns) { return DEFAULT_FACTORY.patternFrameMatcher(patterns); } public static StackFrameMatcher patternFrameMatcher(Collection<String> patterns) { return DEFAULT_FACTORY.patternFrameMatcher(patterns); } public static PositionalStackMatcher lastFrame(StackFrameMatcher matcher) { return DEFAULT_FACTORY.lastFrame(matcher); } }