UnknownCssSelectorException(Selector selector) { super("CSS selector \""+selector.getClass().getSimpleName() + "\" (type="+ selector.getSelectorType() + ") is invalid or not supported!"); }
UnknownCssSelectorException(Selector selector) { super("CSS selector \""+selector.getClass().getSimpleName() + "\" (type="+ selector.getSelectorType() + ") is invalid or not supported!"); }
private static CssSelector<? extends Selector, ? extends XPathComponent> getSelector(Selector selector) { switch (selector.getSelectorType()) { case Selector.SAC_CONDITIONAL_SELECTOR: return conditionalCssSelector; case Selector.SAC_ELEMENT_NODE_SELECTOR: return tagNameSelector; // COMBINATORS case Selector.SAC_DESCENDANT_SELECTOR: return descendantCssSelector; case Selector.SAC_CHILD_SELECTOR: return directDescendantCssSelector; case Selector.SAC_DIRECT_ADJACENT_SELECTOR: // both "E ~ F" and "E + F" return DIRECT_ADJACENT_SELECTOR, so we must resort to instanceof... if (selector instanceof GeneralAdjacentSelectorImpl) { return generalAdjacentCssSelector; } return directAdjacentCssSelector; case Selector.SAC_ANY_NODE_SELECTOR: case Selector.SAC_ROOT_NODE_SELECTOR: case Selector.SAC_NEGATIVE_SELECTOR: case Selector.SAC_TEXT_NODE_SELECTOR: case Selector.SAC_CDATA_SECTION_NODE_SELECTOR: case Selector.SAC_PROCESSING_INSTRUCTION_NODE_SELECTOR: case Selector.SAC_COMMENT_NODE_SELECTOR: case Selector.SAC_PSEUDO_ELEMENT_SELECTOR: default: return new UnknownCssSelector<>(selector.getSelectorType()); } }
private static CssSelector<? extends Selector, ? extends XPathComponent> getSelector(Selector selector) { switch (selector.getSelectorType()) { case Selector.SAC_CONDITIONAL_SELECTOR: return conditionalCssSelector; case Selector.SAC_ELEMENT_NODE_SELECTOR: return tagNameSelector; // COMBINATORS case Selector.SAC_DESCENDANT_SELECTOR: return descendantCssSelector; case Selector.SAC_CHILD_SELECTOR: return directDescendantCssSelector; case Selector.SAC_DIRECT_ADJACENT_SELECTOR: // both "E ~ F" and "E + F" return DIRECT_ADJACENT_SELECTOR, so we must resort to instanceof... if (selector instanceof GeneralAdjacentSelectorImpl) { return generalAdjacentCssSelector; } return directAdjacentCssSelector; case Selector.SAC_ANY_NODE_SELECTOR: case Selector.SAC_ROOT_NODE_SELECTOR: case Selector.SAC_NEGATIVE_SELECTOR: case Selector.SAC_TEXT_NODE_SELECTOR: case Selector.SAC_CDATA_SECTION_NODE_SELECTOR: case Selector.SAC_PROCESSING_INSTRUCTION_NODE_SELECTOR: case Selector.SAC_COMMENT_NODE_SELECTOR: case Selector.SAC_PSEUDO_ELEMENT_SELECTOR: default: return new UnknownCssSelector<>(selector.getSelectorType()); } }
if (selector.getSelectorType() == Selector.SAC_CONDITIONAL_SELECTOR) { StringBuilder stringBuilder = new StringBuilder(); ConditionalSelector conditionalSelector = (ConditionalSelector) selector; stringBuilder.append(conditionString); return stringBuilder.toString(); } else if (selector.getSelectorType() == Selector.SAC_DESCENDANT_SELECTOR) { return getDecendantSelectorString((DescendantSelector) selector, " "); } else if (selector.getSelectorType() == Selector.SAC_CHILD_SELECTOR) { DescendantSelector childSelector = (DescendantSelector) selector; String seperator = " > "; } else if (selector.getSelectorType() == Selector.SAC_ELEMENT_NODE_SELECTOR) { ElementSelectorImpl elementSelector = (ElementSelectorImpl) selector; return elementSelector.getLocalName() == null ? "" : elementSelector.getLocalName(); } else if (selector.getSelectorType() == Selector.SAC_DIRECT_ADJACENT_SELECTOR) { DirectAdjacentSelectorImpl directAdjacentSelector = (DirectAdjacentSelectorImpl) selector; StringBuilder stringBuilder = new StringBuilder(); .getSiblingSelector())); return stringBuilder.toString(); } else if (selector.getSelectorType() == Selector.SAC_PSEUDO_ELEMENT_SELECTOR) { PseudoElementSelectorImpl pseudoElementSelectorImpl = (PseudoElementSelectorImpl) selector; return pseudoElementSelectorImpl.getLocalName(); } else if (selector.getSelectorType() == CompositeSelector.SCSS_COMPOSITE_SELECTOR) { return toString((CompositeSelector) selector); } else {
for (int j = 0; j < l; j++) { Selector selector = (Selector) selectorList.item(j); if (selector.getSelectorType() == selectorType) { switch (selectorType) { case Selector.SAC_CONDITIONAL_SELECTOR:
public CssSelector translate(ArgumentMap argumentMap, Selector selector) { switch (selector.getSelectorType()) { case Selector.SAC_CONDITIONAL_SELECTOR: return conditionalCssSelector.translate(argumentMap, (ConditionalSelector) selector); case Selector.SAC_ELEMENT_NODE_SELECTOR: return tagNameSelector.translate((ElementSelector) selector); // COMBINATORS case Selector.SAC_DESCENDANT_SELECTOR: return combinatorSelectorTranslator.translateDescendant(argumentMap, (DescendantSelector) selector); case Selector.SAC_CHILD_SELECTOR: return combinatorSelectorTranslator.translateDirectDescendant(argumentMap, (DescendantSelector) selector); case Selector.SAC_DIRECT_ADJACENT_SELECTOR: // both "E ~ F" and "E + F" return DIRECT_ADJACENT_SELECTOR, so we must resort to instanceof... if (selector instanceof GeneralAdjacentSelectorImpl) { return combinatorSelectorTranslator.translateGeneralAdjacent(argumentMap, (SiblingSelector) selector); } return combinatorSelectorTranslator.translateDirectAdjacent(argumentMap, (SiblingSelector) selector); case Selector.SAC_ANY_NODE_SELECTOR: case Selector.SAC_ROOT_NODE_SELECTOR: case Selector.SAC_NEGATIVE_SELECTOR: case Selector.SAC_TEXT_NODE_SELECTOR: case Selector.SAC_CDATA_SECTION_NODE_SELECTOR: case Selector.SAC_PROCESSING_INSTRUCTION_NODE_SELECTOR: case Selector.SAC_COMMENT_NODE_SELECTOR: case Selector.SAC_PSEUDO_ELEMENT_SELECTOR: default: throw new UnknownCssSelectorException(selector); } }
public CssSelector translate(ArgumentMap argumentMap, Selector selector) { switch (selector.getSelectorType()) { case Selector.SAC_CONDITIONAL_SELECTOR: return conditionalCssSelector.translate(argumentMap, (ConditionalSelector) selector); case Selector.SAC_ELEMENT_NODE_SELECTOR: return tagNameSelector.translate((ElementSelector) selector); // COMBINATORS case Selector.SAC_DESCENDANT_SELECTOR: return combinatorSelectorTranslator.translateDescendant(argumentMap, (DescendantSelector) selector); case Selector.SAC_CHILD_SELECTOR: return combinatorSelectorTranslator.translateDirectDescendant(argumentMap, (DescendantSelector) selector); case Selector.SAC_DIRECT_ADJACENT_SELECTOR: // both "E ~ F" and "E + F" return DIRECT_ADJACENT_SELECTOR, so we must resort to instanceof... if (selector instanceof GeneralAdjacentSelectorImpl) { return combinatorSelectorTranslator.translateGeneralAdjacent(argumentMap, (SiblingSelector) selector); } return combinatorSelectorTranslator.translateDirectAdjacent(argumentMap, (SiblingSelector) selector); case Selector.SAC_ANY_NODE_SELECTOR: case Selector.SAC_ROOT_NODE_SELECTOR: case Selector.SAC_NEGATIVE_SELECTOR: case Selector.SAC_TEXT_NODE_SELECTOR: case Selector.SAC_CDATA_SECTION_NODE_SELECTOR: case Selector.SAC_PROCESSING_INSTRUCTION_NODE_SELECTOR: case Selector.SAC_COMMENT_NODE_SELECTOR: case Selector.SAC_PSEUDO_ELEMENT_SELECTOR: default: throw new UnknownCssSelectorException(selector); } }
switch (selector.getSelectorType()) { case Selector.SAC_ANY_NODE_SELECTOR: return true; return false; default: LOG.error("Unknown CSS selector type '" + selector.getSelectorType() + "'."); return false;
switch (selector.getSelectorType()) { case Selector.SAC_ANY_NODE_SELECTOR: return true; return false; default: LOG.error("Unknown CSS selector type '" + selector.getSelectorType() + "'."); return false;
switch (selector.getSelectorType()) { case Selector.SAC_ANY_NODE_SELECTOR: return true; return false; default: LOG.error("Unknown CSS selector type '" + selector.getSelectorType() + "'."); return false;
switch (selector.getSelectorType()) { case Selector.SAC_ANY_NODE_SELECTOR: case Selector.SAC_ELEMENT_NODE_SELECTOR:
private boolean isMatch( final ReportElement node, final Selector selector ) { final short selectorType = selector.getSelectorType(); switch ( selectorType ) { case Selector.SAC_ANY_NODE_SELECTOR:
private boolean isMatch( final LayoutElement node, final Selector selector ) { final short selectorType = selector.getSelectorType(); switch( selectorType ) { case Selector.SAC_ANY_NODE_SELECTOR:
break; case '+': sel = getSelectorFactory().createDirectAdjacentSelector(sel.getSelectorType(), sel, simpleSel); break; case '>': break; case '~': sel = getSelectorFactory().createGeneralAdjacentSelector(sel.getSelectorType(), sel, simpleSel); break;
break; case '+': sel = getSelectorFactory().createDirectAdjacentSelector(sel.getSelectorType(), sel, simpleSel); break; case '>':
break; case '+': sel = getSelectorFactory().createDirectAdjacentSelector(sel.getSelectorType(), sel, simpleSel); break; case '>':