/* * Copyright 2013 Guidewire Software, Inc. */ package gw.lang.parser.expressions; import gw.lang.parser.IExpression; import gw.lang.parser.ISymbol; import gw.lang.parser.IParsedElement; import gw.lang.reflect.IType; import gw.lang.reflect.IPropertyInfo; import java.util.List; public interface IQueryPathExpression extends IExpression, IQueryPartAssembler { IExpression getDelegate(); IType getRootType(); String getRootName(); List<String> getAccessPath(); ISymbol getSymbol(); IPropertyInfo getPropertyInfo(); public class Util { public static boolean isQueryPathExpressionPart( IFieldAccessExpression ma ) { while( true ) { IParsedElement parent = ma.getParent(); if( parent instanceof IQueryPathExpression ) { return true; } if( parent instanceof IFieldAccessExpression ) { ma = (IFieldAccessExpression)parent; } else { return false; } } } } }