Top Description Fields Constructors Methods
com.github.javaparser.ast.expr

public Class MethodReferenceExpr

extends Expression
implements NodeWithTypeArguments<MethodReferenceExpr>, NodeWithIdentifier<MethodReferenceExpr>
Class Inheritance
All Implemented Interfaces
com.github.javaparser.ast.nodeTypes.NodeWithIdentifier, com.github.javaparser.ast.nodeTypes.NodeWithTypeArguments
Imports
com.github.javaparser.ast.AllFieldsConstructor, .NodeList, .Node, .Generated, com.github.javaparser.ast.nodeTypes.NodeWithIdentifier, .NodeWithTypeArguments, com.github.javaparser.ast.observer.ObservableProperty, com.github.javaparser.ast.type.Type, com.github.javaparser.ast.visitor.GenericVisitor, .VoidVisitor, .CloneVisitor, java.util.Optional, com.github.javaparser.metamodel.MethodReferenceExprMetaModel, .JavaParserMetaModel, .NonEmptyProperty, .OptionalProperty, com.github.javaparser.TokenRange, java.util.function.Consumer

Method reference expressions introduced in Java 8 specifically designed to simplify lambda Expressions. Note that the field "identifier", indicating the word to the right of the ::, is not always a method name, it can be "new".
In System.out::println; the scope is System.out and the identifier is "println"
(test ? stream.map(String::trim) : stream)::toArray;
In Bar<String>::<Integer>new the String type argument is on the scope, and the Integer type argument is on this MethodReferenceExpr.
Author
Raquel Pau

Field Summary

Modifier and TypeField and Description
private String
private Expression
private NodeList<Type>

Constructor Summary

AccessConstructor and Description
public
public
MethodReferenceExpr(Expression scope, NodeList<Type> typeArguments, String identifier)

public
MethodReferenceExpr(TokenRange tokenRange, Expression scope, NodeList<Type> typeArguments, String identifier)

This constructor is used by the parser and is considered private.

Method Summary

Modifier and TypeMethod and Description
public <R, A> R
accept(final GenericVisitor<R, A>
the visitor implementation
v
,
final A
the argument passed to the visitor (of type A)
arg
)

Implements com.github.javaparser.ast.visitor.Visitable.accept.

Accept method for visitor support.
public <A> void
accept(final VoidVisitor<A>
the visitor implementation
v
,
final A
any value relevant for the visitor (of type A)
arg
)

Implements com.github.javaparser.ast.visitor.Visitable.accept.

Accept method for visitor support.
public MethodReferenceExpr
public MethodReferenceExpr
clone()

Overrides com.github.javaparser.ast.expr.Expression.clone.

Creates and returns a copy of this object.
public String
public MethodReferenceExprMetaModel
public Expression
public Optional<NodeList<Type>>
public void
public boolean
public boolean
public boolean
public MethodReferenceExpr
public MethodReferenceExpr
setScope(final Expression scope)

public MethodReferenceExpr

Returns:

this, the MethodReferenceExpr
setTypeArguments
(final NodeList<Type>
the typeArguments, can be null
typeArguments
)

Implements com.github.javaparser.ast.nodeTypes.NodeWithTypeArguments.setTypeArguments.

Sets the typeArguments
public Optional<MethodReferenceExpr>
Inherited from com.github.javaparser.ast.expr.Expression:
asAnnotationExprasArrayAccessExprasArrayCreationExprasArrayInitializerExprasAssignExprasBinaryExprasBooleanLiteralExprasCastExprasCharLiteralExprasClassExprasConditionalExprasDoubleLiteralExprasEnclosedExprasFieldAccessExprasInstanceOfExprasIntegerLiteralExprasLambdaExprasLiteralExprasLiteralStringValueExprasLongLiteralExprasMarkerAnnotationExprasMethodCallExprasNameExprasNormalAnnotationExprasNullLiteralExprasObjectCreationExprasSingleMemberAnnotationExprasStringLiteralExprasSuperExprasSwitchExprasTextBlockLiteralExprasThisExprasTypeExprasUnaryExprasVariableDeclarationExprcalculateResolvedTypeifAnnotationExprifArrayAccessExprifArrayCreationExprifArrayInitializerExprifAssignExprifBinaryExprifBooleanLiteralExprifCastExprifCharLiteralExprifClassExprifConditionalExprifDoubleLiteralExprifEnclosedExprifFieldAccessExprifInstanceOfExprifIntegerLiteralExprifLambdaExprifLiteralExprifLiteralStringValueExprifLongLiteralExprifMarkerAnnotationExprifMethodCallExprifNameExprifNormalAnnotationExprifNullLiteralExprifObjectCreationExprifSingleMemberAnnotationExprifStringLiteralExprifSuperExprifSwitchExprifTextBlockLiteralExprifThisExprifTypeExprifUnaryExprifVariableDeclarationExprisAnnotationExprisArrayAccessExprisArrayCreationExprisArrayInitializerExprisAssignExprisBinaryExprisBooleanLiteralExprisCastExprisCharLiteralExprisClassExprisConditionalExprisDoubleLiteralExprisEnclosedExprisFieldAccessExprisInstanceOfExprisIntegerLiteralExprisLambdaExprisLiteralExprisLiteralStringValueExprisLongLiteralExprisMarkerAnnotationExprisMethodCallExprisNameExprisNormalAnnotationExprisNullLiteralExprisObjectCreationExprisSingleMemberAnnotationExprisStringLiteralExprisSuperExprisSwitchExprisTextBlockLiteralExprisThisExprisTypeExprisUnaryExprisVariableDeclarationExprtoAnnotationExprtoArrayAccessExprtoArrayCreationExprtoArrayInitializerExprtoAssignExprtoBinaryExprtoBooleanLiteralExprtoCastExprtoCharLiteralExprtoClassExprtoConditionalExprtoDoubleLiteralExprtoEnclosedExprtoFieldAccessExprtoInstanceOfExprtoIntegerLiteralExprtoLambdaExprtoLiteralExprtoLiteralStringValueExprtoLongLiteralExprtoMarkerAnnotationExprtoMethodCallExprtoNameExprtoNormalAnnotationExprtoNullLiteralExprtoObjectCreationExprtoSingleMemberAnnotationExprtoStringLiteralExprtoSuperExprtoSwitchExprtoTextBlockLiteralExprtoThisExprtoTypeExprtoUnaryExprtoVariableDeclarationExpr

Field Detail

identifierback to summary
private String identifier
Annotations
@NonEmptyProperty
scopeback to summary
private Expression scope
typeArgumentsback to summary
private NodeList<Type> typeArguments
Annotations
@OptionalProperty

Constructor Detail

MethodReferenceExprback to summary
public MethodReferenceExpr()
MethodReferenceExprback to summary
public MethodReferenceExpr(Expression scope, NodeList<Type> typeArguments, String identifier)
Annotations
@AllFieldsConstructor
MethodReferenceExprback to summary
public MethodReferenceExpr(TokenRange tokenRange, Expression scope, NodeList<Type> typeArguments, String identifier)

This constructor is used by the parser and is considered private.

Annotations
@Generated:com.github.javaparser.generator.core.node.MainConstructorGenerator

Method Detail

acceptback to summary
public <R, A> R accept(final GenericVisitor<R, A> v, final A arg)

Implements com.github.javaparser.ast.visitor.Visitable.accept.

Doc from com.github.javaparser.ast.visitor.Visitable.accept.

Accept method for visitor support.

Parameters
<R>
the type of the return value of the visitor
<A>
the type the user argument passed to the visitor
v:GenericVisitor<R, A>

the visitor implementation

arg:A

the argument passed to the visitor (of type A)

Returns:R

the result of the visit (of type R)

Annotations
@Override
@Generated:com.github.javaparser.generator.core.node.AcceptGenerator
acceptback to summary
public <A> void accept(final VoidVisitor<A> v, final A arg)

Implements com.github.javaparser.ast.visitor.Visitable.accept.

Doc from com.github.javaparser.ast.visitor.Visitable.accept.

Accept method for visitor support.

Parameters
<A>
the type the argument passed for the visitor
v:VoidVisitor<A>

the visitor implementation

arg:A

any value relevant for the visitor (of type A)

Annotations
@Override
@Generated:com.github.javaparser.generator.core.node.AcceptGenerator
asMethodReferenceExprback to summary
public MethodReferenceExpr asMethodReferenceExpr()

Overrides com.github.javaparser.ast.expr.Expression.asMethodReferenceExpr.

Annotations
@Override
@Generated:com.github.javaparser.generator.core.node.TypeCastingGenerator
cloneback to summary
public MethodReferenceExpr clone()

Overrides com.github.javaparser.ast.expr.Expression.clone.

Doc from java.lang.Object.clone.

Creates and returns a copy of this object. The precise meaning of "copy" may depend on the class of the object. The general intent is that, for any object x, the expression:

x.clone() != x
will be true, and that the expression:
x.clone().getClass() == x.getClass()
will be true, but these are not absolute requirements. While it is typically the case that:
x.clone().equals(x)
will be true, this is not an absolute requirement.

By convention, the returned object should be obtained by calling super.clone. If a class and all of its superclasses (except Object) obey this convention, it will be the case that x.clone().getClass() == x.getClass().

By convention, the object returned by this method should be independent of this object (which is being cloned). To achieve this independence, it may be necessary to modify one or more fields of the object returned by super.clone before returning it. Typically, this means copying any mutable objects that comprise the internal "deep structure" of the object being cloned and replacing the references to these objects with references to the copies. If a class contains only primitive fields or references to immutable objects, then it is usually the case that no fields in the object returned by super.clone need to be modified.

Returns:MethodReferenceExpr

a clone of this instance.

Annotations
@Override
@Generated:com.github.javaparser.generator.core.node.CloneGenerator
getIdentifierback to summary
public String getIdentifier()

Implements com.github.javaparser.ast.nodeTypes.NodeWithIdentifier.getIdentifier.

Annotations
@Generated:com.github.javaparser.generator.core.node.PropertyGenerator
getMetaModelback to summary
public MethodReferenceExprMetaModel getMetaModel()

Overrides com.github.javaparser.ast.expr.Expression.getMetaModel.

Returns:MethodReferenceExprMetaModel

Doc from com.github.javaparser.ast.Node.getMetaModel.

get JavaParser specific node introspection information.

Annotations
@Override
@Generated:com.github.javaparser.generator.core.node.GetMetaModelGenerator
getScopeback to summary
public Expression getScope()
Annotations
@Generated:com.github.javaparser.generator.core.node.PropertyGenerator
getTypeArgumentsback to summary
public Optional<NodeList<Type>> getTypeArguments()

Implements com.github.javaparser.ast.nodeTypes.NodeWithTypeArguments.getTypeArguments.

Returns:Optional<NodeList<Type>>

Doc from com.github.javaparser.ast.nodeTypes.NodeWithTypeArguments.getTypeArguments.

the types that can be found in the type arguments: <String, Integer>.

Annotations
@Generated:com.github.javaparser.generator.core.node.PropertyGenerator
ifMethodReferenceExprback to summary
public void ifMethodReferenceExpr(Consumer<MethodReferenceExpr> action)

Overrides com.github.javaparser.ast.expr.Expression.ifMethodReferenceExpr.

Annotations
@Generated:com.github.javaparser.generator.core.node.TypeCastingGenerator
isMethodReferenceExprback to summary
public boolean isMethodReferenceExpr()

Overrides com.github.javaparser.ast.expr.Expression.isMethodReferenceExpr.

Annotations
@Override
@Generated:com.github.javaparser.generator.core.node.TypeCastingGenerator
removeback to summary
public boolean remove(Node node)

Overrides com.github.javaparser.ast.expr.Expression.remove.

Annotations
@Override
@Generated:com.github.javaparser.generator.core.node.RemoveMethodGenerator
replaceback to summary
public boolean replace(Node node, Node replacementNode)

Overrides com.github.javaparser.ast.expr.Expression.replace.

Annotations
@Override
@Generated:com.github.javaparser.generator.core.node.ReplaceMethodGenerator
setIdentifierback to summary
public MethodReferenceExpr setIdentifier(final String identifier)

Implements com.github.javaparser.ast.nodeTypes.NodeWithIdentifier.setIdentifier.

Annotations
@Generated:com.github.javaparser.generator.core.node.PropertyGenerator
setScopeback to summary
public MethodReferenceExpr setScope(final Expression scope)
Annotations
@Generated:com.github.javaparser.generator.core.node.PropertyGenerator
setTypeArgumentsback to summary
public MethodReferenceExpr setTypeArguments(final NodeList<Type> typeArguments)

Implements com.github.javaparser.ast.nodeTypes.NodeWithTypeArguments.setTypeArguments.

Sets the typeArguments

Parameters
typeArguments:NodeList<Type>

the typeArguments, can be null

Returns:MethodReferenceExpr

this, the MethodReferenceExpr

Annotations
@Generated:com.github.javaparser.generator.core.node.PropertyGenerator
toMethodReferenceExprback to summary
public Optional<MethodReferenceExpr> toMethodReferenceExpr()

Overrides com.github.javaparser.ast.expr.Expression.toMethodReferenceExpr.

Annotations
@Override
@Generated:com.github.javaparser.generator.core.node.TypeCastingGenerator