package architect.autostack.compiler; import com.squareup.javapoet.AnnotationSpec; import com.squareup.javapoet.ClassName; import com.squareup.javapoet.ParameterSpec; import com.squareup.javapoet.TypeName; import java.util.LinkedList; import java.util.List; /** * @author Lukasz Piliszczuk - lukasz.pili@gmail.com */ public class ModuleSpec { private final ClassName className; private TypeName presenterTypeName; private AnnotationSpec scopeAnnotationSpec; private final List<ParameterSpec> provideParameters; private final List<ParameterSpec> internalParameters; private final List<ParameterSpec> presenterArgs; public ModuleSpec(ClassName className) { this.className = className; provideParameters = new LinkedList<>(); internalParameters = new LinkedList<>(); presenterArgs = new LinkedList<>(); } public ClassName getClassName() { return className; } public TypeName getPresenterTypeName() { return presenterTypeName; } public void setPresenterTypeName(TypeName presenterTypeName) { this.presenterTypeName = presenterTypeName; } public AnnotationSpec getScopeAnnotationSpec() { return scopeAnnotationSpec; } public void setScopeAnnotationSpec(AnnotationSpec scopeAnnotationSpec) { this.scopeAnnotationSpec = scopeAnnotationSpec; } public List<ParameterSpec> getProvideParameters() { return provideParameters; } public List<ParameterSpec> getInternalParameters() { return internalParameters; } public List<ParameterSpec> getPresenterArgs() { return presenterArgs; } }