Example usage for org.w3c.dom.css CSSStyleDeclaration getPropertyValue

List of usage examples for org.w3c.dom.css CSSStyleDeclaration getPropertyValue

Introduction

In this page you can find the example usage for org.w3c.dom.css CSSStyleDeclaration getPropertyValue.

Prototype

public String getPropertyValue(String propertyName);

Source Link

Document

Used to retrieve the value of a CSS property if it has been explicitly set within this declaration block.

Usage

From source file:com.gargoylesoftware.htmlunit.javascript.host.css.ComputedCSSStyleDeclaration.java

/**
 * Makes a local, "computed", modification to this CSS style.
 *
 * @param declaration the style declaration
 * @param selector the selector determining that the style applies to this element
 *//*w ww . jav a 2 s .  c  om*/
public void applyStyleFromSelector(final org.w3c.dom.css.CSSStyleDeclaration declaration,
        final Selector selector) {
    final SelectorSpecificity specificity = new SelectorSpecificity(selector);
    for (int k = 0; k < declaration.getLength(); k++) {
        final String name = declaration.item(k);
        final String value = declaration.getPropertyValue(name);
        final String priority = declaration.getPropertyPriority(name);
        applyLocalStyleAttribute(name, value, priority, specificity);
    }
}

From source file:org.castafiore.ecm.Main.java

public static String Parse(File css, String name) throws Exception {
    String result = "";

    InputStream stream = new FileInputStream(css);
    InputSource source = new InputSource(new InputStreamReader(stream));
    CSSOMParser parser = new CSSOMParser();
    CSSStyleSheet stylesheet = parser.parseStyleSheet(source, null, null);
    CSSRuleList ruleList = stylesheet.getCssRules();
    for (int i = 0; i < ruleList.getLength(); i++) {
        CSSRule rule = ruleList.item(i);
        if (rule instanceof CSSStyleRule) {
            CSSStyleRule styleRule = (CSSStyleRule) rule;
            String selector = styleRule.getSelectorText().replace("*", "").replace("html", "").trim();
            StringBuilder b = new StringBuilder();
            if (selector.startsWith("body")) {
                selector = "." + name;
                b.append(selector);/*from w  w w  .jav a2  s  .  com*/
            } else {

                String[] asSelector = StringUtils.split(selector, ",");

                for (String s : asSelector) {
                    if (b.length() > 0) {
                        b.append(" , ");
                    }
                    //                       if(s.trim().startsWith("a:")){
                    //                          
                    //                       }
                    s = s.replace("#", ".").trim();

                    s = "." + name + " " + s;
                    b.append(s);
                }
            }

            System.out.println(b.toString() + "{");
            result = result + b.toString() + "{\n";
            CSSStyleDeclaration styleDeclaration = styleRule.getStyle();
            for (int j = 0; j < styleDeclaration.getLength(); j++) {
                String property = styleDeclaration.item(j);
                String value = styleDeclaration.getPropertyValue(property);
                System.out.println("\t" + property + ":" + value);
                result = result + "\t" + property + ":" + value + ";\n";
            }
            result = result + "}\n";
            System.out.println("}");

        }
    }

    if (stream != null)
        stream.close();

    return result;
}

From source file:org.kie.workbench.common.stunner.svg.gen.translator.css.SVGStyleTranslator.java

private static StyleDefinition parseStyleDefinition(final CSSStyleDeclaration declaration) {
    final StyleDefinitionImpl.Builder builder = new StyleDefinitionImpl.Builder();
    boolean isFillNone = false;
    boolean isStrokeNone = false;
    for (int j = 0; j < declaration.getLength(); j++) {
        final String property = declaration.item(j).trim();
        final String value = declaration.getPropertyValue(property).trim();
        switch (property) {
        case OPACITY:
            builder.setAlpha(SVGAttributeParser.toPixelValue(value));
            break;
        case FILL:
            if (ATTR_VALUE_NONE.equals(value)) {
                isFillNone = true;//w w  w  .  j a  va  2 s  .com
            } else {
                builder.setFillColor(SVGAttributeParser.toHexColorString(value));
            }
            break;
        case FILL_OPACITY:
            builder.setFillAlpha(SVGAttributeParser.toPixelValue(value));
            break;
        case STROKE:
            if (ATTR_VALUE_NONE.equals(value)) {
                isStrokeNone = true;
            } else {
                builder.setStrokeColor(SVGAttributeParser.toHexColorString(value));
            }
            break;
        case STROKE_OPACITY:
            builder.setStrokeAlpha(SVGAttributeParser.toPixelValue(value));
            break;
        case STROKE_WIDTH:
            builder.setStrokeWidth(SVGAttributeParser.toPixelValue(value));
            break;
        case STROKE_DASHARRAY:
            builder.setStrokeDashArray(value);
            break;
        case FONT_FAMILY:
            builder.setFontFamily(value.trim());
            break;
        case FONT_SIZE:
            builder.setFontSize(SVGAttributeParser.toPixelValue(value));
            break;
        }
    }
    if (isFillNone) {
        builder.setFillAlpha(0);
    }
    if (isStrokeNone) {
        builder.setStrokeAlpha(0);
    }
    return builder.build();
}

From source file:org.kie.workbench.common.stunner.svg.gen.translator.css.SVGStyleTranslatorHelper.java

private static StyleDefinition parseStyleDefinition(final CSSStyleDeclaration declaration) {
    final StyleDefinitionImpl.Builder builder = new StyleDefinitionImpl.Builder();
    boolean isFillNone = false;
    boolean isStrokeNone = false;
    for (int j = 0; j < declaration.getLength(); j++) {
        final String property = declaration.item(j).trim();
        final String value = declaration.getPropertyValue(property).trim();
        switch (property) {
        case OPACITY:
            builder.setAlpha(SVGAttributeParserUtils.toPixelValue(value));
            break;
        case FILL:
            if (ATTR_VALUE_NONE.equals(value)) {
                isFillNone = true;/*ww  w  .  j  a  v  a  2  s  .c om*/
            } else {
                builder.setFillColor(SVGAttributeParserUtils.toHexColorString(value));
            }
            break;
        case FILL_OPACITY:
            builder.setFillAlpha(SVGAttributeParserUtils.toPixelValue(value));
            break;
        case STROKE:
            if (ATTR_VALUE_NONE.equals(value)) {
                isStrokeNone = true;
            } else {
                builder.setStrokeColor(SVGAttributeParserUtils.toHexColorString(value));
            }
            break;
        case STROKE_OPACITY:
            builder.setStrokeAlpha(SVGAttributeParserUtils.toPixelValue(value));
            break;
        case STROKE_WIDTH:
            builder.setStrokeWidth(SVGAttributeParserUtils.toPixelValue(value));
            break;
        }
    }
    if (isFillNone) {
        builder.setFillAlpha(0);
    }
    if (isStrokeNone) {
        builder.setStrokeAlpha(0);
    }
    return builder.build();
}

From source file:org.xwiki.rendering.internal.wiki.XWikiWikiModel.java

/**
 * Extracts the specified image dimension from the image parameters.
 *
 * @param dimension either {@code width} or {@code height}
 * @param imageParameters the image parameters; may include the {@code width}, {@code height} and {@code style}
 *            parameters//from ww w  .  jav a2 s . c o  m
 * @return the value of the passed dimension if it is specified in the image parameters, {@code null} otherwise
 */
private String getImageDimension(String dimension, Map<String, String> imageParameters) {
    // Check first if the style parameter contains information about the given dimension. In-line style has priority
    // over the dimension parameters.
    String value = null;
    String style = imageParameters.get("style");
    if (StringUtils.isNotBlank(style)) {
        try {
            CSSStyleDeclaration sd = this.cssParser
                    .parseStyleDeclaration(new InputSource(new StringReader(style)));
            value = sd.getPropertyValue(dimension);
        } catch (IOException e) {
            // Ignore the style parameter.
        }
    }
    if (StringUtils.isBlank(value)) {
        // Fall back on the value of the dimension parameter.
        value = imageParameters.get(dimension);
    }
    return value;
}