Top Description Inners Fields Constructors Methods
com.squareup.javapoet

public final Class MethodSpec

extends Object
Class Inheritance
Imports
java.io.IOException, java.lang.reflect.Type, java.util.ArrayList, .Collections, .Iterator, .LinkedHashSet, .List, .Map, .Set, javax.lang.model.SourceVersion, javax.lang.model.element.Element, .ExecutableElement, .Modifier, .TypeParameterElement, javax.lang.model.type.DeclaredType, .ExecutableType, .TypeMirror, .TypeVariable, javax.lang.model.util.Types

A generated constructor or method declaration.

Nested and Inner Type Summary

Modifier and TypeClass and Description
public static class

Field Summary

Modifier and TypeField and Description
public final List<AnnotationSpec>
public final CodeBlock
pack-priv static final String
public final CodeBlock
public final List<TypeName>
public final CodeBlock
public final Set<Modifier>
public final String
public final List<ParameterSpec>
public final TypeName
public final List<TypeVariableName>
public final boolean

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
public static MethodSpec.Builder
pack-priv void
emit(CodeWriter codeWriter, String enclosingName, Set<Modifier> implicitModifiers)

public boolean
equals(Object
the reference object with which to compare.
o
)

Overrides java.lang.Object.equals.

Indicates whether some other object is "equal to" this one.
public int
hashCode()

Overrides java.lang.Object.hashCode.

Returns a hash code value for the object.
public boolean
public boolean
private CodeBlock
private boolean
public static MethodSpec.Builder
public static MethodSpec.Builder
overriding(ExecutableElement method)

Returns a new method spec builder that overrides method.

public static MethodSpec.Builder
overriding(ExecutableElement method, DeclaredType enclosing, Types types)

Returns a new method spec builder that overrides method as a member of enclosing.

public MethodSpec.Builder
public String
toString()

Overrides java.lang.Object.toString.

Returns a string representation of the object.
Inherited from java.lang.Object:
clonefinalizegetClassnotifynotifyAllwaitwaitwait

Field Detail

annotationsback to summary
public final List<AnnotationSpec> annotations
codeback to summary
public final CodeBlock code
CONSTRUCTORback to summary
pack-priv static final String CONSTRUCTOR
defaultValueback to summary
public final CodeBlock defaultValue
exceptionsback to summary
public final List<TypeName> exceptions
javadocback to summary
public final CodeBlock javadoc
modifiersback to summary
public final Set<Modifier> modifiers
nameback to summary
public final String name
parametersback to summary
public final List<ParameterSpec> parameters
returnTypeback to summary
public final TypeName returnType
typeVariablesback to summary
public final List<TypeVariableName> typeVariables
varargsback to summary
public final boolean varargs

Constructor Detail

MethodSpecback to summary
private MethodSpec(MethodSpec.Builder builder)

Method Detail

constructorBuilderback to summary
public static MethodSpec.Builder constructorBuilder()
emitback to summary
pack-priv void emit(CodeWriter codeWriter, String enclosingName, Set<Modifier> implicitModifiers) throws IOException
equalsback to summary
public boolean equals(Object o)

Overrides java.lang.Object.equals.

Doc from java.lang.Object.equals.

Indicates whether some other object is "equal to" this one.

The equals method implements an equivalence relation on non-null object references:

  • It is reflexive: for any non-null reference value x, x.equals(x) should return true.
  • It is symmetric: for any non-null reference values x and y, x.equals(y) should return true if and only if y.equals(x) returns true.
  • It is transitive: for any non-null reference values x, y, and z, if x.equals(y) returns true and y.equals(z) returns true, then x.equals(z) should return true.
  • It is consistent: for any non-null reference values x and y, multiple invocations of x.equals(y) consistently return true or consistently return false, provided no information used in equals comparisons on the objects is modified.
  • For any non-null reference value x, x.equals(null) should return false.

An equivalence relation partitions the elements it operates on into equivalence classes; all the members of an equivalence class are equal to each other. Members of an equivalence class are substitutable for each other, at least for some purposes.

Parameters
o:Object

the reference object with which to compare.

Returns:boolean

true if this object is the same as the obj argument; false otherwise.

Annotations
@Override
hashCodeback to summary
public int hashCode()

Overrides java.lang.Object.hashCode.

Doc from java.lang.Object.hashCode.

Returns a hash code value for the object. This method is supported for the benefit of hash tables such as those provided by java.util.HashMap.

The general contract of hashCode is:

  • Whenever it is invoked on the same object more than once during an execution of a Java application, the hashCode method must consistently return the same integer, provided no information used in equals comparisons on the object is modified. This integer need not remain consistent from one execution of an application to another execution of the same application.
  • If two objects are equal according to the equals method, then calling the hashCode method on each of the two objects must produce the same integer result.
  • It is not required that if two objects are unequal according to the equals method, then calling the hashCode method on each of the two objects must produce distinct integer results. However, the programmer should be aware that producing distinct integer results for unequal objects may improve the performance of hash tables.
Returns:int

a hash code value for this object.

Annotations
@Override
hasModifierback to summary
public boolean hasModifier(Modifier modifier)
isConstructorback to summary
public boolean isConstructor()
javadocWithParametersback to summary
private CodeBlock javadocWithParameters()
lastParameterIsArrayback to summary
private boolean lastParameterIsArray(List<ParameterSpec> parameters)
methodBuilderback to summary
public static MethodSpec.Builder methodBuilder(String name)
overridingback to summary
public static MethodSpec.Builder overriding(ExecutableElement method)

Returns a new method spec builder that overrides method.

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.

overridingback to summary
public static MethodSpec.Builder overriding(ExecutableElement method, DeclaredType enclosing, Types types)

Returns a new method spec builder that overrides method as a member of enclosing. This will resolve type parameters: for example overriding Comparable#compareTo in a type that implements Comparable<Movie>, the T parameter will be resolved to Movie.

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.

toBuilderback to summary
public MethodSpec.Builder toBuilder()
toStringback to summary
public String toString()

Overrides java.lang.Object.toString.

Doc from java.lang.Object.toString.

Returns a string representation of the object.

Returns:String

a string representation of the object.

Annotations
@Override
com.squareup.javapoet back to summary

public final Class MethodSpec.Builder

extends Object
Class Inheritance

Field Summary

Modifier and TypeField and Description
public final List<AnnotationSpec>
private final CodeBlock.Builder
private CodeBlock
private final Set<TypeName>
private final CodeBlock.Builder
public final List<Modifier>
private String
public final List<ParameterSpec>
private TypeName
public final List<TypeVariableName>
private boolean

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
public MethodSpec.Builder
addAnnotation(AnnotationSpec annotationSpec)

public MethodSpec.Builder
public MethodSpec.Builder
addAnnotation(Class<?> annotation)

public MethodSpec.Builder
public MethodSpec.Builder
addCode(String format, Object... args)

public MethodSpec.Builder
addCode(CodeBlock codeBlock)

public MethodSpec.Builder
addComment(String format, Object... args)

public MethodSpec.Builder
public MethodSpec.Builder
addException(Type exception)

public MethodSpec.Builder
addExceptions(Iterable<? extends TypeName> exceptions)

public MethodSpec.Builder
addJavadoc(String format, Object... args)

public MethodSpec.Builder
public MethodSpec.Builder
addModifiers(Modifier... modifiers)

public MethodSpec.Builder
public MethodSpec.Builder
addNamedCode(String format, Map<String, ?> args)

public MethodSpec.Builder
addParameter(ParameterSpec parameterSpec)

public MethodSpec.Builder
addParameter(TypeName type, String name, Modifier... modifiers)

public MethodSpec.Builder
addParameter(Type type, String name, Modifier... modifiers)

public MethodSpec.Builder
public MethodSpec.Builder
addStatement(String format, Object... args)

public MethodSpec.Builder
public MethodSpec.Builder
public MethodSpec.Builder
public MethodSpec.Builder
beginControlFlow(String
the control flow construct and its code, such as "if (foo == 5)". Shouldn't contain braces or newline characters.
controlFlow
,
Object... args)

public MethodSpec.Builder
beginControlFlow(CodeBlock
the control flow construct and its code, such as "if (foo == 5)". Shouldn't contain braces or newline characters.
codeBlock
)

public MethodSpec
public MethodSpec.Builder
defaultValue(String format, Object... args)

public MethodSpec.Builder
public MethodSpec.Builder
public MethodSpec.Builder
endControlFlow(String
the optional control flow construct and its code, such as "while(foo == 20)". Only used for "do/while" control flows.
controlFlow
,
Object... args)

public MethodSpec.Builder
endControlFlow(CodeBlock
the optional control flow construct and its code, such as "while(foo == 20)". Only used for "do/while" control flows.
codeBlock
)

public MethodSpec.Builder
nextControlFlow(String
the control flow construct and its code, such as "else if (foo == 10)". Shouldn't contain braces or newline characters.
controlFlow
,
Object... args)

public MethodSpec.Builder
nextControlFlow(CodeBlock
the control flow construct and its code, such as "else if (foo == 10)". Shouldn't contain braces or newline characters.
codeBlock
)

public MethodSpec.Builder
returns(TypeName returnType)

public MethodSpec.Builder
returns(Type returnType)

public MethodSpec.Builder
public MethodSpec.Builder
public MethodSpec.Builder
varargs(boolean varargs)

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

annotationsback to summary
public final List<AnnotationSpec> annotations
codeback to summary
private final CodeBlock.Builder code
defaultValueback to summary
private CodeBlock defaultValue
exceptionsback to summary
private final Set<TypeName> exceptions
javadocback to summary
private final CodeBlock.Builder javadoc
modifiersback to summary
public final List<Modifier> modifiers
nameback to summary
private String name
parametersback to summary
public final List<ParameterSpec> parameters
returnTypeback to summary
private TypeName returnType
typeVariablesback to summary
public final List<TypeVariableName> typeVariables
varargsback to summary
private boolean varargs

Constructor Detail

Builderback to summary
private Builder(String name)

Method Detail

addAnnotationback to summary
public MethodSpec.Builder addAnnotation(AnnotationSpec annotationSpec)
addAnnotationback to summary
public MethodSpec.Builder addAnnotation(ClassName annotation)
addAnnotationback to summary
public MethodSpec.Builder addAnnotation(Class<?> annotation)
addAnnotationsback to summary
public MethodSpec.Builder addAnnotations(Iterable<AnnotationSpec> annotationSpecs)
addCodeback to summary
public MethodSpec.Builder addCode(String format, Object... args)
addCodeback to summary
public MethodSpec.Builder addCode(CodeBlock codeBlock)
addCommentback to summary
public MethodSpec.Builder addComment(String format, Object... args)
addExceptionback to summary
public MethodSpec.Builder addException(TypeName exception)
addExceptionback to summary
public MethodSpec.Builder addException(Type exception)
addExceptionsback to summary
public MethodSpec.Builder addExceptions(Iterable<? extends TypeName> exceptions)
addJavadocback to summary
public MethodSpec.Builder addJavadoc(String format, Object... args)
addJavadocback to summary
public MethodSpec.Builder addJavadoc(CodeBlock block)
addModifiersback to summary
public MethodSpec.Builder addModifiers(Modifier... modifiers)
addModifiersback to summary
public MethodSpec.Builder addModifiers(Iterable<Modifier> modifiers)
addNamedCodeback to summary
public MethodSpec.Builder addNamedCode(String format, Map<String, ?> args)
addParameterback to summary
public MethodSpec.Builder addParameter(ParameterSpec parameterSpec)
addParameterback to summary
public MethodSpec.Builder addParameter(TypeName type, String name, Modifier... modifiers)
addParameterback to summary
public MethodSpec.Builder addParameter(Type type, String name, Modifier... modifiers)
addParametersback to summary
public MethodSpec.Builder addParameters(Iterable<ParameterSpec> parameterSpecs)
addStatementback to summary
public MethodSpec.Builder addStatement(String format, Object... args)
addStatementback to summary
public MethodSpec.Builder addStatement(CodeBlock codeBlock)
addTypeVariableback to summary
public MethodSpec.Builder addTypeVariable(TypeVariableName typeVariable)
addTypeVariablesback to summary
public MethodSpec.Builder addTypeVariables(Iterable<TypeVariableName> typeVariables)
beginControlFlowback to summary
public MethodSpec.Builder beginControlFlow(String controlFlow, Object... args)
Parameters
controlFlow:String

the control flow construct and its code, such as "if (foo == 5)". Shouldn't contain braces or newline characters.

beginControlFlowback to summary
public MethodSpec.Builder beginControlFlow(CodeBlock codeBlock)
Parameters
codeBlock:CodeBlock

the control flow construct and its code, such as "if (foo == 5)". Shouldn't contain braces or newline characters.

buildback to summary
public MethodSpec build()
defaultValueback to summary
public MethodSpec.Builder defaultValue(String format, Object... args)
defaultValueback to summary
public MethodSpec.Builder defaultValue(CodeBlock codeBlock)
endControlFlowback to summary
public MethodSpec.Builder endControlFlow()
endControlFlowback to summary
public MethodSpec.Builder endControlFlow(String controlFlow, Object... args)
Parameters
controlFlow:String

the optional control flow construct and its code, such as "while(foo == 20)". Only used for "do/while" control flows.

endControlFlowback to summary
public MethodSpec.Builder endControlFlow(CodeBlock codeBlock)
Parameters
codeBlock:CodeBlock

the optional control flow construct and its code, such as "while(foo == 20)". Only used for "do/while" control flows.

nextControlFlowback to summary
public MethodSpec.Builder nextControlFlow(String controlFlow, Object... args)
Parameters
controlFlow:String

the control flow construct and its code, such as "else if (foo == 10)". Shouldn't contain braces or newline characters.

nextControlFlowback to summary
public MethodSpec.Builder nextControlFlow(CodeBlock codeBlock)
Parameters
codeBlock:CodeBlock

the control flow construct and its code, such as "else if (foo == 10)". Shouldn't contain braces or newline characters.

returnsback to summary
public MethodSpec.Builder returns(TypeName returnType)
returnsback to summary
public MethodSpec.Builder returns(Type returnType)
setNameback to summary
public MethodSpec.Builder setName(String name)
varargsback to summary
public MethodSpec.Builder varargs()
varargsback to summary
public MethodSpec.Builder varargs(boolean varargs)