Class GizmoMemberDescriptor
- java.lang.Object
-
- ai.timefold.solver.core.impl.domain.common.accessor.gizmo.GizmoMemberDescriptor
-
-
Constructor Summary
Constructors Constructor Description GizmoMemberDescriptor(Member member)GizmoMemberDescriptor(String name, io.quarkus.gizmo.FieldDescriptor fieldDescriptor, Class<?> declaringClass)GizmoMemberDescriptor(String name, io.quarkus.gizmo.MethodDescriptor memberDescriptor, io.quarkus.gizmo.FieldDescriptor metadataDescriptor, Class<?> declaringClass, io.quarkus.gizmo.MethodDescriptor setterDescriptor)GizmoMemberDescriptor(String name, io.quarkus.gizmo.MethodDescriptor memberDescriptor, io.quarkus.gizmo.MethodDescriptor metadataDescriptor, Class<?> declaringClass, io.quarkus.gizmo.MethodDescriptor setterDescriptor)GizmoMemberDescriptor(String name, io.quarkus.gizmo.MethodDescriptor memberDescriptor, Class<?> declaringClass, io.quarkus.gizmo.MethodDescriptor setterDescriptor)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description StringgetDeclaringClassName()Returns the declaring class name of the member in descriptor format.StringgetName()Optional<io.quarkus.gizmo.MethodDescriptor>getSetter()TypegetType()StringgetTypeName()Returns the member type (for fields) / return type (for methods) name.io.quarkus.gizmo.ResultHandlereadMemberValue(io.quarkus.gizmo.BytecodeCreator bytecodeCreator, io.quarkus.gizmo.ResultHandle thisObj)StringtoString()GizmoMemberDescriptorwhenIsField(Consumer<io.quarkus.gizmo.FieldDescriptor> fieldDescriptorConsumer)If the member accessor is a field, pass the member's field descriptor to the provided consumer.GizmoMemberDescriptorwhenIsMethod(Consumer<io.quarkus.gizmo.MethodDescriptor> methodDescriptorConsumer)If the member accessor is a method, pass the member's method descriptor to the provided consumer.GizmoMemberDescriptorwhenMetadataIsOnField(Consumer<io.quarkus.gizmo.FieldDescriptor> fieldDescriptorConsumer)If the member metadata is on a field, pass the member's field descriptor to the provided consumer.GizmoMemberDescriptorwhenMetadataIsOnMethod(Consumer<io.quarkus.gizmo.MethodDescriptor> methodDescriptorConsumer)If the member metadata is on a method, pass the member's method descriptor to the provided consumer.booleanwriteMemberValue(io.quarkus.gizmo.BytecodeCreator bytecodeCreator, io.quarkus.gizmo.ResultHandle thisObj, io.quarkus.gizmo.ResultHandle newValue)Write the bytecode for writing to this member.
-
-
-
Constructor Detail
-
GizmoMemberDescriptor
public GizmoMemberDescriptor(Member member)
-
GizmoMemberDescriptor
public GizmoMemberDescriptor(String name, io.quarkus.gizmo.FieldDescriptor fieldDescriptor, Class<?> declaringClass)
-
GizmoMemberDescriptor
public GizmoMemberDescriptor(String name, io.quarkus.gizmo.MethodDescriptor memberDescriptor, io.quarkus.gizmo.MethodDescriptor metadataDescriptor, Class<?> declaringClass, io.quarkus.gizmo.MethodDescriptor setterDescriptor)
-
GizmoMemberDescriptor
public GizmoMemberDescriptor(String name, io.quarkus.gizmo.MethodDescriptor memberDescriptor, Class<?> declaringClass, io.quarkus.gizmo.MethodDescriptor setterDescriptor)
-
-
Method Detail
-
whenIsField
public GizmoMemberDescriptor whenIsField(Consumer<io.quarkus.gizmo.FieldDescriptor> fieldDescriptorConsumer)
If the member accessor is a field, pass the member's field descriptor to the provided consumer. Otherwise, do nothing. Returns self for chaining.- Parameters:
fieldDescriptorConsumer- What to do if the member a field.- Returns:
- this
-
whenIsMethod
public GizmoMemberDescriptor whenIsMethod(Consumer<io.quarkus.gizmo.MethodDescriptor> methodDescriptorConsumer)
If the member accessor is a method, pass the member's method descriptor to the provided consumer. Otherwise, do nothing. Returns self for chaining.- Parameters:
methodDescriptorConsumer- What to do if the member a method.- Returns:
- this
-
readMemberValue
public io.quarkus.gizmo.ResultHandle readMemberValue(io.quarkus.gizmo.BytecodeCreator bytecodeCreator, io.quarkus.gizmo.ResultHandle thisObj)
-
writeMemberValue
public boolean writeMemberValue(io.quarkus.gizmo.BytecodeCreator bytecodeCreator, io.quarkus.gizmo.ResultHandle thisObj, io.quarkus.gizmo.ResultHandle newValue)Write the bytecode for writing to this member. If there is no setter, it write the bytecode for throwing the exception. Return true if it was able to write the member value.- Parameters:
bytecodeCreator- the bytecode creator to usethisObj- the bean to write the new value tonewValue- to new value of the member- Returns:
- True if it was able to write the member value, false otherwise
-
whenMetadataIsOnField
public GizmoMemberDescriptor whenMetadataIsOnField(Consumer<io.quarkus.gizmo.FieldDescriptor> fieldDescriptorConsumer)
If the member metadata is on a field, pass the member's field descriptor to the provided consumer. Otherwise, do nothing. Returns self for chaining.- Parameters:
fieldDescriptorConsumer- What to do if the member a field.- Returns:
- this
-
whenMetadataIsOnMethod
public GizmoMemberDescriptor whenMetadataIsOnMethod(Consumer<io.quarkus.gizmo.MethodDescriptor> methodDescriptorConsumer)
If the member metadata is on a method, pass the member's method descriptor to the provided consumer. Otherwise, do nothing. Returns self for chaining.- Parameters:
methodDescriptorConsumer- What to do if the member a method.- Returns:
- this
-
getDeclaringClassName
public String getDeclaringClassName()
Returns the declaring class name of the member in descriptor format. For instance, the declaring class name of Object.toString() is "java/lang/Object".- Returns:
- Returns the declaring class name of the member in descriptor format
-
getSetter
public Optional<io.quarkus.gizmo.MethodDescriptor> getSetter()
-
getName
public String getName()
-
getTypeName
public String getTypeName()
Returns the member type (for fields) / return type (for methods) name. The name does not include generic information.
-
getType
public Type getType()
-
-