com.backendless.transaction.OperationResult Maven / Gradle / Ivy
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 = OperationResultCreate.class, name = "CREATE" ),
@JsonSubTypes.Type( value = OperationResultCreateBulk.class, name = "CREATE_BULK" ),
@JsonSubTypes.Type( value = OperationResultUpdate.class, name = "UPDATE" ),
@JsonSubTypes.Type( value = OperationResultUpdateBulk.class, name = "UPDATE_BULK" ),
@JsonSubTypes.Type( value = OperationResultDelete.class, name = "DELETE" ),
@JsonSubTypes.Type( value = OperationResultDeleteBulk.class, name = "DELETE_BULK" ),
@JsonSubTypes.Type( value = OperationResultFind.class, name = "FIND" ),
@JsonSubTypes.Type( value = OperationResultAddRelation.class, name = "ADD_RELATION" ),
@JsonSubTypes.Type( value = OperationResultSetRelation.class, name = "SET_RELATION" ),
@JsonSubTypes.Type( value = OperationResultDeleteRelation.class, name = "DELETE_RELATION" )
} )
@NoArgsConstructor
@AllArgsConstructor
@Getter
@Setter
public abstract class OperationResult
{
private OperationType operationType;
public abstract T getResult();
public abstract void setResult( T result );
@Override
public String toString()
{
return "OperationResult{" +
"operationType=" + operationType +
", result=" + getResult() +
'}';
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy