/** * Returns a list of the immediate children of this element in the document element hierarchy. * <p> * The objects in the list are all of type {@link Element}. * <p> * See the {@link Source#getChildElements()} method for more details. * * @return a list of the immediate children of this element in the document element hierarchy, guaranteed not <code>null</code>. * @see #getParentElement() */ @Override public final List<Element> getChildElements() { return childElements!=null ? childElements : getChildElements(-1); }
private boolean containsOnlyInlineLevelChildElements(final Element element) { // returns true if the element contains only inline-level elements except for SCRIPT elements. final Collection<Element> childElements=element.getChildElements(); if (childElements.isEmpty()) return true; for (Element childElement : childElements) { final String elementName=childElement.getName(); if (elementName==HTMLElementName.SCRIPT || !HTMLElements.getInlineLevelElementNames().contains(elementName)) return false; if (!containsOnlyInlineLevelChildElements(childElement)) return false; } return true; } }
&& !(segment instanceof CharacterReference)) .filter(segment -> { for (Element child : element.getChildElements()) { if (child.encloses(segment)) { return false; element.getChildElements(). forEach(this::processElement);
@Override public void element(final Element element, final Context context, final BugList bugs) { final String tagName = element.getName(); if (tagName.equalsIgnoreCase(CFML_TAG_CHECK)) { boolean isDefault = false; for (final Element el : element.getChildElements()) { // decide if default was provided if (el.getName().equalsIgnoreCase(CFML_TAG_REQUIRED)) { // default found, so reassign and break isDefault = true; break; } } if (!isDefault) { // no default found context.addMessage(MESSAGE_CODE, null); } } } }
@Override public void element(final Element element, final Context context, final BugList bugs) { final String tagName = element.getName(); if (tagName.equalsIgnoreCase(CFML_TAG_CHECK)) { boolean isDefault = false; for (final Element el : element.getChildElements()) { // decide if default was provided if (el.getName().equalsIgnoreCase(CFML_TAG_REQUIRED)) { // default found, so reassign and break isDefault = true; break; } } if (!isDefault) { // no default found context.addMessage(MESSAGE_CODE, null); } } } }
private void appendElementContent(final Element element) throws IOException { final int contentEnd=element.getContentEnd(); if (element.isEmpty() || renderedIndex>=contentEnd) return; final int contentBegin=element.getStartTag().end; appendSegmentProcessingChildElements(Math.max(renderedIndex,contentBegin),contentEnd,element.getChildElements()); }
/** * Returns the previous sibling of a given element * * @param element * The Jericho HTML element object * @return the previous sibling of the given element. */ public static Element getPreviousSibling(final Element element) { if (element.getParentElement() != null) { final List<Element> parentElements = element.getParentElement().getChildElements(); final int idx = parentElements.indexOf(element); if (idx > 0) { return parentElements.get(idx - 1); } } else if (element.getSource() != null) { final List<Element> parentElements = element.getSource().getChildElements(); final int idx = parentElements.indexOf(element); if (idx > 0) { return parentElements.get(idx - 1); } } return null; }
/** * Returns the previous sibling of a given element * * @param element * The Jericho HTML element object * @return the previous sibling of the given element. */ public static Element getPreviousSibling(final Element element) { if (element.getParentElement() != null) { final List<Element> parentElements = element.getParentElement().getChildElements(); final int idx = parentElements.indexOf(element); if (idx > 0) { return parentElements.get(idx - 1); } } else if (element.getSource() != null) { final List<Element> parentElements = element.getSource().getChildElements(); final int idx = parentElements.indexOf(element); if (idx > 0) { return parentElements.get(idx - 1); } } return null; }
/** * Determine the line numbers of the <!--- @CFLintIgnore CFQUERYPARAM_REQ ---> tags * Both the current and the next line are included. * * @param element the element object * @return the line numbers of any @@CFLintIgnore annotations. */ private List<Integer> determineIgnoreLines(final Element element) { final List<Integer> ignoreLines = new ArrayList<>(); for (Element comment : element.getChildElements()) { if ("!---".equals(comment.getName()) && comment.toString().contains("@CFLintIgnore") && comment.toString().contains("CFQUERYPARAM_REQ")) { int ignoreLine = comment.getSource().getRow(comment.getEnd()); ignoreLines.add(ignoreLine); ignoreLines.add(ignoreLine + 1); ignoreLines.add(comment.getSource().getRow(comment.getBegin())); } else { ignoreLines.addAll(determineIgnoreLines(comment)); } } return ignoreLines; }
/** * Determine the line numbers of the <!--- @CFLintIgnore CFQUERYPARAM_REQ ---> tags * Both the current and the next line are included. * * @param element the element object * @return the line numbers of any @@CFLintIgnore annotations. */ private List<Integer> determineIgnoreLines(final Element element) { final List<Integer> ignoreLines = new ArrayList<>(); for (Element comment : element.getChildElements()) { if ("!---".equals(comment.getName()) && comment.toString().contains("@CFLintIgnore") && comment.toString().contains("CFQUERYPARAM_REQ")) { int ignoreLine = comment.getSource().getRow(comment.getEnd()); ignoreLines.add(ignoreLine); ignoreLines.add(ignoreLine + 1); ignoreLines.add(comment.getSource().getRow(comment.getBegin())); } else { ignoreLines.addAll(determineIgnoreLines(comment)); } } return ignoreLines; }
childElement.getChildElements(); pos=childElement.end;
childElement.getChildElements(0); if (childElement.parentElement==Element.NOT_CACHED) { // make sure element was not added as a child of a descendent element (can happen with overlapping elements) childElement.parentElement=null;
private void parse(Element root) { JerichoTag tag = new JerichoTag(root, fileName); handler.handleStartTag(tag); handler.handleText(tag.getElementPosition(), tag.getBodyText().snd); List<Element> childElements = root.getChildElements(); for (Element child : childElements) { parse(child); } handler.handleEndTag(tag); }
private void parse(Element root) { JerichoTag tag = new JerichoTag(root, fileName); handler.handleStartTag(tag); handler.handleText(tag.getElementPosition(), tag.getBodyText().snd); List<Element> childElements = root.getChildElements(); for (Element child : childElements) { parse(child); } handler.handleEndTag(tag); }
childElement.getChildElements(childDepth); if (childElement.parentElement==Element.NOT_CACHED) { // make sure element was not added as a child of a descendent element (can happen with overlapping elements) childElement.parentElement=this;
} else { for (Element child : elem.getChildElements()) { visit(child, level + 1, visitor);
processStack(elem.getChildElements(), space + " ", context); processStack(elem.getChildElements(), space + " ", context); } else if (elem.getName().equalsIgnoreCase(CF.CFSCRIPT)) { scanElement(elem, context); processStack(elem.getChildElements(), space + " ", context); } else if (elem.getName().equalsIgnoreCase(CF.CFFUNCTION)) { final Context functionContext = context.subContext(elem); functionContext.setContextType(ContextType.FUNCTION); scanElement(elem, functionContext); processStack(elem.getChildElements(), space + " ", functionContext); processStack(elem.getChildElements(), space + " ", componentContext); for (final CFLintStructureListener structurePlugin : getStructureListeners(extensions)) { try { processStack(elem.getChildElements(), space + " ", context); handler.pop(); } else if (elem.getName().equalsIgnoreCase(CF.CFCATCH)) { processStack(elem.getChildElements(), space + " ", context); handler.pop(); } else { processStack(elem.getChildElements(), space + " ", context);
processStack(elem.getChildElements(), space + " ", context); processStack(elem.getChildElements(), space + " ", context); } else if (elem.getName().equalsIgnoreCase(CF.CFSCRIPT)) { scanElement(elem, context); processStack(elem.getChildElements(), space + " ", context); } else if (elem.getName().equalsIgnoreCase(CF.CFFUNCTION)) { final Context functionContext = context.subContext(elem); functionContext.setContextType(ContextType.FUNCTION); scanElement(elem, functionContext); processStack(elem.getChildElements(), space + " ", functionContext); processStack(elem.getChildElements(), space + " ", componentContext); for (final CFLintStructureListener structurePlugin : getStructureListeners(extensions)) { try { processStack(elem.getChildElements(), space + " ", context); handler.pop(); } else if (elem.getName().equalsIgnoreCase(CF.CFCATCH)) { processStack(elem.getChildElements(), space + " ", context); handler.pop(); } else { processStack(elem.getChildElements(), space + " ", context);
appendContent(contentEnd,element.getChildElements(),depth+1);