0

“下面是生成java文件的json模式,我的要求是从equals和hashcode json生成代码中排除pageIndex、resolutionList和fieldsToBeHighlighted字段。我试图在模式中添加excludedFromEqualsAndHashCode字段,但仍然在equals和hashcode中考虑所有字段。 "

    {
    "type": "object",
    "javaType": "com.test.santhosh.ErrorField",
    "properties": {
    "fieldName": {
    "type": "string"
    },
    "uuid": {
    "type": "string"
    },
    "stateId": {
    "type": "string"
    },
    "stateName": {
    "type": "string"
    },
    "pageIndex": {
    "excludedFromEqualsAndHashCode": true,
    "type": "integer"
    },
    "resolutionList": {
    "excludedFromEqualsAndHashCode": true,
    "type": "array",
    "items": {
    "type": "string"
    }
    },
    "fieldsToBeHighlighted": {
    "excludedFromEqualsAndHashCode": true,
    "type": "array",
    "items": {
    "type": "string"
    }
    }
    }
    }

生成的java文件。

    @JsonInclude(JsonInclude.Include.NON_NULL)
    @Generated("org.jsonschema2pojo")
    @JsonPropertyOrder({
    "fieldName",
    "uuid",
    "stateId",
    "stateName",
    "pageIndex",
    "resolutionList",
    "fieldsToBeHighlighted"
    })
    public class ErrorField {

    @JsonProperty("fieldName")
    private String fieldName;
    @JsonProperty("uuid")
    private String uuid;
    @JsonProperty("stateId")
    private String stateId;
    @JsonProperty("stateName")
    private String stateName;
    @JsonProperty("pageIndex")
    private Integer pageIndex;
    @JsonProperty("resolutionList")
    private List<String> resolutionList = new ArrayList<String>();
    @JsonProperty("fieldsToBeHighlighted")
    private List<String> fieldsToBeHighlighted = new ArrayList<String>();
    @JsonIgnore
    private Map<String, Object> additionalProperties = new HashMap<String, 
    Object>();

    @JsonProperty("fieldName")
    public String getFieldName() {
    return fieldName;
    }
    @JsonProperty("fieldName")
    public void setFieldName(String fieldName) {
    this.fieldName = fieldName;
    }

    @JsonProperty("uuid")
    public String getUuid() {
    return uuid;
    }
    @JsonProperty("uuid")
    public void setUuid(String uuid) {
    this.uuid = uuid;
    }

    @JsonProperty("stateId")
    public String getStateId() {
    return stateId;
    }

    @JsonProperty("stateId")
    public void setStateId(String stateId) {
    this.stateId = stateId;
    }

    @JsonProperty("stateName")
    public String getStateName() {
    return stateName;
    }

    @JsonProperty("stateName")
    public void setStateName(String stateName) {
    this.stateName = stateName;
    }

    @JsonProperty("pageIndex")
    public Integer getPageIndex() {
    return pageIndex;
    }

    @JsonProperty("pageIndex")
    public void setPageIndex(Integer pageIndex) {
    this.pageIndex = pageIndex;
    }

    @JsonProperty("resolutionList")
    public List<String> getResolutionList() {
    return resolutionList;
    }

    @JsonProperty("resolutionList")
    public void setResolutionList(List<String> resolutionList) {
    this.resolutionList = resolutionList;
    }


    @JsonProperty("fieldsToBeHighlighted")
    public List<String> getFieldsToBeHighlighted() {
    return fieldsToBeHighlighted;
    }

    @JsonProperty("fieldsToBeHighlighted")
    public void setFieldsToBeHighlighted(List<String> fieldsToBeHighlighted) 
    {
    this.fieldsToBeHighlighted = fieldsToBeHighlighted;
    }

    @Override
    public String toString() {
    return ToStringBuilder.reflectionToString(this);
    }

    @JsonAnyGetter
    public Map<String, Object> getAdditionalProperties() {
    return this.additionalProperties;
    }

    @JsonAnySetter
    public void setAdditionalProperty(String name, Object value) {
    this.additionalProperties.put(name, value);
    }

    @Override
    public int hashCode() {
    return new 
    HashCodeBuilder().append(fieldName).append(uuid).append( 
    stateId).append(stateName).append( 
    pageIndex).append(resolutionList).append( 
    fieldsToBeHighlighted).append(additionalProperties ).toHashCode();
    }

    @Override
    public boolean equals(Object other) {
    if (other == this) {
    return true;
    }
    if ((other instanceof ErrorField) == false) {
    return false;
    }
    ErrorField rhs = ((ErrorField) other);
    return new EqualsBuilder().append(fieldName, rhs.fieldName).append(uuid, 
    rhs.uuid).append(stateId, rhs.stateId).append(stateName, 
    rhs.stateName).append(pageIndex, rhs.pageIndex).append(resolutionList, 
    rhs.resolutionList).append(fieldsToBeHighlighted, 
    rhs.fieldsToBeHighlighted).append(additionalProperties, 
    rhs.additionalProperties).isEquals();
    }
    }

请在这里帮助我。提前致谢。

4

0 回答 0