Package io.micronaut.sourcegen.model
Record Class ExpressionDef.Lambda
java.lang.Object
java.lang.Record
io.micronaut.sourcegen.model.ExpressionDef.Lambda
- Record Components:
type- The type of the lambda, e.g.Function<String, String>target- The target method as defined in the interface, e.g.Object apply(Object)forFunctionimplementationimplementation- The lambda method implementation
- All Implemented Interfaces:
ExpressionDef
- Enclosing interface:
- ExpressionDef
public static record ExpressionDef.Lambda(ClassTypeDef type, MethodDef target, MethodDef implementation)
extends Record
implements ExpressionDef
A type that represents a lambda.
Use
LambdaDef.implement(io.micronaut.sourcegen.model.MethodDef.MethodBodyBuilder) to create an instance of ExpressionDef.Lambda.- Since:
- 1.7
- Author:
- Andriy Dmytruk
-
Nested Class Summary
Nested classes/interfaces inherited from interface io.micronaut.sourcegen.model.ExpressionDef
ExpressionDef.And, ExpressionDef.ArrayElement, ExpressionDef.Cast, ExpressionDef.ComparisonOperation, ExpressionDef.ConditionExpressionDef, ExpressionDef.Constant, ExpressionDef.EqualsReferentially, ExpressionDef.EqualsStructurally, ExpressionDef.GetPropertyValue, ExpressionDef.IfElse, ExpressionDef.InstanceOf, ExpressionDef.InvokeGetClassMethod, ExpressionDef.InvokeHashCodeMethod, ExpressionDef.InvokeInstanceMethod, ExpressionDef.InvokeStaticMethod, ExpressionDef.IsFalse, ExpressionDef.IsNotNull, ExpressionDef.IsNull, ExpressionDef.IsTrue, ExpressionDef.Lambda, ExpressionDef.MathBinaryOperation, ExpressionDef.MathUnaryOperation, ExpressionDef.NewArrayInitialized, ExpressionDef.NewArrayOfSize, ExpressionDef.NewInstance, ExpressionDef.NotEqualsReferentially, ExpressionDef.NotEqualsStructurally, ExpressionDef.Or, ExpressionDef.StringConcatenation, ExpressionDef.Switch, ExpressionDef.SwitchYieldCase -
Constructor Summary
ConstructorsConstructorDescriptionLambda(ClassTypeDef type, MethodDef target, MethodDef implementation) Creates an instance of aLambdarecord class. -
Method Summary
Modifier and TypeMethodDescriptionfinal booleanIndicates whether some other object is "equal to" this one.final inthashCode()Returns a hash code value for this object.Returns the value of theimplementationrecord component.invoke(ExpressionDef... expressions) Invoke the lambda.invoke(List<? extends ExpressionDef> expressions) Invoke the lambda.Stream<? extends ExpressionDef>Stream of nested expressions included in this expression.target()Returns the value of thetargetrecord component.final StringtoString()Returns a string representation of this record class.type()Returns the value of thetyperecord component.Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface io.micronaut.sourcegen.model.ExpressionDef
arrayElement, arrayElement, asExpressionSwitch, asStatementSwitch, asStatementSwitch, cast, cast, compare, doThrow, equalsReferentially, equalsStructurally, field, field, field, getPropertyValue, ifFalse, ifFalse, ifFalse, ifNonNull, ifNonNull, ifNonNull, ifNull, ifNull, ifNull, ifTrue, ifTrue, ifTrue, instanceOf, invoke, invoke, invoke, invoke, invoke, invoke, invoke, invoke, invoke, invoke, invokeConstructor, invokeConstructor, invokeConstructor, invokeConstructor, invokeConstructor, invokeConstructor, invokeConstructor, invokeConstructor, invokeGetClass, invokeHashCode, isFalse, isNonNull, isNull, isTrue, math, math, newLocal, newLocal, notEqualsReferentially, notEqualsStructurally, returning, stringConcat, whileLoop
-
Constructor Details
-
Lambda
Creates an instance of aLambdarecord class.- Parameters:
type- the value for thetyperecord componenttarget- the value for thetargetrecord componentimplementation- the value for theimplementationrecord component
-
-
Method Details
-
invoke
Invoke the lambda.- Parameters:
expressions- The expressions- Returns:
- The method invocation
-
invoke
Invoke the lambda.- Parameters:
expressions- The expressions- Returns:
- The method invocation
-
nestedExpressionsStream
Description copied from interface:ExpressionDefStream of nested expressions included in this expression.- Specified by:
nestedExpressionsStreamin interfaceExpressionDef- Returns:
- The expressions
-
toString
Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components. -
hashCode
public final int hashCode()Returns a hash code value for this object. The value is derived from the hash code of each of the record components. -
equals
Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. All components in this record class are compared withObjects::equals(Object,Object). -
type
Returns the value of thetyperecord component.- Specified by:
typein interfaceExpressionDef- Returns:
- the value of the
typerecord component
-
target
Returns the value of thetargetrecord component.- Returns:
- the value of the
targetrecord component
-
implementation
Returns the value of theimplementationrecord component.- Returns:
- the value of the
implementationrecord component
-