Interface MemberAccessor

All Known Implementing Classes:
AbstractGizmoMemberAccessor, AbstractMemberAccessor, AbstractReadOnlyExtendedGizmoMemberAccessor, AbstractReadOnlyGizmoMemberAccessor, AbstractReadWriteExtendedGizmoMemberAccessor, AbstractReadWriteGizmoMemberAccessor, ReflectionBeanPropertyMemberAccessor, ReflectionFieldMemberAccessor, ReflectionMethodExtendedMemberAccessor, ReflectionMethodMemberAccessor

public interface MemberAccessor
Fast and easy access to a Member of a bean, which is a property (with a getter and optional setter Method) or a Field.
See Also:
  • Method Details

    • getDeclaringClass

      Class<?> getDeclaringClass()
    • getName

      String getName()
    • getType

      Class<?> getType()
    • getGenericType

      Type getGenericType()
      Returns:
      never null
    • executeGetter

      Object executeGetter(Object bean)
    • getGetterFunction

      <Fact_, Result_> Function<Fact_,Result_> getGetterFunction()
      In order to support node sharing in constraint streams, we need to reference executeGetter(Object) in a way so that the method reference stays the same instance. This method returns just such a method reference.
      Type Parameters:
      Result_ -
      Returns:
      never null, a constant reference to executeGetter(Object)
    • getGetterMethodParameterType

      Type getGetterMethodParameterType()
      Returns:
      returns the parameter type if the getter accepts a parameter, or null otherwise.
    • executeGetter

      Object executeGetter(Object bean, Object value)
      Differs from executeGetter(Object) in that it accepts a single parameter.
    • acceptsParameter

      default boolean acceptsParameter()
    • supportSetter

      boolean supportSetter()
    • executeSetter

      void executeSetter(Object bean, Object value)
    • getSpeedNote

      String getSpeedNote()
    • getAnnotation

      <T extends Annotation> T getAnnotation(Class<T> annotationClass)
    • getDeclaredAnnotationsByType

      <T extends Annotation> T[] getDeclaredAnnotationsByType(Class<T> annotationClass)