/** * Creates a condition which filters on the specified value. * @param value The value. * @return The condition. * @see com.amazonaws.services.dynamodbv2.model.ComparisonOperator#EQ * @see com.amazonaws.services.dynamodbv2.model.Condition */ public final Condition eq(final V value) { return new Condition().withComparisonOperator(EQ).withAttributeValueList(convert(value)); }
@Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getAttributeValueList() == null) ? 0 : getAttributeValueList().hashCode()); hashCode = prime * hashCode + ((getComparisonOperator() == null) ? 0 : getComparisonOperator().hashCode()); return hashCode; }
/** * Creates a condition which filters on the specified value. * @return The condition. * @see com.amazonaws.services.dynamodbv2.model.ComparisonOperator#NOT_NULL * @see com.amazonaws.services.dynamodbv2.model.Condition */ public final Condition notNull() { return new Condition().withComparisonOperator(NOT_NULL); }
private void addKeyCondition(QueryRequest req, String keyName, ComparisonOperator comparison, AttributeValue... values) { Map<String, Condition> currentConditions = req.getKeyConditions(); Condition currentCondition = currentConditions == null ? null : currentConditions.get(keyName); Condition newCondition = new Condition().withComparisonOperator(comparison) .withAttributeValueList(values); // If there's already a condition on the key in the item, make sure it's not any different than the condition they // specified in the query spec if (currentCondition == null) { req.addKeyConditionsEntry(keyName, newCondition); } else if (!currentCondition.equals(newCondition)) { throw new IllegalArgumentException("a different condition was specified for '" + keyName + "' in the query spec " + "and the query request"); } }
public Condition unmarshall(JsonUnmarshallerContext context) throws Exception { Condition condition = new Condition(); if (context.testExpression("AttributeValueList", targetDepth)) { context.nextToken(); condition.setAttributeValueList(new ListUnmarshaller<AttributeValue>(AttributeValueJsonUnmarshaller.getInstance()).unmarshall(context)); condition.setComparisonOperator(context.getUnmarshaller(String.class).unmarshall(context));
assertNull(se.getExpressionAttributeValues()); Condition c = new Condition(); assertNotNull(se.withFilterConditionEntry("testName", c)); assertSame(se.getScanFilter().get("testName"), c); Condition other = new Condition(); se.addFilterCondition("otherFilter", other); assertSame(se.getScanFilter().get("otherFilter"), other);
withComparisonOperator(comparisonOperator);
public boolean comparisonOperatorsPermittedForQuery() { List<ComparisonOperator> comparisonOperatorsPermittedForQuery = Arrays.asList(new ComparisonOperator[]{ ComparisonOperator.EQ, ComparisonOperator.LE, ComparisonOperator.LT, ComparisonOperator.GE, ComparisonOperator.GT, ComparisonOperator.BEGINS_WITH, ComparisonOperator.BETWEEN}); // Can only query on subset of Conditions for (Collection<Condition> conditions : attributeConditions.values()) { for (Condition condition : conditions) { if (!comparisonOperatorsPermittedForQuery .contains(ComparisonOperator.fromValue(condition.getComparisonOperator()))) { return false; } } } return true; }
if (getAttributeValueList() == null) { this.attributeValueList = new java.util.ArrayList<AttributeValue>( attributeValueList.length);
/** * Creates a condition which filters on the specified value. * @return The condition. * @see com.amazonaws.services.dynamodbv2.model.ComparisonOperator#NULL * @see com.amazonaws.services.dynamodbv2.model.Condition */ public final Condition isNull() { return new Condition().withComparisonOperator(NULL); }
private void addKeyCondition(QueryRequest req, String keyName, ComparisonOperator comparison, AttributeValue... values) { Map<String, Condition> currentConditions = req.getKeyConditions(); Condition currentCondition = currentConditions == null ? null : currentConditions.get(keyName); Condition newCondition = new Condition().withComparisonOperator(comparison) .withAttributeValueList(values); // If there's already a condition on the key in the item, make sure it's not any different than the condition they // specified in the query spec if (currentCondition == null) { req.addKeyConditionsEntry(keyName, newCondition); } else if (!currentCondition.equals(newCondition)) { throw new IllegalArgumentException("a different condition was specified for '" + keyName + "' in the query spec " + "and the query request"); } }
public Condition unmarshall(JsonUnmarshallerContext context) throws Exception { AwsJsonReader reader = context.getReader(); if (!reader.isContainer()) { reader.skipValue(); return null; } Condition condition = new Condition(); reader.beginObject(); while (reader.hasNext()) { String name = reader.nextName(); if (name.equals("AttributeValueList")) { condition.setAttributeValueList(new ListUnmarshaller<AttributeValue>( AttributeValueJsonUnmarshaller.getInstance() ) .unmarshall(context)); } else if (name.equals("ComparisonOperator")) { condition.setComparisonOperator(StringJsonUnmarshaller.getInstance() .unmarshall(context)); } else { reader.skipValue(); } } reader.endObject(); return condition; }
assertSame(qe.getQueryFilter(), filter); Condition ec = new Condition(); assertNotNull(qe.withQueryFilterEntry("entry", ec)); assertSame(qe.getQueryFilter().get("entry"), ec); Condition rkc = new Condition(); assertNotNull(qe.withRangeKeyCondition("rkc", rkc)); assertSame(qe.getRangeKeyConditions().get("rkc"), rkc);
public boolean comparisonOperatorsPermittedForQuery() { List<ComparisonOperator> comparisonOperatorsPermittedForQuery = Arrays.asList(new ComparisonOperator[] { ComparisonOperator.EQ, ComparisonOperator.LE, ComparisonOperator.LT, ComparisonOperator.GE, ComparisonOperator.GT, ComparisonOperator.BEGINS_WITH, ComparisonOperator.BETWEEN }); // Can only query on subset of Conditions for (Collection<Condition> conditions : attributeConditions.values()) { for (Condition condition : conditions) { if (!comparisonOperatorsPermittedForQuery .contains(ComparisonOperator.fromValue(condition.getComparisonOperator()))) { return false; } } } return true; }
/** * Creates a condition which filters on the specified value. * @param value The value. * @return The condition. * @see com.amazonaws.services.dynamodbv2.model.ComparisonOperator#GE * @see com.amazonaws.services.dynamodbv2.model.Condition */ public final Condition ge(final V value) { return new Condition().withComparisonOperator(GE).withAttributeValueList(convert(value)); }
/** * Creates a condition which filters on the specified value. * @return The condition. * @see com.amazonaws.services.dynamodbv2.model.ComparisonOperator#NULL * @see com.amazonaws.services.dynamodbv2.model.Condition */ public final Condition isNull() { return new Condition().withComparisonOperator(NULL); }
@Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof Condition == false) return false; Condition other = (Condition) obj; if (other.getAttributeValueList() == null ^ this.getAttributeValueList() == null) return false; if (other.getAttributeValueList() != null && other.getAttributeValueList().equals(this.getAttributeValueList()) == false) return false; if (other.getComparisonOperator() == null ^ this.getComparisonOperator() == null) return false; if (other.getComparisonOperator() != null && other.getComparisonOperator().equals(this.getComparisonOperator()) == false) return false; return true; }
protected boolean hasIndexHashKeyEqualCondition() { boolean hasIndexHashKeyEqualCondition = false; for (Map.Entry<String, List<Condition>> propertyConditionList : propertyConditions.entrySet()) { if (entityInformation.isGlobalIndexHashKeyProperty(propertyConditionList.getKey())) { for (Condition condition : propertyConditionList.getValue()) { if (condition.getComparisonOperator().equals(ComparisonOperator.EQ.name())) { hasIndexHashKeyEqualCondition = true; } } } } if (hashKeyAttributeValue != null && entityInformation.isGlobalIndexHashKeyProperty(hashKeyPropertyName)) { hasIndexHashKeyEqualCondition = true; } return hasIndexHashKeyEqualCondition; }
/** * Creates a condition which filters on the specified value. * @param value The value. * @return The condition. * @see com.amazonaws.services.dynamodbv2.model.ComparisonOperator#GT * @see com.amazonaws.services.dynamodbv2.model.Condition */ public final Condition gt(final V value) { return new Condition().withComparisonOperator(GT).withAttributeValueList(convert(value)); }
/** * Creates a condition which filters on the specified value. * @return The condition. * @see com.amazonaws.services.dynamodbv2.model.ComparisonOperator#NOT_NULL * @see com.amazonaws.services.dynamodbv2.model.Condition */ public final Condition notNull() { return new Condition().withComparisonOperator(NOT_NULL); }