@Override public void visitAll(final AllRestriction restriction) { for (final Restriction r : restriction.getRestrictions()) { r.visit(this); } } @Override public void visitAllComplete(final AllRestriction restriction) {}
@Override public void visitAll(final AllRestriction restriction) { for (final Restriction r : restriction.getRestrictions()) { r.visit(this); } } @Override public void visitAllComplete(final AllRestriction restriction) {}
@Override public void visitRestriction(final Restriction restriction) { final List<Object> matching = new ArrayList<>(); for (final Object entity : m_matching) { final BeanWrapperRestrictionVisitor visitor = new BeanWrapperRestrictionVisitor(entity, m_aliases); restriction.visit(visitor); if (visitor.matches()) { matching.add(entity); } } m_matching = matching; }
@Override public void visitRestriction(final Restriction restriction) { final List<Object> matching = new ArrayList<>(); for (final Object entity : m_matching) { final BeanWrapperRestrictionVisitor visitor = new BeanWrapperRestrictionVisitor(entity, m_aliases); restriction.visit(visitor); if (visitor.matches()) { matching.add(entity); } } m_matching = matching; }
@Override public void visitRestriction(final Restriction restriction) { final HibernateRestrictionVisitor visitor = new HibernateRestrictionVisitor(); restriction.visit(visitor); m_criterions.addAll(visitor.getCriterions()); }
@Override public void visit(final RestrictionVisitor visitor) { visitor.visitNot(this); try { getRestriction().visit(visitor); } catch (final Exception e) { LOG.trace("Exception during restriction evaluation: {}", e.getMessage(), e); } visitor.visitNotComplete(this); }
@Override public void visit(final RestrictionVisitor visitor) { visitor.visitNot(this); try { getRestriction().visit(visitor); } catch (final Exception e) { LOG.trace("Exception during restriction evaluation: {}", e.getMessage(), e); } visitor.visitNotComplete(this); }
@Override public void visitAny(final AnyRestriction restriction) { boolean matched = false; for (final Restriction r : restriction.getRestrictions()) { try { r.visit(this); matched = true; break; } catch (final Exception e) { } } if (!matched) { fail(restriction); } } @Override public void visitAnyComplete(final AnyRestriction restriction) {}
@Override public void visitAny(final AnyRestriction restriction) { boolean matched = false; for (final Restriction r : restriction.getRestrictions()) { try { r.visit(this); matched = true; break; } catch (final Exception e) { } } if (!matched) { fail(restriction); } } @Override public void visitAnyComplete(final AnyRestriction restriction) {}
@Override public void visit(final RestrictionVisitor visitor) { visitor.visitAny(this); for (final Restriction restriction : getRestrictions()) { restriction.visit(visitor); } visitor.visitAnyComplete(this); }
@Override public void visit(final RestrictionVisitor visitor) { visitor.visitAny(this); for (final Restriction restriction : getRestrictions()) { restriction.visit(visitor); } visitor.visitAnyComplete(this); }
@Override public void visit(final RestrictionVisitor visitor) { visitor.visitAll(this); for (final Restriction restriction : getRestrictions()) { restriction.visit(visitor); } visitor.visitAllComplete(this); }
@Override public void visit(final RestrictionVisitor visitor) { visitor.visitAll(this); for (final Restriction restriction : getRestrictions()) { restriction.visit(visitor); } visitor.visitAllComplete(this); }
@Override public void visitAlias(final Alias alias) { int aliasType = 0; switch (alias.getType()) { case FULL_JOIN: aliasType = org.hibernate.Criteria.FULL_JOIN; break; case LEFT_JOIN: aliasType = org.hibernate.Criteria.LEFT_JOIN; break; case INNER_JOIN: aliasType = org.hibernate.Criteria.INNER_JOIN; break; default: aliasType = org.hibernate.Criteria.INNER_JOIN; break; } if (alias.hasJoinCondition()) { // an additional condition for the join final HibernateRestrictionVisitor visitor = new HibernateRestrictionVisitor(); alias.getJoinCondition().visit(visitor); m_criteria.createAlias(alias.getAssociationPath(), alias.getAlias(), aliasType, visitor.getCriterions().get(0)); } else { // no additional condition for the join m_criteria.createAlias(alias.getAssociationPath(), alias.getAlias(), aliasType); } }