default double getAttributeValueAsDouble (@Nullable final String sNamespaceURI, @Nullable final String sAttrName, final double dDefault) { return StringParser.parseDouble (getAttributeValue (sNamespaceURI, sAttrName), dDefault); }
default double getAttributeValueAsDouble (@Nullable final IMicroQName aAttrName, final double dDefault) { return StringParser.parseDouble (getAttributeValue (aAttrName), dDefault); }
@Nonnull public static AcceptLanguageList getAcceptLanguages (@Nullable final String sAcceptLanguage) { final AcceptLanguageList ret = new AcceptLanguageList (); if (StringHelper.hasNoText (sAcceptLanguage)) { // No definition - access all ret.addLanguage (ANY_LANGUAGE, QValue.MAX_QUALITY); } else { // Languages are separated by "," or ", " for (final String sItem : StringHelper.getExploded (',', sAcceptLanguage)) { // Qualities are separated by ";" final String [] aParts = StringHelper.getExplodedArray (';', sItem.trim (), 2); // Default quality is 1 double dQuality = QValue.MAX_QUALITY; if (aParts.length == 2 && aParts[1].trim ().startsWith ("q=")) dQuality = StringParser.parseDouble (aParts[1].trim ().substring (2), QValue.MAX_QUALITY); ret.addLanguage (aParts[0], dQuality); } } return ret; } }
@Nonnull public static AcceptCharsetList getAcceptCharsets (@Nullable final String sAcceptCharset) { final AcceptCharsetList ret = new AcceptCharsetList (); if (StringHelper.hasNoText (sAcceptCharset)) { // No definition - access all ret.addCharset (ANY_CHARSET, QValue.MAX_QUALITY); } else { // Charsets are separated by "," or ", " for (final String sItem : StringHelper.getExploded (',', sAcceptCharset)) { // Qualities are separated by ";" final String [] aParts = StringHelper.getExplodedArray (';', sItem.trim (), 2); // Default quality is 1 double dQuality = QValue.MAX_QUALITY; if (aParts.length == 2 && aParts[1].trim ().startsWith ("q=")) dQuality = StringParser.parseDouble (aParts[1].trim ().substring (2), QValue.MAX_QUALITY); ret.addCharset (aParts[0], dQuality); } } return ret; } }
dQuality = StringParser.parseDouble (sQuality.substring (2), QValue.MAX_QUALITY);
dQuality = StringParser.parseDouble (aParts[1].trim ().substring (2), QValue.MAX_QUALITY);
@Nullable public ICSSValue createSpecialValue (@Nonnull final ICSSProperty aProperty, @Nonnull @Nonempty final String sValue, final boolean bIsImportant) { final double dValue = StringParser.parseDouble (sValue, Double.NaN); if (!Double.isNaN (dValue)) { final int nPerc = (int) (dValue * 100); return new CSSValueList (ECSSProperty.OPACITY, new ICSSProperty [] { new CSSPropertyFree (ECSSProperty.FILTER, ECSSVendorPrefix.MICROSOFT), new CSSPropertyFree (ECSSProperty.FILTER), aProperty.getClone (ECSSVendorPrefix.MOZILLA), aProperty.getClone (ECSSVendorPrefix.WEBKIT), aProperty }, new String [] { "\"progid:DXImageTransform.Microsoft.Alpha(Opacity=" + nPerc + ")\"", "alpha(opacity=" + nPerc + ")", sValue, sValue, sValue }, bIsImportant); } return null; } }