Currently typed relations may only be used between types with explicit labels. It shall be possible to specify typed relations in templates, e.g.
public interface Template1 {
TemplateRelation getTemplateRelation();
}
public interface Template2 {
TemplateRelation getTemplateRelation();
}
public interface TemplateRelation {
@Outgoing
Template1 getTemplate1();
@Incoming
Template2 getTemplate2();
}
@Label
public interface A1 extends Template1 {
}
@Label
public interface A2 extends Template1 {
}
@Label
public interface B1 extends Template2 {
}
@Label
public interface B2 extends Template2 {
}