Search in sources :

Example 1 with MultiplyUpdateAction

use of com.torodb.mongodb.language.update.MultiplyUpdateAction in project torodb by torodb.

the class UpdateActionTranslator method translateMultiply.

private static void translateMultiply(CompositeUpdateAction.Builder builder, BsonDocument argument) throws UpdateException {
    for (Entry<?> entry : argument) {
        Collection<AttributeReference> attRefs = parseAttributeReference(entry.getKey());
        KvValue<?> translatedValue = MongoWpConverter.translate(entry.getValue());
        if (!(translatedValue instanceof KvNumeric)) {
            throw new UpdateException("Cannot multiply with a " + "non-numeric argument");
        }
        builder.add(new MultiplyUpdateAction(attRefs, (KvNumeric<?>) translatedValue), false);
    }
}
Also used : KvNumeric(com.torodb.kvdocument.values.KvNumeric) AttributeReference(com.torodb.core.language.AttributeReference) UpdateException(com.torodb.core.exceptions.user.UpdateException) MultiplyUpdateAction(com.torodb.mongodb.language.update.MultiplyUpdateAction)

Aggregations

UpdateException (com.torodb.core.exceptions.user.UpdateException)1 AttributeReference (com.torodb.core.language.AttributeReference)1 KvNumeric (com.torodb.kvdocument.values.KvNumeric)1 MultiplyUpdateAction (com.torodb.mongodb.language.update.MultiplyUpdateAction)1