iron-api/src/main/java/io/axway/iron/description/DSL.java
public static <TAIL, HEAD> Collection<TAIL> reciprocalManyRelation(Class<TAIL> tailEntityClass, Accessor<TAIL, HEAD> relationAccessor) {
        return THREAD_LOCAL_DSL_HELPER.get().reciprocalManyRelation(tailEntityClass, relationAccessor);
    }
public static <TAIL, HEAD> Collection<TAIL> reciprocalManyRelation(Class<TAIL> tailEntityClass, Accessor<TAIL, HEAD> relationAccessor) {
        return THREAD_LOCAL_DSL_HELPER.get().reciprocalManyRelation(tailEntityClass, relationAccessor);
    }
public static < TAIL , HEAD > Collection < TAIL > reciprocalManyRelation ( Class < TAIL > tailEntityClass , Accessor < TAIL , HEAD > relationAccessor ) { return THREAD_LOCAL_DSL_HELPER . get ( ) . reciprocalManyRelation ( tailEntityClass , relationAccessor ) ; }
This method has to be called in the default implementation of an entity interface to declare that a relation is the reciprocal of another relation:
<ul>
<li>the straight relation is defined from the {@code TAIL} entity to the {@code HEAD} entity. It must not have a default implementation</li>
<li>the reverse relation is defined from the {@code HEAD} entity to the {@code TAIL} entity. It must have a default implementation that call this method</li>
</ul>
<p>
At runtime this call is only issued during the model analysis. The entity instances proxies overrides this default implementation to return the needed information.<br>

@param tailEntityClass the {@code TAIL} entity class
@param relationAccessor the accessor on the {@code TAIL} entity class that correspond to the straight relation.
@param <TAIL> the TAIL entity
@param <HEAD> the HEAD entity
@return whatever is needed to make the compiler happy
This method has to be called in the default implementation of an entity interface to declare that a relation is the reciprocal of another relation : <ul > <li > the straight relation is defined from the { @code TAIL } entity to the { @code HEAD } entity . It must not have a default implementation< / li > <li > the reverse relation is defined from the { @code HEAD } entity to the { @code TAIL } entity . It must have a default implementation that call this method< / li > < / ul > <p > At runtime this call is only issued during the model analysis . The entity instances proxies overrides this default implementation to return the needed information . <br >