NavigationalRelationship.java
package au.com.mountainpass.hyperstate.core;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor;
import org.springframework.context.ApplicationContext;
import com.fasterxml.jackson.annotation.JsonUnwrapped;
import au.com.mountainpass.hyperstate.core.entities.EntityWrapper;
public class NavigationalRelationship extends Relationship {
private Link link;
private NavigationalRelationship() {
}
public NavigationalRelationship(Link link, String... natures) {
super(natures);
this.link = link;
}
public NavigationalRelationship(EntityWrapper<?> accounts,
String... natures) {
super(natures);
this.link = accounts.toLinkedEntity().getLink();
}
@Autowired
public void setApplicationContext(ApplicationContext context) {
AutowiredAnnotationBeanPostProcessor bpp = new AutowiredAnnotationBeanPostProcessor();
bpp.setBeanFactory(context.getAutowireCapableBeanFactory());
bpp.processInjection(this.link);
}
@JsonUnwrapped
public Link getLink() {
return this.link;
}
public void setLink(Link link) {
this.link = link;
}
}