“下面是生成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();
}
}
请在这里帮助我。提前致谢。