SafeStylesString class
A string wrapped as an object of type {@link SafeStyles}.
This class is package-private and intended for internal use by the {@link com.google.gwt.safecss} package.
All implementors must implement .equals and .hashCode so that they operate just like String.equals() and String.hashCode().
class SafeStylesString implements SafeStyles { String _css = ""; /** * Constructs a {@link SafeStylesString} from a string. Callers are * responsible for ensuring that the string passed as the argument to this * constructor satisfies the constraints of the contract imposed by the * {@link SafeStyles} interface. * * @param css the string to be wrapped as a {@link SafeStyles} */ SafeStylesString(String css) { SafeStylesUtils.verifySafeStylesConstraints(css); this._css = css; } /** * {@inheritDoc} */ String asString() { return _css; } /** * Compares this string to the specified object. */ bool operator ==(Object obj) { if (!(obj is SafeStyles)) { return false; } return _css == (obj as SafeStyles).asString(); } /** * Get a hash code for this object. * * All objects have hash codes. Hash codes are guaranteed to be the * same for objects that are equal when compared using the equality * operator [:==:]. Other than that there are no guarantees about * the hash codes. They will not be consistent between runs and * there are no distribution guarantees. * * If a subclass overrides [hashCode] it should override the * equality operator as well to maintain consistency. */ int get hashCode { return _css == null ? 0 : _css.hashCode; } }
Implements
Constructors
new SafeStylesString(String css) #
Constructs a {@link SafeStylesString} from a string. Callers are responsible for ensuring that the string passed as the argument to this constructor satisfies the constraints of the contract imposed by the {@link SafeStyles} interface.
@param css the string to be wrapped as a {@link SafeStyles}
SafeStylesString(String css) { SafeStylesUtils.verifySafeStylesConstraints(css); this._css = css; }
Properties
final int hashCode #
Get a hash code for this object.
All objects have hash codes. Hash codes are guaranteed to be the
same for objects that are equal when compared using the equality
operator ==
. Other than that there are no guarantees about
the hash codes. They will not be consistent between runs and
there are no distribution guarantees.
If a subclass overrides hashCode it should override the equality operator as well to maintain consistency.
int get hashCode { return _css == null ? 0 : _css.hashCode; }
Operators
bool operator ==(Object obj) #
Compares this string to the specified object.
bool operator ==(Object obj) { if (!(obj is SafeStyles)) { return false; } return _css == (obj as SafeStyles).asString(); }
Methods
String asString() #
{@inheritDoc}
String asString() { return _css; }