blob: 805c8fcabdc85b891eff6cfe6c75c02933c5d540 [file] [log] [blame]
Brian O'Connorabafb502014-12-02 22:26:20 -08001package org.onosproject.store.service;
Madan Jampani12390c12014-11-12 00:35:56 -08002
Madan Jampani12390c12014-11-12 00:35:56 -08003import java.util.List;
4
Madan Jampanif5d263b2014-11-13 10:04:40 -08005import com.google.common.base.MoreObjects;
Madan Jampani7aad2332014-11-12 01:57:07 -08006import com.google.common.collect.ImmutableList;
7
Madan Jampani23af4fc2014-11-12 00:54:18 -08008/**
9 * Result of a batch write operation.
10 */
Madan Jampani12390c12014-11-12 00:35:56 -080011public class BatchWriteResult {
Madan Jampani23af4fc2014-11-12 00:54:18 -080012
13 private final List<WriteResult> writeResults;
14
15 public BatchWriteResult(List<WriteResult> writeResults) {
Madan Jampani7aad2332014-11-12 01:57:07 -080016 this.writeResults = ImmutableList.copyOf(writeResults);
Madan Jampani23af4fc2014-11-12 00:54:18 -080017 }
18
19 /**
20 * Returns true if this batch write operation was successful.
21 * @return true if successful, false otherwise.
22 */
23 public boolean isSuccessful() {
24 for (WriteResult result : writeResults) {
25 if (result.status() != WriteStatus.OK) {
26 return false;
27 }
28 }
29 return true;
30 }
31
32 /**
33 * Returns the results as a List.
34 * @return list of batch results.
35 */
36 public List<WriteResult> getAsList() {
37 return this.writeResults;
38 }
39
40 /**
41 * Returns the size of this batch.
42 * @return batch size.
43 */
44 public int batchSize() {
45 return writeResults.size();
46 }
Madan Jampanif5d263b2014-11-13 10:04:40 -080047
48 @Override
49 public String toString() {
50 return MoreObjects.toStringHelper(getClass())
51 .add("writeResults", writeResults)
52 .toString();
53 }
Madan Jampani23af4fc2014-11-12 00:54:18 -080054}