package org.jboss.windup.rules.apps.mavenize; import com.tinkerpop.blueprints.Direction; import com.tinkerpop.frames.Adjacency; import com.tinkerpop.frames.modules.typedgraph.TypeValue; import org.jboss.windup.graph.model.WindupVertexFrame; import org.jboss.windup.rules.apps.java.archives.model.ArchiveCoordinateModel; import org.jboss.windup.rules.apps.java.model.project.MavenProjectModel; /** * Represents the structure of a Maven POM file within the graph. * * @see MavenProjectModel * * @author <a href="http://ondra.zizka.cz/">Ondrej Zizka, zizka@seznam.cz</a> */ @TypeValue(PomXmlModel.TYPE) public interface PomXmlModel extends WindupVertexFrame { String TYPE = "PomXml"; String DEPENDS = TYPE + "-dependensOn"; String PARENT = TYPE + "-parent"; String BOM = TYPE + "-bom"; /** * Contains the coordinates of the parent POM. */ @Adjacency(label = PARENT, direction = Direction.OUT) ArchiveCoordinateModel getParent(); /** * Contains the coordinates of the parent POM. */ @Adjacency(label = PARENT, direction = Direction.OUT) void setParent(ArchiveCoordinateModel parent); /** * Contains the coordinates of the BOM. */ @Adjacency(label = BOM, direction = Direction.OUT) ArchiveCoordinateModel getBom(); /** * Contains the coordinates of the BOM. */ @Adjacency(label = BOM, direction = Direction.OUT) void setBom(ArchiveCoordinateModel bom); /** * Contains the coordinates of all dependencies. */ @Adjacency(label = DEPENDS, direction = Direction.OUT) Iterable<ArchiveCoordinateModel> getDependencies(); /** * Contains the coordinates of all dependencies. */ @Adjacency(label = DEPENDS, direction = Direction.OUT) void setDependencies(Iterable<ArchiveCoordinateModel> deps); /** * Contains the coordinates of all dependencies. */ @Adjacency(label = DEPENDS, direction = Direction.OUT) void addDependency(ArchiveCoordinateModel dependency); }