Class 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 Detail

      • ImportCustomizerFactory

        public ImportCustomizerFactory()
    • Method Detail

      • isHandlesNodeChildren

        public boolean isHandlesNodeChildren()
        Description copied from interface: Factory
        Does this factory "Own" it's 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 java.lang.Object newInstance​(FactoryBuilderSupport builder,
                                            java.lang.Object name,
                                            java.lang.Object value,
                                            java.util.Map attributes)
                                     throws java.lang.InstantiationException,
                                            java.lang.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:
        java.lang.InstantiationException - if attempting to instantiate an interface or abstract class
        java.lang.IllegalAccessException - if the instance can't be created due to a security violation
      • onNodeChildren

        public boolean onNodeChildren​(FactoryBuilderSupport builder,
                                      java.lang.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