package org.jboss.windup.graph.model; import com.tinkerpop.blueprints.Direction; import com.tinkerpop.frames.Adjacency; import com.tinkerpop.frames.modules.typedgraph.TypeValue; /** * Indicates that this {@link ArchiveModel} is actually a duplicate of another archive. This will be linked * back to the canonical archive. * * The duplicate will generally contain no files and the canonical archive ({@see DuplicateArchiveModel#getCanonicalArchive}) * should be used for finding the included files. * * @author <a href="mailto:jesse.sightler@gmail.com">Jesse Sightler</a> */ @TypeValue(DuplicateArchiveModel.TYPE) public interface DuplicateArchiveModel extends ArchiveModel { String TYPE = "DuplicateArchive"; String CANONICAL_ARCHIVE = TYPE + ":canonicalArchive"; /** * Contains a link to the canonical archive from this duplicate instance. */ @Adjacency(label = CANONICAL_ARCHIVE, direction = Direction.OUT) ArchiveModel getCanonicalArchive(); /** * Contains a link to the canonical archive from this duplicate instance. */ @Adjacency(label = CANONICAL_ARCHIVE, direction = Direction.OUT) DuplicateArchiveModel setCanonicalArchive(ArchiveModel original); }