/** * Copyright Intellectual Reserve, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.familysearch.platform.ct; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import org.familysearch.platform.rt.FamilySearchPlatformModelVisitor; import org.gedcomx.common.ResourceReference; import org.gedcomx.rt.json.JsonElementWrapper; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.XmlType; import java.util.List; /** * @author Mike Gardiner */ @XmlRootElement @JsonElementWrapper ( name = "mergeAnalysis" ) @XmlType ( name = "MergeAnalysis", propOrder = {"survivorResources", "duplicateResources", "conflictingResources", "survivor", "duplicate"} ) @JsonInclude ( JsonInclude.Include.NON_NULL ) public class MergeAnalysis { private List<ResourceReference> survivorResources; private List<ResourceReference> duplicateResources; private List<MergeConflict> conflictingResources; private ResourceReference survivor; private ResourceReference duplicate; @XmlElement (name="survivorResource") @JsonProperty ("survivorResources") @org.codehaus.jackson.annotate.JsonProperty ("survivorResources") public List<ResourceReference> getSurvivorResources() { return survivorResources; } public void setSurvivorResources( List<ResourceReference> survivorResources ) { this.survivorResources = survivorResources; } @XmlElement (name="duplicateResource") @JsonProperty ("duplicateResources") @org.codehaus.jackson.annotate.JsonProperty ("duplicateResources") public List<ResourceReference> getDuplicateResources() { return duplicateResources; } public void setDuplicateResources( List<ResourceReference> duplicateResources ) { this.duplicateResources = duplicateResources; } @XmlElement (name="conflictingResource") @JsonProperty ("conflictingResources") @org.codehaus.jackson.annotate.JsonProperty ("conflictingResources") public List<MergeConflict> getConflictingResources() { return conflictingResources; } public void setConflictingResources(List<MergeConflict> conflictingResources) { this.conflictingResources = conflictingResources; } @XmlElement (name="survivor") @JsonProperty ("survivor") @org.codehaus.jackson.annotate.JsonProperty ("survivor") public ResourceReference getSurvivor() { return survivor; } public void setSurvivor(ResourceReference survivor) { this.survivor = survivor; } @XmlElement (name="duplicate") @JsonProperty ("duplicate") @org.codehaus.jackson.annotate.JsonProperty ("duplicate") public ResourceReference getDuplicate() { return duplicate; } public void setDuplicate( ResourceReference duplicate ) { this.duplicate = duplicate; } /** * Accept a visitor. * * @param visitor The visitor to accept. */ public void accept(FamilySearchPlatformModelVisitor visitor) { visitor.visitMerge(this); } }