@Override @SuppressWarnings("unchecked") public GraphPatternGroup<IGroupMemberNode> getParentGraphPatternGroup() { IGroupNode<?> parent = getParent(); while (parent != null) { if (parent instanceof GraphPatternGroup) return (GraphPatternGroup<IGroupMemberNode>) parent; parent = parent.getParent(); } return null; }
@Override public JoinGroupNode getParentJoinGroup() { IGroupNode<?> parent = getParent(); while (parent != null) { if (parent instanceof JoinGroupNode) return (JoinGroupNode) parent; parent = parent.getParent(); } return null; }
@Override @SuppressWarnings("unchecked") public GraphPatternGroup<IGroupMemberNode> getParentGraphPatternGroup() { IGroupNode<?> parent = getParent(); while (parent != null) { if (parent instanceof GraphPatternGroup) return (GraphPatternGroup<IGroupMemberNode>) parent; parent = parent.getParent(); } return null; }
@Override public JoinGroupNode getParentJoinGroup() { IGroupNode<?> parent = getParent(); while (parent != null) { if (parent instanceof JoinGroupNode) return (JoinGroupNode) parent; parent = parent.getParent(); } return null; }
@Override public TermNode getContext() { final IQueryNode parent = getParent(); if (parent instanceof GroupMemberNodeBase<?>) { /* * Recursion up to the parent context. * * TODO It would seem better to explicitly recurse until we find the * first JoinGroup parent, and to define a getJoinGroup() method for * that. */ return ((GroupMemberNodeBase<?>) parent).getContext(); } return null; }
@Override public TermNode getContext() { final IQueryNode parent = getParent(); if (parent instanceof GroupMemberNodeBase<?>) { /* * Recursion up to the parent context. * * TODO It would seem better to explicitly recurse until we find the * first JoinGroup parent, and to define a getJoinGroup() method for * that. */ return ((GroupMemberNodeBase<?>) parent).getContext(); } return null; }