package stroom.data.retention.shared;

import java.util.Objects;

public class DataRetentionDeleteSummary {

    private final String feedName;
    private final String metaType;
    private final int ruleNumber;
    private final String ruleName;
    private final int count;

    public DataRetentionDeleteSummary(final String feedName,
                                      final String metaType,
                                      final int ruleNumber,
                                      final String ruleName,
                                      final int count) {
        this.feedName = Objects.requireNonNull(feedName);
        this.metaType = Objects.requireNonNull(metaType);
        this.ruleNumber = ruleNumber;
        this.ruleName = Objects.requireNonNull(ruleName);
        this.count = count;
    }

    public String getFeedName() {
        return feedName;
    }

    public String getMetaType() {
        return metaType;
    }

    public int getRuleNumber() {
        return ruleNumber;
    }

    public String getRuleName() {
        return ruleName;
    }

    public int getCount() {
        return count;
    }

    @Override
    public boolean equals(final Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        final DataRetentionDeleteSummary that = (DataRetentionDeleteSummary) o;
        return ruleNumber == that.ruleNumber &&
                count == that.count &&
                feedName.equals(that.feedName) &&
                metaType.equals(that.metaType) &&
                ruleName.equals(that.ruleName);
    }

    @Override
    public int hashCode() {
        return Objects.hash(feedName, metaType, ruleNumber, ruleName, count);
    }
}

@@ -43,27 +43,280 @@
 ort 
-java.util.Objects;%0A
+com.fasterxml.jackson.annotation.JsonCreator;%0Aimport com.fasterxml.jackson.annotation.JsonInclude;%0Aimport com.fasterxml.jackson.annotation.JsonInclude.Include;%0Aimport com.fasterxml.jackson.annotation.JsonProperty;%0A%0Aimport java.util.Objects;%0A%0A@JsonInclude(Include.NON_NULL)
 %0Apub
@@ -355,16 +355,34 @@
 mary %7B%0A%0A
+    @JsonProperty%0A
     priv
@@ -404,24 +404,42 @@
 g feedName;%0A
+    @JsonProperty%0A
     private 
@@ -457,24 +457,42 @@
 g metaType;%0A
+    @JsonProperty%0A
     private 
@@ -509,24 +509,42 @@
 ruleNumber;%0A
+    @JsonProperty%0A
     private 
@@ -562,24 +562,42 @@
 g ruleName;%0A
+    @JsonProperty%0A
     private 
@@ -614,16 +614,33 @@
 count;%0A%0A
+    @JsonCreator%0A
     publ
@@ -669,16 +669,42 @@
 Summary(
+@JsonProperty(%22feedName%22) 
 final St
@@ -747,32 +747,58 @@
                 
+ @JsonProperty(%22metaType%22)
  final String me
@@ -834,32 +834,60 @@
                 
+ @JsonProperty(%22ruleNumber%22)
  final int ruleN
@@ -926,24 +926,50 @@
             
+ @JsonProperty(%22ruleName%22)
  final Strin
@@ -1013,24 +1013,47 @@
             
+ @JsonProperty(%22count%22)
  final int c

Fix json serde in DataRetentionDeleteSummary