package com.eswaraj.domain.nodes; import java.util.Collection; import java.util.Set; import org.springframework.data.neo4j.annotation.Fetch; import org.springframework.data.neo4j.annotation.Indexed; import org.springframework.data.neo4j.annotation.NodeEntity; import org.springframework.data.neo4j.annotation.RelatedTo; import org.springframework.data.neo4j.annotation.RelatedToVia; import com.eswaraj.domain.base.BaseNode; import com.eswaraj.domain.nodes.Status.Mode; import com.eswaraj.domain.nodes.division.GeoPoint; /** * Complaint made by a person * @author anuj * @date Jan 18, 2014 * */ @NodeEntity public class Complaint extends BaseNode { private String title; private String description; @Indexed @RelatedTo(type="IS_AT") private GeoPoint geoPoint; @RelatedTo(type="BELONGS_TO") private Category category; @RelatedToVia(type="LODGED_BY") private Person person; @RelatedToVia(type="SERVED_BY") private ExecutiveAdministrator administrator; @RelatedTo(type="IS_IN") @Fetch private Status status; @RelatedTo(type="ENDORSED_BY", elementClass=Person.class) private Set<Person> endorsements; @RelatedTo(type="SERVED_BY", elementClass=Administrator.class) private Set<PoliticalAdministrator> servants; private Set<Photo> photos; private Set<Video> videos; public Complaint(){} public Complaint(String title) { this.title = title; this.status = new Status(Mode.PENDING); } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } public GeoPoint getGeoPoint() { return geoPoint; } public void setGeoPoint(GeoPoint geoPoint) { this.geoPoint = geoPoint; } public Category getCategory() { return category; } public void setCategory(Category category) { this.category = category; } public Person getPerson() { return person; } public void setPerson(Person person) { this.person = person; } public ExecutiveAdministrator getAdministrator() { return administrator; } public void setAdministrator(ExecutiveAdministrator administrator) { this.administrator = administrator; } public Status getStatus() { return status; } public void setStatus(Status status) { this.status = status; } public Set<Person> getEndorsements() { return endorsements; } public void setEndorsements(Set<Person> endorsements) { this.endorsements = endorsements; } public Set<PoliticalAdministrator> getServants() { return servants; } public void setServants(Set<PoliticalAdministrator> servants) { this.servants = servants; } public Set<Photo> getPhotos() { return photos; } public void setPhotos(Set<Photo> photos) { this.photos = photos; } public Set<Video> getVideos() { return videos; } public void setVideos(Set<Video> videos) { this.videos = videos; } }