@Override public ORID getEndRidRange(final Object iLeft, final Object iRight) { if (iLeft instanceof OSQLFilterItemField && ODocumentHelper.ATTRIBUTE_RID.equals(((OSQLFilterItemField) iLeft).getRoot())) if (iRight instanceof ORID) return (ORID) iRight; else { if (iRight instanceof OSQLFilterItemParameter && ((OSQLFilterItemParameter) iRight).getValue(null, null, null) instanceof ORID) return (ORID) ((OSQLFilterItemParameter) iRight).getValue(null, null, null); } return null; }
@Override public ORID getBeginRidRange(final Object iLeft, final Object iRight) { if (iLeft instanceof OSQLFilterItemField && ODocumentHelper.ATTRIBUTE_RID.equals(((OSQLFilterItemField) iLeft).getRoot())) if (iRight instanceof ORID) return (ORID) iRight; else { if (iRight instanceof OSQLFilterItemParameter && ((OSQLFilterItemParameter) iRight).getValue(null, null, null) instanceof ORID) return (ORID) ((OSQLFilterItemParameter) iRight).getValue(null, null, null); } return null; }
@Override public ORID getEndRidRange(final Object iLeft, final Object iRight) { if (iLeft instanceof OSQLFilterItemField && ODocumentHelper.ATTRIBUTE_RID.equals(((OSQLFilterItemField) iLeft).getRoot())) if (iRight instanceof ORID) return (ORID) iRight; else { if (iRight instanceof OSQLFilterItemParameter && ((OSQLFilterItemParameter) iRight).getValue(null, null, null) instanceof ORID) return (ORID) ((OSQLFilterItemParameter) iRight).getValue(null, null, null); } return null; }
@Override public ORID getBeginRidRange(final Object iLeft, final Object iRight) { if (iLeft instanceof OSQLFilterItemField && ODocumentHelper.ATTRIBUTE_RID.equals(((OSQLFilterItemField) iLeft).getRoot())) if (iRight instanceof ORID) return (ORID) iRight; else { if (iRight instanceof OSQLFilterItemParameter && ((OSQLFilterItemParameter) iRight) .getValue(null, null, null) instanceof ORID) return (ORID) ((OSQLFilterItemParameter) iRight).getValue(null, null, null); } if (iRight instanceof OSQLFilterItemField && ODocumentHelper.ATTRIBUTE_RID.equals(((OSQLFilterItemField) iRight).getRoot())) if (iLeft instanceof ORID) return (ORID) iLeft; else { if (iLeft instanceof OSQLFilterItemParameter && ((OSQLFilterItemParameter) iLeft) .getValue(null, null, null) instanceof ORID) return (ORID) ((OSQLFilterItemParameter) iLeft).getValue(null, null, null); } return null; }
@Override public ORID getBeginRidRange(final Object iLeft, final Object iRight) { if (iLeft instanceof OSQLFilterItemField && ODocumentHelper.ATTRIBUTE_RID.equals(((OSQLFilterItemField) iLeft).getRoot())) if (iRight instanceof ORID) return new ORecordId(((ORID) iRight).next()); else { if (iRight instanceof OSQLFilterItemParameter && ((OSQLFilterItemParameter) iRight).getValue(null, null, null) instanceof ORID) return new ORecordId(((ORID) ((OSQLFilterItemParameter) iRight).getValue(null, null, null)).next()); } return null; }
protected List<ORID> addRangeResults(final Iterable<?> ridCollection, final int ridSize) { if (ridCollection == null) return null; List<ORID> rids = null; for (Object rid : ridCollection) { if (rid instanceof OSQLFilterItemParameter) rid = ((OSQLFilterItemParameter) rid).getValue(null, null, null); if (rid instanceof OIdentifiable) { final ORID r = ((OIdentifiable) rid).getIdentity(); if (r.isPersistent()) { if (rids == null) // LAZY CREATE IT rids = new ArrayList<ORID>(ridSize); rids.add(r); } } } return rids; } }