Class AbstractMethodTransformer<S extends io.polygenesis.abstraction.thing.FunctionProvider>

  • Type Parameters:
    S - the type parameter
    All Implemented Interfaces:
    io.polygenesis.generators.java.shared.transformer.MethodTransformer<S>

    public abstract class AbstractMethodTransformer<S extends io.polygenesis.abstraction.thing.FunctionProvider>
    extends AbstractTransformer
    implements io.polygenesis.generators.java.shared.transformer.MethodTransformer<S>
    The type Abstract method representable.
    Author:
    Christos Tsakostas
    • Constructor Detail

      • AbstractMethodTransformer

        public AbstractMethodTransformer​(io.polygenesis.core.DataTypeTransformer dataTypeTransformer)
        Instantiates an Abstract method transformer.
        Parameters:
        dataTypeTransformer - the data type transformer
    • Method Detail

      • create

        public io.polygenesis.representations.code.MethodRepresentation create​(S source,
                                                                               Object... args)
        Specified by:
        create in interface io.polygenesis.generators.java.shared.transformer.MethodTransformer<S extends io.polygenesis.abstraction.thing.FunctionProvider>
      • methodType

        public io.polygenesis.representations.code.MethodRepresentationType methodType​(S source,
                                                                                       Object... args)
        Specified by:
        methodType in interface io.polygenesis.generators.java.shared.transformer.MethodTransformer<S extends io.polygenesis.abstraction.thing.FunctionProvider>
      • imports

        public Set<String> imports​(S source,
                                   Object... args)
        Specified by:
        imports in interface io.polygenesis.generators.java.shared.transformer.MethodTransformer<S extends io.polygenesis.abstraction.thing.FunctionProvider>
      • annotations

        public Set<String> annotations​(S source,
                                       Object... args)
        Specified by:
        annotations in interface io.polygenesis.generators.java.shared.transformer.MethodTransformer<S extends io.polygenesis.abstraction.thing.FunctionProvider>
      • description

        public String description​(S source,
                                  Object... args)
        Specified by:
        description in interface io.polygenesis.generators.java.shared.transformer.MethodTransformer<S extends io.polygenesis.abstraction.thing.FunctionProvider>
      • modifiers

        public String modifiers​(S source,
                                Object... args)
        Specified by:
        modifiers in interface io.polygenesis.generators.java.shared.transformer.MethodTransformer<S extends io.polygenesis.abstraction.thing.FunctionProvider>
      • methodName

        public String methodName​(S source,
                                 Object... args)
        Specified by:
        methodName in interface io.polygenesis.generators.java.shared.transformer.MethodTransformer<S extends io.polygenesis.abstraction.thing.FunctionProvider>
      • parameterRepresentations

        public Set<io.polygenesis.representations.code.ParameterRepresentation> parameterRepresentations​(S source,
                                                                                                         Object... args)
        Specified by:
        parameterRepresentations in interface io.polygenesis.generators.java.shared.transformer.MethodTransformer<S extends io.polygenesis.abstraction.thing.FunctionProvider>
      • returnValue

        public String returnValue​(S source,
                                  Object... args)
        Specified by:
        returnValue in interface io.polygenesis.generators.java.shared.transformer.MethodTransformer<S extends io.polygenesis.abstraction.thing.FunctionProvider>
      • implementation

        public String implementation​(S source,
                                     Object... args)
        Specified by:
        implementation in interface io.polygenesis.generators.java.shared.transformer.MethodTransformer<S extends io.polygenesis.abstraction.thing.FunctionProvider>
      • thrownExceptions

        public Set<String> thrownExceptions​(S source,
                                            Object... args)
        Specified by:
        thrownExceptions in interface io.polygenesis.generators.java.shared.transformer.MethodTransformer<S extends io.polygenesis.abstraction.thing.FunctionProvider>
      • makeCanonicalObjectName

        protected String makeCanonicalObjectName​(io.polygenesis.commons.valueobjects.PackageName packageName,
                                                 String dataType)
        Make canonical object name string.
        Parameters:
        packageName - the package name
        dataType - the data type
        Returns:
        the string
      • getParametersCommaSeparated

        protected String getParametersCommaSeparated​(Set<io.polygenesis.representations.code.ParameterRepresentation> parameterRepresentations)
        Gets parameters comma separated.
        Parameters:
        parameterRepresentations - the parameter representations
        Returns:
        the parameters comma separated