com.reprezen.genflow.api.template.builders.package-info Maven / Gradle / Ivy
/*******************************************************************************
* Copyright © 2013, 2016 Modelsolv, Inc.
* All Rights Reserved.
*
* NOTICE: All information contained herein is, and remains the property
* of ModelSolv, Inc. See the file license.html in the root directory of
* this project for further information.
*******************************************************************************/
/**
* Builders for all the configuration items available to GenTemplates.
*
* A builder class named XxxBuilder
creates instances of
* XxxSpec
, which is a member of the builder class. Each spec class
* includes local validation that throws
* {@link com.reprezen.genflow.api.GenerationException} if it is incomplete or
* otherwise invalid.
*
* The {@link com.reprezen.genflow.api.template.GenTemplate} class makes use of
* builders. It declares a define(Xxx)
method and an
* xxx
method for each builder type. The xxx
method
* instantiates a builder of the correct type, and the define
* method finalizes the builder and adds the resulting spec to an internal
* collection. See
* {@link com.reprezen.genflow.api.template.GenTemplate#configure} for more
* details.
*
* A typical use of a builder therefore looks like this, appearing in an
* override of {@link com.reprezen.genflow.api.template.GenTemplate#configure}
* within a concrete GenTemplate implementation:
*
*
* define(xxx().named("...").with(...)...);
*
*
* @author Andy Lowry
*
*/
package com.reprezen.genflow.api.template.builders;