Class ImportCustomizerFactory

java.lang.Object
groovy.util.AbstractFactory
org.codehaus.groovy.control.customizers.builder.ImportCustomizerFactory
All Implemented Interfaces:
Factory

public class ImportCustomizerFactory
extends AbstractFactory
This factory allows the generation of an import customizer. You may embed several elements:
  • normal for "regular" imports
  • star for "star" imports
  • staticStar for "static star" imports
  • alias for imports with alias
  • staticMember for static imports of individual members
For example:
builder.imports {
 alias 'AI', 'java.util.concurrent.atomic.AtomicInteger'
 alias 'AL', 'java.util.concurrent.atomic.AtomicLong'
}
Since:
2.1.0
  • Constructor Details

    • ImportCustomizerFactory

      public ImportCustomizerFactory()
  • Method Details

    • isHandlesNodeChildren

      public boolean isHandlesNodeChildren()
      Description copied from interface: Factory
      Does this factory "Own" its child closure.
      Specified by:
      isHandlesNodeChildren in interface Factory
      Overrides:
      isHandlesNodeChildren in class AbstractFactory
      Returns:
      true if the factory should have onContentClosure() called, false if the builder should handle it
    • newInstance

      public Object newInstance​(FactoryBuilderSupport builder, Object name, Object value, Map attributes) throws InstantiationException, IllegalAccessException
      Parameters:
      builder - the FactoryBuilder
      name - the name of the node being built
      value - the 'value' argument in the build node
      attributes - the attributes of the build arg
      Returns:
      the object created for the builder
      Throws:
      InstantiationException - if attempting to instantiate an interface or abstract class
      IllegalAccessException - if the instance can't be created due to a security violation
    • onNodeChildren

      public boolean onNodeChildren​(FactoryBuilderSupport builder, Object node, Closure childContent)
      Description copied from interface: Factory
      Only called if it isLeaf is false and isHandlesNodeChildren is true
      Specified by:
      onNodeChildren in interface Factory
      Overrides:
      onNodeChildren in class AbstractFactory
      Parameters:
      builder - the FactoryBuilder
      node - the node (returned from newINstance) to consider the attributes for
      childContent - the child content closure of the builder
      Returns:
      true if the factory builder should apply default node processing to the content child