package com.revolsys.record.query; import java.util.Arrays; import java.util.List; import com.revolsys.record.Record; import com.revolsys.util.Property; public class Or extends AbstractMultiCondition { public Or(final Condition... conditions) { this(Arrays.asList(conditions)); } public Or(final Iterable<? extends Condition> conditions) { super("OR", conditions); } @Override public Or clone() { return (Or)super.clone(); } @Override public boolean equals(final Object obj) { if (obj instanceof Or) { return super.equals(obj); } return false; } @Override public Or or(final Condition condition) { if (!Property.isEmpty(condition)) { addCondition(condition); } return this; } @Override public boolean test(final Record object) { final List<Condition> conditions = (List)getQueryValues(); if (conditions.isEmpty()) { return true; } else { for (final Condition condition : conditions) { if (condition.test(object)) { return true; } } return false; } } }