Package com.github.javaparser.ast.body
Class MethodDeclaration
java.lang.Object
com.github.javaparser.ast.Node
com.github.javaparser.ast.body.BodyDeclaration<T>
com.github.javaparser.ast.body.CallableDeclaration<MethodDeclaration>
com.github.javaparser.ast.body.MethodDeclaration
- All Implemented Interfaces:
NodeWithAbstractModifier<MethodDeclaration>
,NodeWithAccessModifiers<MethodDeclaration>
,NodeWithFinalModifier<MethodDeclaration>
,NodeWithPrivateModifier<MethodDeclaration>
,NodeWithProtectedModifier<MethodDeclaration>
,NodeWithPublicModifier<MethodDeclaration>
,NodeWithStaticModifier<MethodDeclaration>
,NodeWithStrictfpModifier<MethodDeclaration>
,NodeWithAnnotations<MethodDeclaration>
,NodeWithDeclaration
,NodeWithJavadoc<MethodDeclaration>
,NodeWithModifiers<MethodDeclaration>
,NodeWithOptionalBlockStmt<MethodDeclaration>
,NodeWithParameters<MethodDeclaration>
,NodeWithRange<Node>
,NodeWithSimpleName<MethodDeclaration>
,NodeWithThrownExceptions<MethodDeclaration>
,NodeWithTokenRange<Node>
,NodeWithType<MethodDeclaration,Type>
,NodeWithTypeParameters<MethodDeclaration>
,Observable
,Visitable
,HasParentNode<Node>
,Resolvable<ResolvedMethodDeclaration>
,Cloneable
public class MethodDeclaration
extends CallableDeclaration<MethodDeclaration>
implements NodeWithType<MethodDeclaration,Type>, NodeWithOptionalBlockStmt<MethodDeclaration>, NodeWithJavadoc<MethodDeclaration>, NodeWithDeclaration, NodeWithSimpleName<MethodDeclaration>, NodeWithParameters<MethodDeclaration>, NodeWithThrownExceptions<MethodDeclaration>, NodeWithTypeParameters<MethodDeclaration>, NodeWithAccessModifiers<MethodDeclaration>, NodeWithAbstractModifier<MethodDeclaration>, NodeWithStaticModifier<MethodDeclaration>, NodeWithFinalModifier<MethodDeclaration>, NodeWithStrictfpModifier<MethodDeclaration>, Resolvable<ResolvedMethodDeclaration>
A method declaration. "public int abc() {return 1;}" in this example:
class X { public int abc() {return 1;}
}
All annotations preceding the return type will be set on this object, not on the return type.
JavaParser doesn't know if it they are applicable to the method or the type.
- Author:
- Julio Vilmar Gesser
-
Nested Class Summary
Nested classes/interfaces inherited from class com.github.javaparser.ast.body.CallableDeclaration
CallableDeclaration.Signature
Nested classes/interfaces inherited from class com.github.javaparser.ast.Node
Node.BreadthFirstIterator, Node.DirectChildrenIterator, Node.ObserverRegistrationMode, Node.ParentsVisitor, Node.Parsedness, Node.PostOrderIterator, Node.PreOrderIterator, Node.TreeTraversal
-
Field Summary
Fields inherited from class com.github.javaparser.ast.Node
ABSOLUTE_BEGIN_LINE, ABSOLUTE_END_LINE, LINE_SEPARATOR_KEY, NODE_BY_BEGIN_POSITION, PHANTOM_KEY, prettyPrinterNoCommentsConfiguration, PRINTER_KEY, SYMBOL_RESOLVER_KEY
-
Constructor Summary
ConstructorDescriptionMethodDeclaration(NodeList<Modifier> modifiers, NodeList<AnnotationExpr> annotations, NodeList<TypeParameter> typeParameters, Type type, SimpleName name, NodeList<Parameter> parameters, NodeList<ReferenceType> thrownExceptions, BlockStmt body)
MethodDeclaration(NodeList<Modifier> modifiers, NodeList<AnnotationExpr> annotations, NodeList<TypeParameter> typeParameters, Type type, SimpleName name, NodeList<Parameter> parameters, NodeList<ReferenceType> thrownExceptions, BlockStmt body, ReceiverParameter receiverParameter)
MethodDeclaration(NodeList<Modifier> modifiers, Type type, String name)
MethodDeclaration(NodeList<Modifier> modifiers, String name, Type type, NodeList<Parameter> parameters)
MethodDeclaration(TokenRange tokenRange, NodeList<Modifier> modifiers, NodeList<AnnotationExpr> annotations, NodeList<TypeParameter> typeParameters, Type type, SimpleName name, NodeList<Parameter> parameters, NodeList<ReferenceType> thrownExceptions, BlockStmt body, ReceiverParameter receiverParameter)
This constructor is used by the parser and is considered private. -
Method Summary
Modifier and TypeMethodDescription<R, A> R
accept(GenericVisitor<R,A> v, A arg)
Accept method for visitor support.<A> void
accept(VoidVisitor<A> v, A arg)
Accept method for visitor support.clone()
getBody()
getDeclarationAsString(boolean includingModifiers, boolean includingThrows, boolean includingParameterName)
The declaration returned has this schema:getType()
Gets the typevoid
ifMethodDeclaration(Consumer<MethodDeclaration> action)
boolean
boolean
boolean
isNative()
boolean
boolean
boolean
resolve()
Sets the bodysetDefault(boolean set)
setModifiers(NodeList<Modifier> modifiers)
setName(SimpleName name)
setNative(boolean set)
setParameters(NodeList<Parameter> parameters)
setSynchronized(boolean set)
setThrownExceptions(NodeList<ReferenceType> thrownExceptions)
Sets the typesetTypeParameters(NodeList<TypeParameter> typeParameters)
Methods inherited from class com.github.javaparser.ast.body.CallableDeclaration
appendThrowsIfRequested, asCallableDeclaration, getModifiers, getName, getParameters, getReceiverParameter, getSignature, getThrownExceptions, getTypeParameters, ifCallableDeclaration, isCallableDeclaration, isFixedArityMethod, isVariableArityMethod, removeReceiverParameter, setReceiverParameter, toCallableDeclaration
Methods inherited from class com.github.javaparser.ast.body.BodyDeclaration
asAnnotationDeclaration, asAnnotationMemberDeclaration, asClassOrInterfaceDeclaration, asCompactConstructorDeclaration, asConstructorDeclaration, asEnumConstantDeclaration, asEnumDeclaration, asFieldDeclaration, asInitializerDeclaration, asRecordDeclaration, asTypeDeclaration, getAnnotations, ifAnnotationDeclaration, ifAnnotationMemberDeclaration, ifClassOrInterfaceDeclaration, ifCompactConstructorDeclaration, ifConstructorDeclaration, ifEnumConstantDeclaration, ifEnumDeclaration, ifFieldDeclaration, ifInitializerDeclaration, ifRecordDeclaration, ifTypeDeclaration, isAnnotationDeclaration, isAnnotationMemberDeclaration, isClassOrInterfaceDeclaration, isCompactConstructorDeclaration, isConstructorDeclaration, isEnumConstantDeclaration, isEnumDeclaration, isFieldDeclaration, isInitializerDeclaration, isRecordDeclaration, isTypeDeclaration, setAnnotations, toAnnotationDeclaration, toAnnotationMemberDeclaration, toClassOrInterfaceDeclaration, toCompactConstructorDeclaration, toConstructorDeclaration, toEnumConstantDeclaration, toEnumDeclaration, toFieldDeclaration, toInitializerDeclaration, toRecordDeclaration, toTypeDeclaration
Methods inherited from class com.github.javaparser.ast.Node
addOrphanComment, containsData, createDefaultPrinter, createDefaultPrinter, customInitialization, equals, findAll, findAll, findAll, findCompilationUnit, findFirst, findFirst, findFirst, findRootNode, getAllContainedComments, getChildNodes, getChildNodesByType, getComment, getData, getDataKeys, getDefaultPrinterConfiguration, getLineEndingStyle, getLineEndingStyleOrDefault, getNodesByType, getOrphanComments, getParentNode, getParentNodeForChildren, getParsed, getPrinter, getPrinter, getRange, getSymbolResolver, getTokenRange, hashCode, hasScope, isAncestorOf, isPhantom, isRegistered, notifyPropertyChange, register, register, registerForSubtree, remove, removeComment, removeData, removeForced, removeOrphanComment, replace, setAsParentNodeOf, setAsParentNodeOf, setBlockComment, setComment, setData, setLineComment, setParentNode, setParsed, setRange, setTokenRange, stream, stream, toString, toString, tryAddImportToParentCompilationUnit, unregister, walk, walk, walk
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface com.github.javaparser.HasParentNode
findAncestor, findAncestor, findAncestor, hasParentNode, isDescendantOf
Methods inherited from interface com.github.javaparser.ast.nodeTypes.modifiers.NodeWithAbstractModifier
isAbstract, setAbstract
Methods inherited from interface com.github.javaparser.ast.nodeTypes.NodeWithAnnotations
addAndGetAnnotation, addAndGetAnnotation, addAnnotation, addAnnotation, addAnnotation, addMarkerAnnotation, addMarkerAnnotation, addSingleMemberAnnotation, addSingleMemberAnnotation, addSingleMemberAnnotation, addSingleMemberAnnotation, getAnnotation, getAnnotationByClass, getAnnotationByName, isAnnotationPresent, isAnnotationPresent, setAnnotation, tryAddImportToParentCompilationUnit
Methods inherited from interface com.github.javaparser.ast.nodeTypes.NodeWithDeclaration
getDeclarationAsString, getDeclarationAsString
Methods inherited from interface com.github.javaparser.ast.nodeTypes.modifiers.NodeWithFinalModifier
isFinal, setFinal
Methods inherited from interface com.github.javaparser.ast.nodeTypes.NodeWithJavadoc
getComment, getJavadoc, getJavadocComment, hasJavaDocComment, removeJavaDocComment, setComment, setJavadocComment, setJavadocComment, setJavadocComment, setJavadocComment
Methods inherited from interface com.github.javaparser.ast.nodeTypes.NodeWithModifiers
addModifier, getAccessSpecifier, getModifiers, hasModifier, removeModifier, setModifier, setModifiers
Methods inherited from interface com.github.javaparser.ast.nodeTypes.NodeWithOptionalBlockStmt
createBody
Methods inherited from interface com.github.javaparser.ast.nodeTypes.NodeWithParameters
addAndGetParameter, addAndGetParameter, addAndGetParameter, addAndGetParameter, addParameter, addParameter, addParameter, addParameter, getParameter, getParameterByName, getParameterByType, getParameterByType, getParameters, hasParametersOfType, hasParametersOfType, setParameter, tryAddImportToParentCompilationUnit
Methods inherited from interface com.github.javaparser.ast.nodeTypes.modifiers.NodeWithPrivateModifier
isPrivate, setPrivate
Methods inherited from interface com.github.javaparser.ast.nodeTypes.modifiers.NodeWithProtectedModifier
isProtected, setProtected
Methods inherited from interface com.github.javaparser.ast.nodeTypes.modifiers.NodeWithPublicModifier
isPublic, setPublic
Methods inherited from interface com.github.javaparser.ast.nodeTypes.NodeWithRange
containsWithin, containsWithinRange, getBegin, getEnd, hasRange
Methods inherited from interface com.github.javaparser.ast.nodeTypes.NodeWithSimpleName
getName, getNameAsExpression, getNameAsString, setName
Methods inherited from interface com.github.javaparser.ast.nodeTypes.modifiers.NodeWithStaticModifier
isStatic, setStatic
Methods inherited from interface com.github.javaparser.ast.nodeTypes.modifiers.NodeWithStrictfpModifier
isStrictfp, setStrictfp
Methods inherited from interface com.github.javaparser.ast.nodeTypes.NodeWithThrownExceptions
addThrownException, addThrownException, getThrownException, getThrownExceptions, isThrown, isThrown, tryAddImportToParentCompilationUnit
Methods inherited from interface com.github.javaparser.ast.nodeTypes.NodeWithType
getTypeAsString, setType, setType, tryAddImportToParentCompilationUnit
Methods inherited from interface com.github.javaparser.ast.nodeTypes.NodeWithTypeParameters
addTypeParameter, addTypeParameter, getTypeParameter, getTypeParameters, isGeneric, setTypeParameter
-
Constructor Details
-
MethodDeclaration
public MethodDeclaration() -
MethodDeclaration
-
MethodDeclaration
-
MethodDeclaration
public MethodDeclaration(NodeList<Modifier> modifiers, NodeList<AnnotationExpr> annotations, NodeList<TypeParameter> typeParameters, Type type, SimpleName name, NodeList<Parameter> parameters, NodeList<ReferenceType> thrownExceptions, BlockStmt body) -
MethodDeclaration
public MethodDeclaration(NodeList<Modifier> modifiers, NodeList<AnnotationExpr> annotations, NodeList<TypeParameter> typeParameters, Type type, SimpleName name, NodeList<Parameter> parameters, NodeList<ReferenceType> thrownExceptions, BlockStmt body, ReceiverParameter receiverParameter) -
MethodDeclaration
public MethodDeclaration(TokenRange tokenRange, NodeList<Modifier> modifiers, NodeList<AnnotationExpr> annotations, NodeList<TypeParameter> typeParameters, Type type, SimpleName name, NodeList<Parameter> parameters, NodeList<ReferenceType> thrownExceptions, BlockStmt body, ReceiverParameter receiverParameter)This constructor is used by the parser and is considered private.
-
-
Method Details
-
accept
Description copied from interface:Visitable
Accept method for visitor support.- Specified by:
accept
in interfaceVisitable
- Type Parameters:
R
- the type of the return value of the visitorA
- the type the user argument passed to the visitor- Parameters:
v
- the visitor implementationarg
- the argument passed to the visitor (of type A)- Returns:
- the result of the visit (of type R)
-
accept
Description copied from interface:Visitable
Accept method for visitor support. -
getBody
- Specified by:
getBody
in interfaceNodeWithOptionalBlockStmt<MethodDeclaration>
-
setBody
Sets the body- Specified by:
setBody
in interfaceNodeWithOptionalBlockStmt<MethodDeclaration>
- Parameters:
body
- the body, can be null- Returns:
- this, the MethodDeclaration
-
getType
Description copied from interface:NodeWithType
Gets the type- Specified by:
getType
in interfaceNodeWithType<MethodDeclaration,Type>
- Returns:
- the type
-
setType
Description copied from interface:NodeWithType
Sets the type- Specified by:
setType
in interfaceNodeWithType<MethodDeclaration,Type>
- Parameters:
type
- the type- Returns:
- this
-
setModifiers
- Specified by:
setModifiers
in interfaceNodeWithModifiers<MethodDeclaration>
- Overrides:
setModifiers
in classCallableDeclaration<MethodDeclaration>
-
setName
- Specified by:
setName
in interfaceNodeWithSimpleName<MethodDeclaration>
- Overrides:
setName
in classCallableDeclaration<MethodDeclaration>
-
setParameters
- Specified by:
setParameters
in interfaceNodeWithParameters<MethodDeclaration>
- Overrides:
setParameters
in classCallableDeclaration<MethodDeclaration>
-
setThrownExceptions
- Specified by:
setThrownExceptions
in interfaceNodeWithThrownExceptions<MethodDeclaration>
- Overrides:
setThrownExceptions
in classCallableDeclaration<MethodDeclaration>
-
setTypeParameters
- Specified by:
setTypeParameters
in interfaceNodeWithTypeParameters<MethodDeclaration>
- Overrides:
setTypeParameters
in classCallableDeclaration<MethodDeclaration>
-
getDeclarationAsString
public String getDeclarationAsString(boolean includingModifiers, boolean includingThrows, boolean includingParameterName)The declaration returned has this schema:[accessSpecifier] [static] [abstract] [final] [native] [synchronized] returnType methodName ([paramType [paramName]]) [throws exceptionsList]
- Specified by:
getDeclarationAsString
in interfaceNodeWithDeclaration
- Parameters:
includingModifiers
- flag to include the modifiers (if present) in the string producedincludingThrows
- flag to include the throws clause (if present) in the string producedincludingParameterName
- flag to include the parameter name (while the parameter type is always included) in the string produced- Returns:
- method declaration as String
-
toDescriptor
-
isNative
public boolean isNative() -
isSynchronized
public boolean isSynchronized() -
isDefault
public boolean isDefault() -
setNative
-
setSynchronized
-
setDefault
-
remove
- Overrides:
remove
in classCallableDeclaration<MethodDeclaration>
-
removeBody
- Specified by:
removeBody
in interfaceNodeWithOptionalBlockStmt<MethodDeclaration>
-
clone
- Overrides:
clone
in classCallableDeclaration<MethodDeclaration>
-
getMetaModel
- Overrides:
getMetaModel
in classCallableDeclaration<MethodDeclaration>
- Returns:
- get JavaParser specific node introspection information.
-
replace
- Overrides:
replace
in classCallableDeclaration<MethodDeclaration>
-
isMethodDeclaration
public boolean isMethodDeclaration()- Overrides:
isMethodDeclaration
in classBodyDeclaration<MethodDeclaration>
-
asMethodDeclaration
- Overrides:
asMethodDeclaration
in classBodyDeclaration<MethodDeclaration>
-
ifMethodDeclaration
- Overrides:
ifMethodDeclaration
in classBodyDeclaration<MethodDeclaration>
-
resolve
- Specified by:
resolve
in interfaceResolvable<ResolvedMethodDeclaration>
-
toMethodDeclaration
- Overrides:
toMethodDeclaration
in classBodyDeclaration<MethodDeclaration>
-