package org.aplikator.server.descriptor;
public class Reference<R extends Entity> extends JoinableProperty<R> {
@SuppressWarnings("unchecked")
public Reference(String id, R referredEntity, Entity ownEntity, boolean required) {
super(id, referredEntity, ownEntity, required);
if (ownEntity.equals(referredEntity)) {
throw new IllegalStateException("Self reference not supported");
}
}
@SuppressWarnings("unchecked")
public <T extends Entity> Reference<T> join(Reference<T> target) {
return (Reference<T>) relate(target);
}
}