com.backendless.transaction.Operation Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of commons Show documentation
Show all versions of commons Show documentation
Commons lib for both server and client Java/Android SDKs
The newest version!
package com.backendless.transaction;
import com.fasterxml.jackson.annotation.JsonSubTypes;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@JsonTypeInfo(
use = JsonTypeInfo.Id.NAME,
include = JsonTypeInfo.As.EXISTING_PROPERTY,
property = "operationType",
visible = true )
@JsonSubTypes( {
@JsonSubTypes.Type( value = OperationCreate.class, name = "CREATE" ),
@JsonSubTypes.Type( value = OperationCreateBulk.class, name = "CREATE_BULK" ),
@JsonSubTypes.Type( value = OperationUpdate.class, name = "UPDATE" ),
@JsonSubTypes.Type( value = OperationUpdateBulk.class, name = "UPDATE_BULK" ),
@JsonSubTypes.Type( value = OperationUpsert.class, name = "UPSERT" ),
@JsonSubTypes.Type( value = OperationUpsertBulk.class, name = "UPSERT_BULK" ),
@JsonSubTypes.Type( value = OperationDelete.class, name = "DELETE" ),
@JsonSubTypes.Type( value = OperationDeleteBulk.class, name = "DELETE_BULK" ),
@JsonSubTypes.Type( value = OperationFind.class, name = "FIND" ),
@JsonSubTypes.Type( value = OperationAddRelation.class, name = "ADD_RELATION" ),
@JsonSubTypes.Type( value = OperationSetRelation.class, name = "SET_RELATION" ),
@JsonSubTypes.Type( value = OperationDeleteRelation.class, name = "DELETE_RELATION" )
} )
@NoArgsConstructor
@AllArgsConstructor
@Getter
@Setter
abstract class Operation
{
private OperationType operationType;
private String table;
private String opResultId;
public abstract T getPayload();
public abstract void setPayload( T payload );
@Override
public String toString()
{
return "Operation{operationType=" + operationType + ", table=" + table + ", opResultId=" + opResultId + ", payload=" + getPayload() + "}";
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy