/** * Binds parameters. */ public void bindParameters(final Map<Object, Object> iArgs) { if (parameterItems == null || iArgs == null || iArgs.size() == 0) return; for (int i = 0; i < parameterItems.size(); i++) { OSQLFilterItemParameter value = parameterItems.get(i); if ("?".equals(value.getName())) { value.setValue(iArgs.get(i)); } else { value.setValue(iArgs.get(value.getName())); } } }
@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; }
public static Object parseValue(final OSQLPredicate iSQLFilter, final OBaseParser iCommand, final String iWord, final OCommandContext iContext) { if (iWord.charAt(0) == OStringSerializerHelper.PARAMETER_POSITIONAL || iWord.charAt(0) == OStringSerializerHelper.PARAMETER_NAMED) { if (iSQLFilter != null) return iSQLFilter.addParameter(iWord); else return new OSQLFilterItemParameter(iWord); } else return parseValue(iCommand, iWord, iContext); }
public OSQLFilterItemParameter addParameter(final String iName) { final String name; if (iName.charAt(0) == OStringSerializerHelper.PARAMETER_NAMED) { name = iName.substring(1); // CHECK THE PARAMETER NAME IS CORRECT if (!OStringSerializerHelper.isAlphanumeric(name)) { throw new OQueryParsingException("Parameter name '" + name + "' is invalid, only alphanumeric characters are allowed"); } } else name = iName; final OSQLFilterItemParameter param = new OSQLFilterItemParameter(name); if (parameterItems == null) parameterItems = new ArrayList<OSQLFilterItemParameter>(); parameterItems.add(param); return param; }
@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; } }