|
14 | 14 | * See the License for the specific language governing permissions and |
15 | 15 | * limitations under the License. |
16 | 16 | */ |
17 | | - |
18 | 17 | /** |
19 | | - * Provides classes to implement IO builders. |
| 18 | + * Provides classes to implement the builder pattern for IO classes. |
| 19 | + * |
| 20 | + * <p> |
| 21 | + * The main classes in this package are (indentation reflects hierarchy): |
| 22 | + * </p> |
| 23 | + * <ul> |
| 24 | + * <li>The root class {@linkplain org.apache.commons.io.build.AbstractSupplier AbstractSupplier} abstracts <em>supplying</em> an instance of type {@code T} |
| 25 | + * where {@code T} is unbounded. This class carries no state. |
| 26 | + * <ul> |
| 27 | + * |
| 28 | + * <li>{@linkplain org.apache.commons.io.build.AbstractOrigin AbstractOrigin} extends {@linkplain org.apache.commons.io.build.AbstractSupplier AbstractSupplier} |
| 29 | + * to abstract and wrap an <em>origin</em> for builders, where an origin is a {@code byte[]}, {@linkplain java.nio.channels.Channel Channel}, |
| 30 | + * {@linkplain java.lang.CharSequence CharSequence}, {@linkplain java.io.File File}, {@linkplain java.io.InputStream InputStream}, |
| 31 | + * {@linkplain org.apache.commons.io.IORandomAccessFile IORandomAccessFile}, {@linkplain java.io.OutputStream OutputStream}, {@linkplain java.nio.file.Path |
| 32 | + * Path}, {@linkplain java.io.RandomAccessFile RandomAccessFile}, {@linkplain java.io.Reader Reader}, {@linkplain java.net.URI URI}, or |
| 33 | + * {@linkplain java.io.Writer Writer}.</li> |
| 34 | + * |
| 35 | + * <li>{@linkplain org.apache.commons.io.build.AbstractOriginSupplier AbstractOriginSupplier} extends {@linkplain org.apache.commons.io.build.AbstractSupplier |
| 36 | + * AbstractSupplier} to abstract <em>building</em> an instance of type {@code T} where {@code T} is unbounded from a wrapped |
| 37 | + * {@linkplain org.apache.commons.io.build.AbstractOrigin origin}. |
| 38 | + * |
| 39 | + * <ul> |
| 40 | + * <li>{@linkplain org.apache.commons.io.build.AbstractStreamBuilder AbstractStreamBuilder} extends |
| 41 | + * {@linkplain org.apache.commons.io.build.AbstractOriginSupplier AbstractOriginSupplier} to abstract <em>building</em> a typed instance of type {@code T} where |
| 42 | + * {@code T} is unbounded. This class contains various properties like a buffer size, buffer size checker, a buffer size default, buffer size maximum, Charset, |
| 43 | + * Charset default, default size checker, and open options. A subclass may use all, some, or none of these properties in building instances of {@code T}.</li> |
| 44 | + * </ul> |
| 45 | + * </li> |
| 46 | + * </ul> |
| 47 | + * </li> |
| 48 | + * </ul> |
20 | 49 | * |
21 | 50 | * @since 2.12.0 |
22 | 51 | */ |
| 52 | + |
23 | 53 | package org.apache.commons.io.build; |
0 commit comments