All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.jboss.windup.graph.model.resource.JavaClass Maven / Gradle / Ivy

The newest version!
package org.jboss.windup.graph.model.resource;

import java.util.Iterator;

import org.jboss.windup.graph.renderer.Label;

import com.tinkerpop.blueprints.Direction;
import com.tinkerpop.frames.Adjacency;
import com.tinkerpop.frames.Property;
import com.tinkerpop.frames.annotations.gremlin.GremlinGroovy;
import com.tinkerpop.frames.modules.typedgraph.TypeValue;

@TypeValue("JavaClassResource")
public interface JavaClass extends Resource {

	@Adjacency(label="javaClassFacet", direction=Direction.IN)
	public Iterable getResources();

	@Adjacency(label="javaClassFacet", direction=Direction.IN)
	public void addResource(Resource resource);

	@Label
	@Property("qualifiedName")
	public String getQualifiedName();

	@Property("qualifiedName")
	public void setQualifiedName(String qualifiedName);

	@Property("packageName")
	public String getPackageName();

	@Property("packageName")
	public void setPackageName(String packageName);

	
	@Property("majorVersion")
	public int getMajorVersion();

	@Property("majorVersion")
	public void setMajorVersion(int majorVersion);	

	@Property("minorVersion")
	public int getMinorVersion();

	@Property("minorVersion")
	public void setMinorVersion(int minorVersion);	
	
	@Adjacency(label="imports", direction=Direction.OUT)
	public void addImport(final JavaClass javaImport);

	@Adjacency(label="imports", direction=Direction.OUT)
	public Iterator getImports(final JavaClass javaFacet);

	@Adjacency(label="extends", direction=Direction.OUT)
	public JavaClass getExtends();

	@Adjacency(label="extends", direction=Direction.OUT)
	public void setExtends(final JavaClass javaFacet);

	@Adjacency(label="implements", direction=Direction.OUT)
	public Iterator addImplements(final JavaClass javaFacet);

	@Adjacency(label="implements", direction=Direction.OUT)
	public Iterator getImplements();

	@GremlinGroovy("it.in('javaClassFacet').in('child').dedup")
	public Iterator providedBy();
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy