Java 类org.w3c.dom.css.CSSRule 实例源码

项目:InuktitutComputing    文件:NRC_HTMLDocumentByCobra.java   
private void checkForCSSPseudoRules() {
        Collection ss = document.getStyleSheets();
        java.util.Iterator itss = ss.iterator();
        Pattern patRule = Pattern.compile("^([^:]+?):(link|active|visited|hover)\\s+(\\{.+)$");
        HashSet newRules = new HashSet();
        while (itss.hasNext()) {
            CSSStyleSheetImpl ss1 = (CSSStyleSheetImpl)itss.next();
            CSSRuleList ruleList = ss1.getCssRules();
            for (int i=0; i < ruleList.getLength(); i++) {
                CSSRule rule = ruleList.item(i);
                String ruleText = rule.getCssText();
//              System.out.println("rule : "+ruleText);
                Matcher mpatRule = patRule.matcher(ruleText);
                if (mpatRule.find()) {
                    String newRuleText = mpatRule.group(1)+" "+mpatRule.group(3);
                    if (!newRules.contains(mpatRule.group(1))) {
                        newRules.add(mpatRule.group(1));
//                      System.out.println("***new rule : "+newRuleText);
                        ss1.insertRule(newRuleText, i++);
                    }
                }
            }
        }
    }
项目:svgtoandroid    文件:StyleParser.java   
private void init() {
    if (style != null) {
        String styleContent = style.getValue().getText();
        if (styleContent != null && !styleContent.isEmpty()) {
            InputSource source = new InputSource(new StringReader(styleContent));
            CSSOMParser parser = new CSSOMParser(new SACParserCSS3());
            parser.setErrorHandler(new ParserErrorHandler());
            try {
                styleSheet = parser.parseStyleSheet(source, null, null);
                cssFormat = new CSSFormat().setRgbAsHex(true);

                CSSRuleList rules = styleSheet.getCssRules();
                for (int i = 0; i < rules.getLength(); i++) {
                    final CSSRule rule = rules.item(i);
                    if (rule instanceof CSSStyleRuleImpl) {
                        styleRuleMap.put(((CSSStyleRuleImpl) rule).getSelectorText(), (CSSStyleRuleImpl) rule);
                    }
                }

            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}
项目:LoboEvolution    文件:CSSStyleSheetImpl.java   
private void readObject(final ObjectInputStream in) throws IOException, ClassNotFoundException {
    baseUri_ = (String) in.readObject();
    cssRules_ = (CSSRuleList) in.readObject();
    if (cssRules_ != null) {
        for (int i = 0; i < cssRules_.getLength(); i++) {
            final CSSRule cssRule = cssRules_.item(i);
            if (cssRule instanceof AbstractCSSRuleImpl) {
                ((AbstractCSSRuleImpl) cssRule).setParentStyleSheet(this);
            }
        }
    }
    disabled_ = in.readBoolean();
    href_ = (String) in.readObject();
    media_ = (MediaList) in.readObject();
    // TODO ownerNode may not be serializable!
    // ownerNode = (Node) in.readObject();
    readOnly_ = in.readBoolean();
    title_ = (String) in.readObject();
}
项目:LoboEvolution    文件:CssParserTest.java   
/**
 * Show style sheet.
 *
 * @param styleSheet
 *            the style sheet
 */
private void showStyleSheet(CSSStyleSheet styleSheet) {
    StringWriter stringWriter = new StringWriter();
    PrintWriter writer = new PrintWriter(stringWriter);
    writer.println("<DL>");
    CSSRuleList ruleList = styleSheet.getCssRules();
    int length = ruleList.getLength();
    for (int i = 0; i < length; i++) {
        CSSRule rule = ruleList.item(i);
        writer.println("<DT><strong>Rule: type=" + rule.getType() + ",class=" + rule.getClass().getName()
                + "</strong></DT>");
        writer.println("<DD>");
        this.writeRuleInfo(writer, rule);
        writer.println("</DD>");
    }
    writer.println("</DL>");
    writer.flush();
    String html = stringWriter.toString();
    HtmlRendererContext rcontext = new SimpleHtmlRendererContext(this.cssOutput, (UserAgentContext) null);
    this.cssOutput.setHtml(html, "about:css", rcontext);
}
项目:kie-wb-common    文件:SVGStyleTranslatorHelper.java   
public static StyleSheetDefinition parseStyleSheetDefinition(final String cssPath,
                                                             final InputStream cssStream) throws TranslatorException {
    final CSSStyleSheetImpl sheet = parseStyleSheet(new InputSource(new InputStreamReader(cssStream)));
    final CSSRuleList cssRules = sheet.getCssRules();
    final StyleSheetDefinition result = new StyleSheetDefinition(cssPath);
    for (int i = 0; i < cssRules.getLength(); i++) {
        final CSSRule item = cssRules.item(i);
        if (CSSRule.STYLE_RULE == item.getType()) {
            final CSSStyleRuleImpl rule = (CSSStyleRuleImpl) item;
            final String selectorText = rule.getSelectorText();
            final CSSStyleDeclaration declaration = rule.getStyle();
            final StyleDefinition styleDefinition = parseStyleDefinition(declaration);
            result.addStyle(selectorText, styleDefinition);
        }
    }
    return result;
}
项目:openjdk-jdk10    文件:PackageInfoTest.java   
@DataProvider(name = "jdkClasses")
public Object[][] jdkClasses() {
    return new Object[][] {
        { java.awt.Button.class,             null },
        { java.lang.Object.class,            null },
        { org.w3c.dom.css.CSSRule.class,     null },
        { loadClass("org.w3c.dom.css.Fake"), loadClass("org.w3c.dom.css.FakePackage") },
    };
}
项目:openjdk9    文件:PackageInfoTest.java   
@DataProvider(name = "jdkClasses")
public Object[][] jdkClasses() {
    return new Object[][] {
        { java.awt.Button.class,             null },
        { java.lang.Object.class,            null },
        { org.w3c.dom.css.CSSRule.class,     null },
        { loadClass("org.w3c.dom.css.Fake"), loadClass("org.w3c.dom.css.FakePackage") },
    };
}
项目:Push2Display    文件:CSSOMSVGStyleDeclaration.java   
/**
 * Creates a new CSSOMSVGStyleDeclaration.
 */
public CSSOMSVGStyleDeclaration(ValueProvider vp,
                                CSSRule parent,
                                CSSEngine eng) {
    super(vp, parent);
    cssEngine = eng;
}
项目:Push2Display    文件:CSSOMSVGStyleDeclaration.java   
/**
 * Creates a new CSSOMSVGStyleDeclaration.
 */
public CSSOMSVGStyleDeclaration(ValueProvider vp,
                                CSSRule parent,
                                CSSEngine eng) {
    super(vp, parent);
    cssEngine = eng;
}
项目:feathers-sdk    文件:CSSOMSVGStyleDeclaration.java   
/**
 * Creates a new CSSOMSVGStyleDeclaration.
 */
public CSSOMSVGStyleDeclaration(ValueProvider vp,
                                CSSRule parent,
                                CSSEngine eng) {
    super(vp, parent);
    cssEngine = eng;
}
项目:LoboEvolution    文件:CSSOMParser.java   
private CSSRule getParentRule() {
    if (!nodeStack_.empty() && nodeStack_.size() > 1) {
        final Object node = nodeStack_.get(nodeStack_.size() - 2);
        if (node instanceof CSSRule) {
            return (CSSRule) node;
        }
    }
    return null;
}
项目:LoboEvolution    文件:CSSMediaRuleImpl.java   
/**
 * {@inheritDoc}
 */
@Override
public String getCssText(final CSSFormat format) {
    final StringBuilder sb = new StringBuilder("@media ");

    sb.append(((MediaListImpl) getMedia()).getMediaText(format));
    sb.append(" {");
    for (int i = 0; i < getCssRules().getLength(); i++) {
        final CSSRule rule = getCssRules().item(i);
        sb.append(rule.getCssText()).append(" ");
    }
    sb.append("}");
    return sb.toString();
}
项目:LoboEvolution    文件:CSSMediaRuleImpl.java   
private void readObject(final ObjectInputStream in) throws IOException, ClassNotFoundException {

        cssRules_ = (CSSRuleList) in.readObject();
        if (cssRules_ != null) {
            for (int i = 0; i < cssRules_.getLength(); i++) {
                final CSSRule cssRule = cssRules_.item(i);
                if (cssRule instanceof AbstractCSSRuleImpl) {
                    ((AbstractCSSRuleImpl) cssRule).setParentRule(this);
                    ((AbstractCSSRuleImpl) cssRule).setParentStyleSheet(getParentStyleSheetImpl());
                }
            }
        }
        media_ = (MediaList) in.readObject();
    }
项目:LoboEvolution    文件:AbstractCSSRuleImpl.java   
@Override
public boolean equals(final Object obj) {
    if (this == obj) {
        return true;
    }
    if (!(obj instanceof CSSRule)) {
        return false;
    }
    return super.equals(obj);
    // don't use parentRule and parentStyleSheet in equals()
    // recursive loop -> stack overflow!
}
项目:LoboEvolution    文件:CSSRuleListImpl.java   
@Override
public CSSRule item(final int index) {
    if (index < 0 || null == rules_ || index >= rules_.size()) {
        return null;
    }
    return rules_.get(index);
}
项目:LoboEvolution    文件:CSSRuleListImpl.java   
/**
 * {@inheritDoc}
 */
@Override
public String getCssText(final CSSFormat format) {
    final StringBuilder sb = new StringBuilder();
    for (int i = 0; i < getLength(); i++) {
        if (i > 0) {
            sb.append("\r\n");
        }

        final CSSRule rule = item(i);
        sb.append(((CSSFormatable) rule).getCssText(format));
    }
    return sb.toString();
}
项目:LoboEvolution    文件:CSSRuleListImpl.java   
private boolean equalsRules(final CSSRuleList crl) {
    if ((crl == null) || (getLength() != crl.getLength())) {
        return false;
    }
    for (int i = 0; i < getLength(); i++) {
        final CSSRule cssRule1 = item(i);
        final CSSRule cssRule2 = crl.item(i);
        if (!LangUtils.equals(cssRule1, cssRule2)) {
            return false;
        }
    }
    return true;
}
项目:LoboEvolution    文件:StyleSheetAggregator.java   
/**
 * Adds the style sheet.
 *
 * @param styleSheet
 *            the style sheet
 * @throws MalformedURLException
 *             the malformed url exception
 * @throws UnsupportedEncodingException
 */
private final void addStyleSheet(CSSStyleSheet styleSheet)
        throws MalformedURLException, UnsupportedEncodingException {
    CSSRuleList ruleList = styleSheet.getCssRules();
    int length = ruleList.getLength();
    for (int i = 0; i < length; i++) {
        CSSRule rule = ruleList.item(i);
        this.addRule(styleSheet, rule);
    }
}
项目:jStyleDomBridge    文件:CSSRuleListImpl.java   
/**
 * Used to retrieve a CSS rule by ordinal index. The order in this collection
 * represents the order of the rules in the CSS style sheet. If index is
 * greater than or equal to the number of rules in the list, this returns
 * <code>null</code>.
 *
 * @param index
 *          Index into the collection
 * @return The style rule at the <code>index</code> position in the
 *         <code>CSSRuleList</code>, or <code>null</code> if that is not a
 *         valid index.
 */
public CSSRule item(final int index) {
  try {
    final RuleBlock<?> ruleBlock = jSheet.asList().get(index);
    if (ruleBlock instanceof RuleSet) {
      final RuleSet ruleSet = (RuleSet) ruleBlock;
      return new CSSStyleRuleImpl(ruleSet, parentStyleSheet);
    } else if (ruleBlock instanceof RuleFontFace) {
      final RuleFontFace ruleFontFace = (RuleFontFace) ruleBlock;
      return new CSSFontFaceRuleImpl(ruleFontFace, parentStyleSheet);
    } else if (ruleBlock instanceof RulePage) {
      final RulePage rulePage = (RulePage) ruleBlock;
      return new CSSPageRuleImpl(rulePage, parentStyleSheet);
    } else if (ruleBlock instanceof RuleMedia) {
      final RuleMedia mediaRule = (RuleMedia) ruleBlock;
      return new CSSMediaRuleImpl(mediaRule, parentStyleSheet);
    } else {
      // TODO need to return the other types of RuleBlocks as well.
      // * Import Rule
      // * Charset Rule
      // Currently returning Unknown rule
      return new CSSUnknownRuleImpl(parentStyleSheet);
    }
  } catch (final ArrayIndexOutOfBoundsException e) {
    return null;
  }
}
项目:SimpleFunctionalTest    文件:CssParser.java   
public HashMap<String, CSSStyleRule> extractCssStyleRules(String cssFile) throws IOException {
    TEST_FILE_SYSTEM.filesExists(cssFile);
    CSSOMParser cssParser = new CSSOMParser();
    CSSStyleSheet css = cssParser.parseStyleSheet(new InputSource(new FileReader(TEST_FILE_SYSTEM.file(cssFile))), null, null);
    CSSRuleList cssRules = css.getCssRules();
    HashMap<String, CSSStyleRule> rules = new HashMap<String, CSSStyleRule>();
    for (int i = 0; i < cssRules.getLength(); i++) {
        CSSRule rule = cssRules.item(i);
        if (rule instanceof CSSStyleRule) {
            rules.put(((CSSStyleRule) rule).getSelectorText(), (CSSStyleRule) rule);
        }
    }
    return rules;
}
项目:thymesheet    文件:AttributeRuleList.java   
public AttributeRuleList(CSSRuleList ruleList) {
    super(ruleList.getLength());

    for (int i = 0; i < ruleList.getLength(); i++) {
        CSSRule rule = ruleList.item(i);
        if(rule instanceof CSSStyleRule) {
            this.add((CSSStyleRule)rule);
        }
    }

}
项目:kie-wb-common    文件:SVGStyleTranslatorHelper.java   
private static StyleDefinition parseElementStyleDefinition(final String styleRaw) throws TranslatorException {
    final CSSStyleSheetImpl sheet = parseElementStyleSheet(styleRaw);
    final CSSRuleList cssRules = sheet.getCssRules();
    for (int i = 0; i < cssRules.getLength(); i++) {
        final CSSRule item = cssRules.item(i);
        if (CSSRule.STYLE_RULE == item.getType()) {
            final CSSStyleRuleImpl rule = (CSSStyleRuleImpl) item;
            String selectorText = rule.getSelectorText();
            final CSSStyleDeclaration declaration = rule.getStyle();
            return parseStyleDefinition(declaration);
        }
    }
    return null;
}
项目:openjdk-jdk10    文件:PackageInfoTest.java   
private Class<?> loadClass(String name) {
    return Class.forName(CSSRule.class.getModule(), name);
}
项目:openjdk9    文件:PackageInfoTest.java   
private Class<?> loadClass(String name) {
    return Class.forName(CSSRule.class.getModule(), name);
}
项目:Push2Display    文件:CSSOMStyleDeclaration.java   
/**
 * Creates a new style declaration.
 */
public CSSOMStyleDeclaration(ValueProvider vp, CSSRule parent) {
    valueProvider = vp;
    parentRule = parent;
}
项目:Push2Display    文件:CSSOMStyleDeclaration.java   
/**
 * Creates a new style declaration.
 */
public CSSOMStyleDeclaration(ValueProvider vp, CSSRule parent) {
    valueProvider = vp;
    parentRule = parent;
}
项目:feathers-sdk    文件:CSSOMStyleDeclaration.java   
/**
 * Creates a new style declaration.
 */
public CSSOMStyleDeclaration(ValueProvider vp, CSSRule parent) {
    valueProvider = vp;
    parentRule = parent;
}
项目:LoboEvolution    文件:CSSOMParser.java   
public CSSRule parseRule(final InputSource source) throws IOException {
    final CSSOMHandler handler = new CSSOMHandler();
    parser_.setDocumentHandler(handler);
    parser_.parseRule(source);
    return (CSSRule) handler.getRoot();
}
项目:LoboEvolution    文件:CSSMediaRuleImpl.java   
public CSSMediaRuleImpl(final CSSStyleSheetImpl parentStyleSheet, final CSSRule parentRule, final MediaList media) {
    super(parentStyleSheet, parentRule);
    media_ = media;
}
项目:LoboEvolution    文件:CSSStyleSheetImpl.java   
@Override
public CSSRule getOwnerRule() {
    return ownerRule_;
}
项目:LoboEvolution    文件:CSSStyleSheetImpl.java   
public void setOwnerRule(final CSSRule ownerRule) {
    ownerRule_ = ownerRule;
}
项目:LoboEvolution    文件:CSSUnknownRuleImpl.java   
public CSSUnknownRuleImpl(final CSSStyleSheetImpl parentStyleSheet, final CSSRule parentRule, final String text) {
    super(parentStyleSheet, parentRule);
    text_ = text;
}
项目:LoboEvolution    文件:AbstractCSSRuleImpl.java   
public void setParentRule(final CSSRule parentRule) {
    parentRule_ = parentRule;
}
项目:LoboEvolution    文件:AbstractCSSRuleImpl.java   
public AbstractCSSRuleImpl(final CSSStyleSheetImpl parentStyleSheet, final CSSRule parentRule) {
    super();
    parentStyleSheet_ = parentStyleSheet;
    parentRule_ = parentRule;
}
项目:LoboEvolution    文件:AbstractCSSRuleImpl.java   
public CSSRule getParentRule() {
    return parentRule_;
}
项目:LoboEvolution    文件:CSSCharsetRuleImpl.java   
public CSSCharsetRuleImpl(final CSSStyleSheetImpl parentStyleSheet, final CSSRule parentRule,
        final String encoding) {
    super(parentStyleSheet, parentRule);
    encoding_ = encoding;
}
项目:LoboEvolution    文件:CSSFontFaceRuleImpl.java   
public CSSFontFaceRuleImpl(final CSSStyleSheetImpl parentStyleSheet, final CSSRule parentRule) {
    super(parentStyleSheet, parentRule);
}
项目:LoboEvolution    文件:CSSPageRuleImpl.java   
public CSSPageRuleImpl(final CSSStyleSheetImpl parentStyleSheet, final CSSRule parentRule,
        final String pseudoPage) {
    super(parentStyleSheet, parentRule);
    pseudoPage_ = pseudoPage;
}
项目:LoboEvolution    文件:CSSImportRuleImpl.java   
public CSSImportRuleImpl(final CSSStyleSheetImpl parentStyleSheet, final CSSRule parentRule, final String href,
        final MediaList media) {
    super(parentStyleSheet, parentRule);
    href_ = href;
    media_ = media;
}
项目:LoboEvolution    文件:CSSStyleRuleImpl.java   
public CSSStyleRuleImpl(final CSSStyleSheetImpl parentStyleSheet, final CSSRule parentRule,
        final SelectorList selectors) {
    super(parentStyleSheet, parentRule);
    selectors_ = selectors;
}