Package com.squareup.javapoet
Class MethodSpec
- java.lang.Object
-
- com.squareup.javapoet.MethodSpec
-
public final class MethodSpec extends java.lang.Object
A generated constructor or method declaration.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
MethodSpec.Builder
-
Field Summary
Fields Modifier and Type Field Description java.util.List<AnnotationSpec>
annotations
CodeBlock
code
(package private) static java.lang.String
CONSTRUCTOR
CodeBlock
defaultValue
java.util.List<TypeName>
exceptions
CodeBlock
javadoc
java.util.Set<javax.lang.model.element.Modifier>
modifiers
java.lang.String
name
java.util.List<ParameterSpec>
parameters
TypeName
returnType
java.util.List<TypeVariableName>
typeVariables
boolean
varargs
-
Constructor Summary
Constructors Modifier Constructor Description private
MethodSpec(MethodSpec.Builder builder)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static MethodSpec.Builder
constructorBuilder()
(package private) void
emit(CodeWriter codeWriter, java.lang.String enclosingName, java.util.Set<javax.lang.model.element.Modifier> implicitModifiers)
boolean
equals(java.lang.Object o)
int
hashCode()
boolean
hasModifier(javax.lang.model.element.Modifier modifier)
boolean
isConstructor()
private CodeBlock
javadocWithParameters()
private boolean
lastParameterIsArray(java.util.List<ParameterSpec> parameters)
static MethodSpec.Builder
methodBuilder(java.lang.String name)
static MethodSpec.Builder
overriding(javax.lang.model.element.ExecutableElement method)
Returns a new method spec builder that overridesmethod
.static MethodSpec.Builder
overriding(javax.lang.model.element.ExecutableElement method, javax.lang.model.type.DeclaredType enclosing, javax.lang.model.util.Types types)
Returns a new method spec builder that overridesmethod
as a member ofenclosing
.MethodSpec.Builder
toBuilder()
java.lang.String
toString()
-
-
-
Field Detail
-
CONSTRUCTOR
static final java.lang.String CONSTRUCTOR
- See Also:
- Constant Field Values
-
name
public final java.lang.String name
-
javadoc
public final CodeBlock javadoc
-
annotations
public final java.util.List<AnnotationSpec> annotations
-
modifiers
public final java.util.Set<javax.lang.model.element.Modifier> modifiers
-
typeVariables
public final java.util.List<TypeVariableName> typeVariables
-
returnType
public final TypeName returnType
-
parameters
public final java.util.List<ParameterSpec> parameters
-
varargs
public final boolean varargs
-
exceptions
public final java.util.List<TypeName> exceptions
-
code
public final CodeBlock code
-
defaultValue
public final CodeBlock defaultValue
-
-
Constructor Detail
-
MethodSpec
private MethodSpec(MethodSpec.Builder builder)
-
-
Method Detail
-
lastParameterIsArray
private boolean lastParameterIsArray(java.util.List<ParameterSpec> parameters)
-
emit
void emit(CodeWriter codeWriter, java.lang.String enclosingName, java.util.Set<javax.lang.model.element.Modifier> implicitModifiers) throws java.io.IOException
- Throws:
java.io.IOException
-
javadocWithParameters
private CodeBlock javadocWithParameters()
-
hasModifier
public boolean hasModifier(javax.lang.model.element.Modifier modifier)
-
isConstructor
public boolean isConstructor()
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equals
in classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
methodBuilder
public static MethodSpec.Builder methodBuilder(java.lang.String name)
-
constructorBuilder
public static MethodSpec.Builder constructorBuilder()
-
overriding
public static MethodSpec.Builder overriding(javax.lang.model.element.ExecutableElement method)
Returns a new method spec builder that overridesmethod
.This will copy its visibility modifiers, type parameters, return type, name, parameters, and throws declarations. An
Override
annotation will be added.Note that in JavaPoet 1.2 through 1.7 this method retained annotations from the method and parameters of the overridden method. Since JavaPoet 1.8 annotations must be added separately.
-
overriding
public static MethodSpec.Builder overriding(javax.lang.model.element.ExecutableElement method, javax.lang.model.type.DeclaredType enclosing, javax.lang.model.util.Types types)
Returns a new method spec builder that overridesmethod
as a member ofenclosing
. This will resolve type parameters: for example overridingComparable.compareTo(T)
in a type that implementsComparable<Movie>
, theT
parameter will be resolved toMovie
.This will copy its visibility modifiers, type parameters, return type, name, parameters, and throws declarations. An
Override
annotation will be added.Note that in JavaPoet 1.2 through 1.7 this method retained annotations from the method and parameters of the overridden method. Since JavaPoet 1.8 annotations must be added separately.
-
toBuilder
public MethodSpec.Builder toBuilder()
-
-