package org.openntf.conference.graph;
import java.util.Date;
import org.openntf.conference.graph.Event.HappeningAt;
import org.openntf.domino.graph2.annotations.AdjacencyUnique;
import org.openntf.domino.graph2.annotations.IncidenceUnique;
import org.openntf.domino.graph2.annotations.TypedProperty;
import org.openntf.domino.graph2.builtin.social.Commentable;
import org.openntf.domino.graph2.builtin.social.Likeable;
import org.openntf.domino.graph2.builtin.social.Rateable;
import com.tinkerpop.blueprints.Direction;
import com.tinkerpop.frames.modules.typedgraph.TypeValue;
@TypeValue("Location")
public interface Location extends Commentable, Likeable, Rateable {
public static enum Features {
RESTAURANT, REFRESHMENTS, BAR, OUTDOOR;
}
@TypedProperty("Name")
public String getName();
@TypedProperty("Name")
public void setName(String name);
@TypedProperty("Latitude")
public Double getLatitude();
@TypedProperty("Latitude")
public void setLatitude(Double latitude);
@TypedProperty("Longitude")
public Double getLongitude();
@TypedProperty("Longitude")
public void setLongitude(Double longitude);
@TypedProperty("Mapurl")
public String getMapUrl();
@TypedProperty("Mapurl")
public void setMapUrl(String mapUrl);
@TypedProperty("Floor")
public String getFloor();
@TypedProperty("Floor")
public void setFloor(String floor);
@TypedProperty("Address")
public String getAddress();
@TypedProperty("Address")
public void setAddress(String address);
@TypedProperty("OpenTime")
public Date getOpenTime();
@TypedProperty("OpenTime")
public void setOpenTime(Date time);
@TypedProperty("CloseTime")
public Date getCloseTime();
@TypedProperty("CloseTime")
public void setCloseTime(Date time);
@TypedProperty("Features")
public Features[] getFeatures();
@TypedProperty("Features")
public void setFeatures(Features[] features);
@AdjacencyUnique(label = HappeningAt.LABEL, direction = Direction.IN)
public Iterable<Event> getEvents();
@AdjacencyUnique(label = HappeningAt.LABEL, direction = Direction.IN)
public HappeningAt addEvent(Event event);
@AdjacencyUnique(label = HappeningAt.LABEL, direction = Direction.IN)
public void removeEvent(Event event);
@IncidenceUnique(label = HappeningAt.LABEL, direction = Direction.IN)
public Iterable<HappeningAt> getHappeningAts();
@IncidenceUnique(label = HappeningAt.LABEL, direction = Direction.IN)
public void removeHappeningAt(HappeningAt happeningAt);
}