package com.speedment.runtime.join;

import com.speedment.runtime.join.trait.HasStream;

/**
 * This interface represent a Join operation from which Streams of the joined
 * tables can be obtained.
 *
 * @author Per Minborg
 * @param <T> the composite type of entity types
 */
public interface Join<T> extends HasStream<T> {

}

@@ -73,16 +73,105 @@
 rait.Has
+DefaultBuild;%0Aimport com.speedment.runtime.join.trait.HasStream;%0Aimport java.util.stream.
 Stream;%0A
@@ -408,10 +408,634 @@
 m%3CT%3E %7B%0A%0A
+    /**%0A     * %7B@inheritDoc %7D%0A     * %3Cp%3E%0A     * Note: For Joins obtained via the default %7B@link HasDefaultBuild#build() %7D%0A     * method, elements appearing in the stream may be %3Cem%3Edeeply immutable%3C/em%3E%0A     * meaning that Tuples in the stream are immutable and that entities%0A     * contained in these Tuples may also be immutable. Thus, it is an error to%0A     * invoke setters on any objects obtained directly or indirectly from the%0A     * stream elements. If mutable objects are needed, the immutable objects%0A     * must be used to create a new mutable object.%0A     *%0A     */%0A    @Override%0A    public Stream%3CT%3E stream();%0A%0A
 %7D%0A

Improve stream documentation