io.stargate.graphql.schema.graphqlfirst.processor.UpdateModel Maven / Gradle / Ivy
/*
* Copyright The Stargate Authors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package io.stargate.graphql.schema.graphqlfirst.processor;
import graphql.language.FieldDefinition;
import graphql.schema.DataFetcher;
import io.stargate.graphql.schema.graphqlfirst.fetchers.deployed.UpdateFetcher;
import java.util.List;
import java.util.Optional;
import org.apache.cassandra.stargate.db.ConsistencyLevel;
public class UpdateModel extends MutationModel {
private final List whereConditions;
private final List ifConditions;
private final Optional entityArgumentName;
private final Optional responsePayload;
private final boolean ifExists;
private final List incrementModels;
private final Optional ttl;
private final Optional cqlTimestampArgumentName;
public UpdateModel(
String parentTypeName,
FieldDefinition field,
EntityModel entity,
List whereConditions,
List ifConditions,
Optional entityArgumentName,
ReturnType returnType,
Optional responsePayload,
boolean ifExists,
List incrementModels,
Optional consistencyLevel,
Optional serialConsistencyLevel,
Optional ttl,
Optional cqlTimestampArgumentName) {
super(parentTypeName, field, entity, returnType, consistencyLevel, serialConsistencyLevel);
this.whereConditions = whereConditions;
this.ifConditions = ifConditions;
this.entityArgumentName = entityArgumentName;
this.responsePayload = responsePayload;
this.ifExists = ifExists;
this.incrementModels = incrementModels;
this.ttl = ttl;
this.cqlTimestampArgumentName = cqlTimestampArgumentName;
}
public List getWhereConditions() {
return whereConditions;
}
public List getIfConditions() {
return ifConditions;
}
public boolean ifExists() {
return ifExists;
}
public Optional getEntityArgumentName() {
return entityArgumentName;
}
public Optional getResponsePayload() {
return responsePayload;
}
public List getIncrementModels() {
return incrementModels;
}
public Optional getTtl() {
return ttl;
}
public Optional getCqlTimestampArgumentName() {
return cqlTimestampArgumentName;
}
@Override
public DataFetcher> getDataFetcher(MappingModel mappingModel) {
return new UpdateFetcher(this, mappingModel);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy