@Override protected boolean operation(int i, Map<String, CSSProperty> properties, Map<String, Term<?>> values) { return genericTermIdent(type, terms.get(i), AVOID_INH, names.get(i), properties) || genericTerm(TermColor.class, terms.get(i), names.get(i), BorderColor.color, false, properties, values); } }
@Override protected boolean operation(int i, Map<String, CSSProperty> properties, Map<String, Term<?>> values) { return genericTermIdent(type, terms.get(i), AVOID_INH, names.get(i), properties) || genericTermLength(terms.get(i), names.get(i), Margin.length, false, properties, values) || genericTerm(TermPercent.class, terms.get(i), names .get(i), Margin.percentage, false, properties, values); } }
@SuppressWarnings("unused") private boolean processClip(Declaration d, Map<String, CSSProperty> properties, Map<String, Term<?>> values) { if (d.size() != 1) return false; Term<?> term = d.get(0); if (term instanceof TermIdent) { final Set<Clip> allowedClips = EnumSet.allOf(Clip.class); Clip clip = genericPropertyRaw(Clip.class, allowedClips, (TermIdent) term); if (clip != null) { properties.put("clip", clip); return true; } return false; } else if (term instanceof TermFunction) { return genericTerm(TermFunction.class, term, "clip", Clip.shape, false, properties, values); } return false; }
return genericProperty(GenericCSSPropertyProxy.class, (TermIdent) term, true, properties, d.getProperty()); else return genericTerm(TermLength.class, term, d.getProperty(), null, false, properties, values) || genericTerm(TermPercent.class, term, d.getProperty(), null, false, properties, values) || genericTerm(TermInteger.class, term, d.getProperty(), null, false, properties, values) || genericTermColor(term, d.getProperty(), null, properties, values);
@Override protected boolean operation(int i, Map<String, CSSProperty> properties, Map<String, Term<?>> values) { return genericTermIdent(type, terms.get(i), AVOID_INH, names.get(i), properties) || genericTermLength(terms.get(i), names.get(i), Padding.length, false, properties, values) || genericTerm(TermPercent.class, terms.get(i), names .get(i), Padding.percentage, false, properties, values); } }
@Override protected boolean operation(int i, Map<String, CSSProperty> properties, Map<String, Term<?>> values) { return genericTermIdent(type, terms.get(i), ALLOW_INH, names.get(i), properties) || genericTerm(TermColor.class, terms.get(i), names.get(i), BorderColor.color, false, properties, values); } }
return genericProperty(GenericCSSPropertyProxy.class, (TermIdent) term, true, properties, d.getProperty()); else return genericTerm(TermLength.class, term, d.getProperty(), null, false, properties, values) || genericTerm(TermPercent.class, term, d.getProperty(), null, false, properties, values) || genericTerm(TermInteger.class, term, d.getProperty(), null, false, properties, values) || genericTermColor(term, d.getProperty(), null, properties, values);
return genericTerm(TermLength.class, tl, propertyName, lengthIdentification, sanify, properties, values); } else { return false; return genericTerm(TermLength.class, term, propertyName, lengthIdentification, sanify, properties, values);
@Override protected boolean operation(int i, Map<String, CSSProperty> properties, Map<String, Term<?>> values) { return genericTermIdent(type, terms.get(i), AVOID_INH, names.get(i), properties) || genericTermLength(terms.get(i), names.get(i), Margin.length, false, properties, values) || genericTerm(TermPercent.class, terms.get(i), names .get(i), Margin.percentage, false, properties, values); } }
@Override protected boolean variant(int v, IntegerRef iteration, Map<String, CSSProperty> properties, Map<String, Term<?>> values) { // we won't use multivalue functionallity int i = iteration.get(); switch (v) { case TYPE: // list style type return genericTermIdent(ListStyleType.class, terms.get(i), AVOID_INH, names.get(TYPE), properties); case POSITION: // list style position return genericTermIdent(ListStylePosition.class, terms.get(i), AVOID_INH, names.get(POSITION), properties); case IMAGE: // list style image return genericTermIdent(types.get(IMAGE), terms.get(i), AVOID_INH, names.get(IMAGE), properties) || genericTerm(TermURI.class, terms.get(i), names .get(IMAGE), ListStyleImage.uri, false, properties, values); default: return false; } } }
return genericTerm(TermLength.class, tl, propertyName, lengthIdentification, sanify, properties, values); } else { return false; return genericTerm(TermLength.class, term, propertyName, lengthIdentification, sanify, properties, values);
@Override protected boolean operation(int i, Map<String, CSSProperty> properties, Map<String, Term<?>> values) { return genericTermIdent(type, terms.get(i), AVOID_INH, names.get(i), properties) || genericTermLength(terms.get(i), names.get(i), Padding.length, false, properties, values) || genericTerm(TermPercent.class, terms.get(i), names .get(i), Padding.percentage, false, properties, values); } }
@Override protected boolean variant(int v, IntegerRef iteration, Map<String, CSSProperty> properties, Map<String, Term<?>> values) { // we won't use multivalue functionallity int i = iteration.get(); switch (v) { case TYPE: // list style type return genericTermIdent(ListStyleType.class, terms.get(i), AVOID_INH, names.get(TYPE), properties); case POSITION: // list style position return genericTermIdent(ListStylePosition.class, terms.get(i), AVOID_INH, names.get(POSITION), properties); case IMAGE: // list style image return genericTermIdent(types.get(IMAGE), terms.get(i), AVOID_INH, names.get(IMAGE), properties) || genericTerm(TermURI.class, terms.get(i), names .get(IMAGE), ListStyleImage.uri, false, properties, values); default: return false; } } }
protected <T extends Enum<T> & CSSProperty> boolean genericOneIdentOrLengthOrPercent( Class<T> type, T lengthIdentification, T percentIdentification, boolean sanify, Declaration d, Map<String, CSSProperty> properties, Map<String, Term<?>> values) { if (d.size() != 1) return false; return genericTermIdent(type, d.get(0), ALLOW_INH, d.getProperty(), properties) || genericTermLength(d.get(0), d.getProperty(), lengthIdentification, sanify, properties, values) || genericTerm(TermPercent.class, d.get(0), d.getProperty(), percentIdentification, sanify, properties, values); }
protected <T extends CSSProperty> boolean genericOneIdentOrIntegerOrNumber( Class<T> type, T integerIdentification, T numberIdentification, boolean sanify, Declaration d, Map<String, CSSProperty> properties, Map<String, Term<?>> values) { if (d.size() != 1) return false; return genericTermIdent(type, d.get(0), ALLOW_INH, d.getProperty(), properties) || genericTerm(TermInteger.class, d.get(0), d.getProperty(), integerIdentification, sanify, properties, values) || genericTerm(TermNumber.class, d.get(0), d.getProperty(), numberIdentification, sanify, properties, values); }
protected <T extends Enum<T> & CSSProperty> boolean genericOneIdentOrLengthOrPercent( Class<T> type, T lengthIdentification, T percentIdentification, boolean sanify, Declaration d, Map<String, CSSProperty> properties, Map<String, Term<?>> values) { if (d.size() != 1) return false; return genericTermIdent(type, d.get(0), ALLOW_INH, d.getProperty(), properties) || genericTermLength(d.get(0), d.getProperty(), lengthIdentification, sanify, properties, values) || genericTerm(TermPercent.class, d.get(0), d.getProperty(), percentIdentification, sanify, properties, values); }
protected <T extends CSSProperty> boolean genericOneIdentOrInteger( Class<T> type, T integerIdentification, boolean sanify, Declaration d, Map<String, CSSProperty> properties, Map<String, Term<?>> values) { if (d.size() != 1) return false; return genericTermIdent(type, d.get(0), ALLOW_INH, d.getProperty(), properties) || genericTerm(TermInteger.class, d.get(0), d.getProperty(), integerIdentification, sanify, properties, values); }
|| genericTermLength(term, propertyName, listIdentification, sanify, properties, values) || genericTerm(TermPercent.class, term, propertyName, listIdentification, sanify, properties, values)) { || genericTerm(TermPercent.class, term1, propertyName, listIdentification, sanify, properties, values)) && (genericTermLength(term2, propertyName, listIdentification, sanify, properties, values) || genericTerm(TermPercent.class, term2, propertyName, listIdentification, sanify, properties, values))) { TermList terms = tf.createList(2);
protected <T extends CSSProperty> boolean genericOneIdentOrIntegerOrNumber( Class<T> type, T integerIdentification, T numberIdentification, boolean sanify, Declaration d, Map<String, CSSProperty> properties, Map<String, Term<?>> values) { if (d.size() != 1) return false; return genericTermIdent(type, d.get(0), ALLOW_INH, d.getProperty(), properties) || genericTerm(TermInteger.class, d.get(0), d.getProperty(), integerIdentification, sanify, properties, values) || genericTerm(TermNumber.class, d.get(0), d.getProperty(), numberIdentification, sanify, properties, values); }
protected <T extends CSSProperty> boolean genericOneIdentOrInteger( Class<T> type, T integerIdentification, boolean sanify, Declaration d, Map<String, CSSProperty> properties, Map<String, Term<?>> values) { if (d.size() != 1) return false; return genericTermIdent(type, d.get(0), ALLOW_INH, d.getProperty(), properties) || genericTerm(TermInteger.class, d.get(0), d.getProperty(), integerIdentification, sanify, properties, values); }