package org.infinispan.objectfilter.impl.syntax.parser; import org.infinispan.objectfilter.impl.ql.QueryParser; /** * @author anistor@redhat.com * @since 9.0 */ public final class IckleParser { private static final QueryParser queryParser = new QueryParser(); private IckleParser() { } public static <TypeMetadata> IckleParsingResult<TypeMetadata> parse(String queryString, ObjectPropertyHelper<TypeMetadata> propertyHelper) { QueryResolverDelegateImpl resolverDelegate = new QueryResolverDelegateImpl<>(propertyHelper); QueryRendererDelegateImpl<TypeMetadata> rendererDelegate = new QueryRendererDelegateImpl<>(queryString, propertyHelper); queryParser.parseQuery(queryString, resolverDelegate, rendererDelegate); return rendererDelegate.getResult(); } }