private Generator(boolean full,File buildDir,String packageNamePrefix,String lafName,SynthModel model){
  this.full=full;
  if (packageNamePrefix == null) {
    throw new IllegalArgumentException("You must specify a package name prefix");
  }
  if (buildDir == null) {
    throw new IllegalArgumentException("You must specify the build directory");
  }
  if (model == null) {
    throw new IllegalArgumentException("You must specify the SynthModel");
  }
  if (lafName == null) {
    throw new IllegalArgumentException("You must specify the name of the look and feel");
  }
  variables=new HashMap<String,String>();
  variables.put("PACKAGE",packageNamePrefix);
  variables.put("LAF_NAME",lafName);
  buildPackageRoot=new File(buildDir,packageNamePrefix.replaceAll("\\.","\\/"));
  buildPackageRoot.mkdirs();
  this.packageNamePrefix=packageNamePrefix;
  this.lafName=lafName;
  this.model=model;
}

private Generator ( boolean full , File buildDir , String packageNamePrefix , String lafName , SynthModel model ) { this . full = full ; if ( packageNamePrefix == null ) { throw new IllegalArgumentException ( "You must specify a package name prefix" ) ; } if ( buildDir == null ) { throw new IllegalArgumentException ( "You must specify the build directory" ) ; } if ( model == null ) { throw new IllegalArgumentException ( "You must specify the SynthModel" ) ; } if ( lafName == null ) { throw new IllegalArgumentException ( "You must specify the name of the look and feel" ) ; } variables = new HashMap < String , String > ( ) ; variables . put ( "PACKAGE" , packageNamePrefix ) ; variables . put ( "LAF_NAME" , lafName ) ; buildPackageRoot = new File ( buildDir , packageNamePrefix . replaceAll ( "\\." , "\\/" ) ) ; buildPackageRoot . mkdirs ( ) ; this . packageNamePrefix = packageNamePrefix ; this . lafName = lafName ; this . model = model ; }
creates a new generator , capable of outputting the source code artifacts related to a given synthmodel . it is capable of generating the one - time artifacts in addition to the regeneration of build - controlled artifacts .
