package com.tinkerpop.frames.domain.classes; import com.tinkerpop.blueprints.Direction; import com.tinkerpop.frames.Adjacency; import com.tinkerpop.frames.Incidence; import com.tinkerpop.frames.Property; import com.tinkerpop.frames.domain.incidences.CreatedBy; import com.tinkerpop.frames.domain.incidences.CreatedInfo; import com.tinkerpop.frames.modules.javahandler.JavaHandler; import com.tinkerpop.frames.modules.javahandler.JavaHandlerClass; /** * @author Marko A. Rodriguez (http://markorodriguez.com) */ @JavaHandlerClass(ProjectImpl.class) public interface Project extends NamedObject { @Property("lang") public String getLanguage(); @Adjacency(label = "created", direction = Direction.IN) public Iterable<Person> getCreatedByPeople(); @Incidence(label = "created", direction = Direction.IN) public Iterable<CreatedBy> getCreatedBy(); @Incidence(label = "created", direction = Direction.IN) public Iterable<CreatedInfo> getCreatedInfo(); @Adjacency(label = "created", direction = Direction.IN) public void removeCreatedByPerson(Person person); @Incidence(label = "created", direction = Direction.IN) public void removeCreatedBy(CreatedBy createdBy); @Incidence(label = "created", direction = Direction.IN) public void removeCreatedInfo(CreatedInfo createdBy); @Incidence(label = "created", direction = Direction.IN) public CreatedBy addCreatedByPersonIncidence(Person person); @Incidence(label = "created", direction = Direction.IN) public CreatedInfo addCreatedByPersonInfo(Person person); @Incidence(label = "created", direction = Direction.IN) public CreatedBy addCreatedInfo(CreatedInfo person); @Adjacency(label = "created", direction = Direction.IN) public void addCreatedByPersonAdjacency(Person person); @JavaHandler public String getLanguageUsingMixin(); }