All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.backendless.transaction.OperationResult Maven / Gradle / Ivy

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 = 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