GWT 2.7.0

com.google.gwt.safecss.shared
Class SafeStylesUtils

java.lang.Object
  extended by com.google.gwt.safecss.shared.SafeStylesUtils

public final class SafeStylesUtils
extends java.lang.Object

Utility class containing static methods for creating SafeStyles.


Nested Class Summary
(package private) static class SafeStylesUtils.Impl
          Standard implementation of this class.
(package private) static class SafeStylesUtils.ImplIE8
          IE8 implementation of this class.
(package private) static class SafeStylesUtils.ImplServer
          Server implementation of this class.
 
Method Summary
static SafeStyles forBackgroundImage(SafeUri uri)
          Sets the background-image CSS property.
static SafeStyles forBorderStyle(Style.BorderStyle value)
          Sets the border-style CSS property.
static SafeStyles forBorderWidth(double value, Style.Unit unit)
          Set the border-width css property.
static SafeStyles forBottom(double value, Style.Unit unit)
          Set the bottom css property.
static SafeStyles forClear(Style.Clear value)
          Sets the 'clear' CSS property.
static SafeStyles forCursor(Style.Cursor value)
          Sets the cursor CSS property.
static SafeStyles forDisplay(Style.Display value)
          Sets the display CSS property.
static SafeStyles forFloat(Style.Float value)
          Set the float css property.
static SafeStyles forFontSize(double value, Style.Unit unit)
          Set the font-size css property.
static SafeStyles forFontStyle(Style.FontStyle value)
          Sets the font-style CSS property.
static SafeStyles forFontWeight(Style.FontWeight value)
          Sets the font-weight CSS property.
static SafeStyles forHeight(double value, Style.Unit unit)
          Set the height css property.
static SafeStyles forLeft(double value, Style.Unit unit)
          Set the left css property.
static SafeStyles forLineHeight(double value, Style.Unit unit)
          Set the line-height css property.
static SafeStyles forListStyleType(Style.ListStyleType value)
          Sets the list-style-type CSS property.
static SafeStyles forMargin(double value, Style.Unit unit)
          Set the margin css property.
static SafeStyles forMarginBottom(double value, Style.Unit unit)
          Set the margin-bottom css property.
static SafeStyles forMarginLeft(double value, Style.Unit unit)
          Set the margin-left css property.
static SafeStyles forMarginRight(double value, Style.Unit unit)
          Set the margin-right css property.
static SafeStyles forMarginTop(double value, Style.Unit unit)
          Set the margin-top css property.
static SafeStyles forOpacity(double value)
          Set the opacity css property.
static SafeStyles forOutlineStyle(Style.OutlineStyle value)
          Sets the outline-style CSS property.
static SafeStyles forOutlineWidth(double value, Style.Unit unit)
          Set the outline-width css property.
static SafeStyles forOverflow(Style.Overflow value)
          Sets the overflow CSS property.
static SafeStyles forOverflowX(Style.Overflow value)
          Sets the overflow-x CSS property.
static SafeStyles forOverflowY(Style.Overflow value)
          Sets the overflow-y CSS property.
static SafeStyles forPadding(double value, Style.Unit unit)
          Set the padding css property.
static SafeStyles forPaddingBottom(double value, Style.Unit unit)
          Set the padding-bottom css property.
static SafeStyles forPaddingLeft(double value, Style.Unit unit)
          Set the padding-left css property.
static SafeStyles forPaddingRight(double value, Style.Unit unit)
          Set the padding-right css property.
static SafeStyles forPaddingTop(double value, Style.Unit unit)
          Set the padding-top css property.
static SafeStyles forPosition(Style.Position value)
          Sets the position CSS property.
static SafeStyles forRight(double value, Style.Unit unit)
          Set the right css property.
static SafeStyles forTableLayout(Style.TableLayout value)
          Set the table-layout CSS property.
static SafeStyles forTextAlign(Style.TextAlign value)
          Sets the 'text-align' CSS property.
static SafeStyles forTextDecoration(Style.TextDecoration value)
          Sets the 'text-decoration' CSS property.
static SafeStyles forTextIndent(double value, Style.Unit unit)
          Set the 'text-indent' CSS property.
static SafeStyles forTextJustify(Style.TextJustify value)
          Set the 'text-justify' CSS3 property.
static SafeStyles forTextOverflow(Style.TextOverflow value)
          Set the 'text-overflow' CSS3 property.
static SafeStyles forTextTransform(Style.TextTransform value)
          Set the 'text-transform' CSS property.
static SafeStyles forTop(double value, Style.Unit unit)
          Set the top css property.
static SafeStyles forTrustedBackgroundColor(java.lang.String value)
           Returns a SafeStyles constructed from a trusted background color, i.e., without escaping the value.
static SafeStyles forTrustedBackgroundImage(java.lang.String value)
           Returns a SafeStyles constructed from a trusted background image, i.e., without escaping the value.
static SafeStyles forTrustedBorderColor(java.lang.String value)
           Returns a SafeStyles constructed from a trusted border color, i.e., without escaping the value.
static SafeStyles forTrustedColor(java.lang.String value)
           Returns a SafeStyles constructed from a trusted font color, i.e., without escaping the value.
static SafeStyles forTrustedOutlineColor(java.lang.String value)
           Returns a SafeStyles constructed from a trusted outline color, i.e., without escaping the value.
static SafeStyles forVerticalAlign(double value, Style.Unit unit)
          Sets the vertical-align CSS property.
static SafeStyles forVerticalAlign(Style.VerticalAlign value)
          Sets the vertical-align CSS property.
static SafeStyles forVisibility(Style.Visibility value)
          Sets the visibility CSS property.
static SafeStyles forWhiteSpace(Style.WhiteSpace value)
          Set the 'white-space' CSS property.
static SafeStyles forWidth(double value, Style.Unit unit)
          Set the width css property.
static SafeStyles forZIndex(int value)
          Set the z-index css property.
static SafeStyles fromTrustedNameAndValue(java.lang.String name, double value, Style.Unit unit)
           Returns a SafeStyles constructed from a trusted name and a trusted value, i.e., without escaping the name and value.
static SafeStyles fromTrustedNameAndValue(java.lang.String name, java.lang.String value)
           Returns a SafeStyles constructed from a trusted name and a trusted value, i.e., without escaping the name and value.
static SafeStyles fromTrustedString(java.lang.String s)
           Returns a SafeStyles constructed from a trusted string, i.e., without escaping the string.
(package private) static void verifySafeStylesConstraints(java.lang.String styles)
          Verify that the basic constraints of a SafeStyles are met.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

forBackgroundImage

public static SafeStyles forBackgroundImage(SafeUri uri)
Sets the background-image CSS property.

Parameters:
uri - the URI of the background image
Returns:
a SafeStyles instance
See Also:
forTrustedBackgroundImage(String)

forBorderStyle

public static SafeStyles forBorderStyle(Style.BorderStyle value)
Sets the border-style CSS property.


forBorderWidth

public static SafeStyles forBorderWidth(double value,
                                        Style.Unit unit)
Set the border-width css property.


forBottom

public static SafeStyles forBottom(double value,
                                   Style.Unit unit)
Set the bottom css property.


forClear

public static SafeStyles forClear(Style.Clear value)
Sets the 'clear' CSS property.


forCursor

public static SafeStyles forCursor(Style.Cursor value)
Sets the cursor CSS property.


forDisplay

public static SafeStyles forDisplay(Style.Display value)
Sets the display CSS property.


forFloat

public static SafeStyles forFloat(Style.Float value)
Set the float css property.


forFontSize

public static SafeStyles forFontSize(double value,
                                     Style.Unit unit)
Set the font-size css property.


forFontStyle

public static SafeStyles forFontStyle(Style.FontStyle value)
Sets the font-style CSS property.


forFontWeight

public static SafeStyles forFontWeight(Style.FontWeight value)
Sets the font-weight CSS property.


forHeight

public static SafeStyles forHeight(double value,
                                   Style.Unit unit)
Set the height css property.


forLeft

public static SafeStyles forLeft(double value,
                                 Style.Unit unit)
Set the left css property.


forLineHeight

public static SafeStyles forLineHeight(double value,
                                       Style.Unit unit)
Set the line-height css property.


forListStyleType

public static SafeStyles forListStyleType(Style.ListStyleType value)
Sets the list-style-type CSS property.


forMargin

public static SafeStyles forMargin(double value,
                                   Style.Unit unit)
Set the margin css property.


forMarginBottom

public static SafeStyles forMarginBottom(double value,
                                         Style.Unit unit)
Set the margin-bottom css property.


forMarginLeft

public static SafeStyles forMarginLeft(double value,
                                       Style.Unit unit)
Set the margin-left css property.


forMarginRight

public static SafeStyles forMarginRight(double value,
                                        Style.Unit unit)
Set the margin-right css property.


forMarginTop

public static SafeStyles forMarginTop(double value,
                                      Style.Unit unit)
Set the margin-top css property.


forOpacity

public static SafeStyles forOpacity(double value)
Set the opacity css property.


forOutlineStyle

public static SafeStyles forOutlineStyle(Style.OutlineStyle value)
Sets the outline-style CSS property.


forOutlineWidth

public static SafeStyles forOutlineWidth(double value,
                                         Style.Unit unit)
Set the outline-width css property.


forOverflow

public static SafeStyles forOverflow(Style.Overflow value)
Sets the overflow CSS property.


forOverflowX

public static SafeStyles forOverflowX(Style.Overflow value)
Sets the overflow-x CSS property.


forOverflowY

public static SafeStyles forOverflowY(Style.Overflow value)
Sets the overflow-y CSS property.


forPadding

public static SafeStyles forPadding(double value,
                                    Style.Unit unit)
Set the padding css property.


forPaddingBottom

public static SafeStyles forPaddingBottom(double value,
                                          Style.Unit unit)
Set the padding-bottom css property.


forPaddingLeft

public static SafeStyles forPaddingLeft(double value,
                                        Style.Unit unit)
Set the padding-left css property.


forPaddingRight

public static SafeStyles forPaddingRight(double value,
                                         Style.Unit unit)
Set the padding-right css property.


forPaddingTop

public static SafeStyles forPaddingTop(double value,
                                       Style.Unit unit)
Set the padding-top css property.


forPosition

public static SafeStyles forPosition(Style.Position value)
Sets the position CSS property.


forRight

public static SafeStyles forRight(double value,
                                  Style.Unit unit)
Set the right css property.


forTableLayout

public static SafeStyles forTableLayout(Style.TableLayout value)
Set the table-layout CSS property.


forTextAlign

public static SafeStyles forTextAlign(Style.TextAlign value)
Sets the 'text-align' CSS property.


forTextDecoration

public static SafeStyles forTextDecoration(Style.TextDecoration value)
Sets the 'text-decoration' CSS property.


forTextIndent

public static SafeStyles forTextIndent(double value,
                                       Style.Unit unit)
Set the 'text-indent' CSS property.


forTextJustify

public static SafeStyles forTextJustify(Style.TextJustify value)
Set the 'text-justify' CSS3 property.


forTextOverflow

public static SafeStyles forTextOverflow(Style.TextOverflow value)
Set the 'text-overflow' CSS3 property.


forTextTransform

public static SafeStyles forTextTransform(Style.TextTransform value)
Set the 'text-transform' CSS property.


forTop

public static SafeStyles forTop(double value,
                                Style.Unit unit)
Set the top css property.


forTrustedBackgroundColor

public static SafeStyles forTrustedBackgroundColor(java.lang.String value)

Returns a SafeStyles constructed from a trusted background color, i.e., without escaping the value. No checks are performed. The calling code should be carefully reviewed to ensure the argument will satisfy the SafeStyles contract when they are composed into the form: "<name>:<value>;".

SafeStyles may never contain literal angle brackets. Otherwise, it could be unsafe to place a SafeStyles into a <style> tag (where it can't be HTML escaped). For example, if the SafeStyles containing " font: 'foo <style><script>evil</script>'" is used in a style sheet in a <style> tag, this could then break out of the style context into HTML.

Parameters:
value - the property value
Returns:
a SafeStyles instance

forTrustedBackgroundImage

public static SafeStyles forTrustedBackgroundImage(java.lang.String value)

Returns a SafeStyles constructed from a trusted background image, i.e., without escaping the value. No checks are performed. The calling code should be carefully reviewed to ensure the argument will satisfy the SafeStyles contract when they are composed into the form: "<name>:<value>;".

SafeStyles may never contain literal angle brackets. Otherwise, it could be unsafe to place a SafeStyles into a <style> tag (where it can't be HTML escaped). For example, if the SafeStyles containing " font: 'foo <style><script>evil</script>'" is used in a style sheet in a <style> tag, this could then break out of the style context into HTML.

Parameters:
value - the property value
Returns:
a SafeStyles instance
See Also:
forBackgroundImage(SafeUri)

forTrustedBorderColor

public static SafeStyles forTrustedBorderColor(java.lang.String value)

Returns a SafeStyles constructed from a trusted border color, i.e., without escaping the value. No checks are performed. The calling code should be carefully reviewed to ensure the argument will satisfy the SafeStyles contract when they are composed into the form: "<name>:<value>;".

SafeStyles may never contain literal angle brackets. Otherwise, it could be unsafe to place a SafeStyles into a <style> tag (where it can't be HTML escaped). For example, if the SafeStyles containing " font: 'foo <style><script>evil</script>'" is used in a style sheet in a <style> tag, this could then break out of the style context into HTML.

Parameters:
value - the property value
Returns:
a SafeStyles instance

forTrustedColor

public static SafeStyles forTrustedColor(java.lang.String value)

Returns a SafeStyles constructed from a trusted font color, i.e., without escaping the value. No checks are performed. The calling code should be carefully reviewed to ensure the argument will satisfy the SafeStyles contract when they are composed into the form: "<name>:<value>;".

SafeStyles may never contain literal angle brackets. Otherwise, it could be unsafe to place a SafeStyles into a <style> tag (where it can't be HTML escaped). For example, if the SafeStyles containing " font: 'foo <style><script>evil</script>'" is used in a style sheet in a <style> tag, this could then break out of the style context into HTML.

Parameters:
value - the property value
Returns:
a SafeStyles instance

forTrustedOutlineColor

public static SafeStyles forTrustedOutlineColor(java.lang.String value)

Returns a SafeStyles constructed from a trusted outline color, i.e., without escaping the value. No checks are performed. The calling code should be carefully reviewed to ensure the argument will satisfy the SafeStyles contract when they are composed into the form: "<name>:<value>;".

SafeStyles may never contain literal angle brackets. Otherwise, it could be unsafe to place a SafeStyles into a <style> tag (where it can't be HTML escaped). For example, if the SafeStyles containing " font: 'foo <style><script>evil</script>'" is used in a style sheet in a <style> tag, this could then break out of the style context into HTML.

Parameters:
value - the property value
Returns:
a SafeStyles instance

forVerticalAlign

public static SafeStyles forVerticalAlign(double value,
                                          Style.Unit unit)
Sets the vertical-align CSS property.


forVerticalAlign

public static SafeStyles forVerticalAlign(Style.VerticalAlign value)
Sets the vertical-align CSS property.


forVisibility

public static SafeStyles forVisibility(Style.Visibility value)
Sets the visibility CSS property.


forWhiteSpace

public static SafeStyles forWhiteSpace(Style.WhiteSpace value)
Set the 'white-space' CSS property.


forWidth

public static SafeStyles forWidth(double value,
                                  Style.Unit unit)
Set the width css property.


forZIndex

public static SafeStyles forZIndex(int value)
Set the z-index css property.


fromTrustedNameAndValue

public static SafeStyles fromTrustedNameAndValue(java.lang.String name,
                                                 double value,
                                                 Style.Unit unit)

Returns a SafeStyles constructed from a trusted name and a trusted value, i.e., without escaping the name and value. No checks are performed. The calling code should be carefully reviewed to ensure the argument will satisfy the SafeStyles contract when they are composed into the form: "<name>:<value>;".

SafeStyles may never contain literal angle brackets. Otherwise, it could be unsafe to place a SafeStyles into a <style> tag (where it can't be HTML escaped). For example, if the SafeStyles containing " font: 'foo <style><script>evil</script>'" is used in a style sheet in a <style> tag, this could then break out of the style context into HTML.

The name should be in hyphenated format, not camelCase format.

Parameters:
name - the property name
value - the value
unit - the units of the value
Returns:
a SafeStyles instance

fromTrustedNameAndValue

public static SafeStyles fromTrustedNameAndValue(java.lang.String name,
                                                 java.lang.String value)

Returns a SafeStyles constructed from a trusted name and a trusted value, i.e., without escaping the name and value. No checks are performed. The calling code should be carefully reviewed to ensure the argument will satisfy the SafeStyles contract when they are composed into the form: "<name>:<value>;".

SafeStyles may never contain literal angle brackets. Otherwise, it could be unsafe to place a SafeStyles into a <style> tag (where it can't be HTML escaped). For example, if the SafeStyles containing " font: 'foo <style><script>evil</script>'" is used in a style sheet in a <style> tag, this could then break out of the style context into HTML.

The name should be in hyphenated format, not camelCase format.

Parameters:
name - the property name
value - the property value
Returns:
a SafeStyles instance

fromTrustedString

public static SafeStyles fromTrustedString(java.lang.String s)

Returns a SafeStyles constructed from a trusted string, i.e., without escaping the string. No checks are performed. The calling code should be carefully reviewed to ensure the argument meets the SafeStyles contract.

Generally, SafeStyles should be of the form cssPropertyName:value;, where neither the name nor the value contain malicious scripts.

SafeStyles may never contain literal angle brackets. Otherwise, it could be unsafe to place a SafeStyles into a <style> tag (where it can't be HTML escaped). For example, if the SafeStyles containing " font: 'foo <style><script>evil</script>'" is used in a style sheet in a <style> tag, this could then break out of the style context into HTML.

The following example values comply with this type's contract:

In addition, the empty string is safe for use in a CSS attribute.

The following example values do not comply with this type's contract:

Parameters:
s - the input String
Returns:
a SafeStyles instance

verifySafeStylesConstraints

static void verifySafeStylesConstraints(java.lang.String styles)
Verify that the basic constraints of a SafeStyles are met. This method is not a guarantee that the specified css is safe for use in a CSS style attribute. It is a minimal set of assertions to check for common errors.

Parameters:
styles - the CSS properties string
Throws:
java.lang.NullPointerException - if the css is null
java.lang.AssertionError - if the css does not meet the contraints

GWT 2.7.0