package org.objectstyle.wolips.eomodeler.core.model.qualifier; import java.util.Collection; import java.util.LinkedList; import java.util.List; public class EOAndQualifier extends EOAggregateQualifier { private List<EOQualifier> _qualifiers; public EOAndQualifier() { _qualifiers = new LinkedList<EOQualifier>(); } public EOAndQualifier(Collection<EOQualifier> qualifiers) { _qualifiers = new LinkedList<EOQualifier>(); for (EOQualifier qualifier : qualifiers) { if (qualifier instanceof EOAndQualifier) { _qualifiers.addAll(((EOAndQualifier) qualifier).getQualifiers()); } else { _qualifiers.add(qualifier); } } } public EOAndQualifier(EOQualifier... qualifiers) { _qualifiers = new LinkedList<EOQualifier>(); for (EOQualifier qualifier : qualifiers) { if (qualifier instanceof EOAndQualifier) { _qualifiers.addAll(((EOAndQualifier) qualifier).getQualifiers()); } else { _qualifiers.add(qualifier); } } } public void addQualifier(EOQualifier qualifier) { _qualifiers.add(qualifier); } public List<EOQualifier> getQualifiers() { return _qualifiers; } public String toString(int depth) { StringBuffer sb = new StringBuffer(); if (depth > 0) { sb.append("("); } for (int i = 0; i < _qualifiers.size(); i++) { EOQualifier qualifier = _qualifiers.get(i); if (i > 0) { sb.append(" and "); } if (qualifier != null) { sb.append(qualifier.toString(depth + 1)); } else { sb.append("true"); } } if (depth > 0) { sb.append(")"); } return sb.toString(); } }