/** * Retourne true si ce sont des tag du même nom et si les attributs de l'objet en paramètre sont * au moins tous présent * * @param obj * @return */ public boolean equalsAtLeast(BeanTag obj) { boolean ret = getName().equalsIgnoreCase(obj.getName()); if (ret) { if (obj.getListAttribut() != null && (obj.getListAttribut().size() > 0)) { ret = getListAttribut() != null && getListAttribut().size() >= obj.getListAttribut().size(); if (ret) { int cnt = 0; List paramAttribut = obj.getListAttribut(); for (Iterator iter1 = paramAttribut.iterator(); iter1.hasNext(); ) { BeanTagAttribut elParam = (BeanTagAttribut) iter1.next(); List attribut = getListAttribut(); for (Iterator iter2 = attribut.iterator(); iter2.hasNext(); ) { BeanTagAttribut el = (BeanTagAttribut) iter2.next(); if (elParam.equals(el)) { cnt++; break; } } } ret = (cnt == paramAttribut.size()); } } } return ret; }
public boolean isClosingTag(BeanTag tag) { List lTagName = (tag == null) ? null : (List) getListTagImpliciteEnd(getName().toUpperCase()); return (lTagName == null) ? false : lTagName.contains(tag.getName().toUpperCase()); }