Interface UnsafeBeanWriteProperty<B,T>

Type Parameters:
B - The bean type
T - The bean property type
All Superinterfaces:
AnnotatedElement, AnnotationMetadata, AnnotationMetadataDelegate, AnnotationMetadataProvider, AnnotationSource, ArgumentCoercible<T>, BeanWriteProperty<B,T>, Named
All Known Subinterfaces:
UnsafeBeanProperty<B,T>
All Known Implementing Classes:
AbstractBeanProperty

public interface UnsafeBeanWriteProperty<B,T> extends BeanWriteProperty<B,T>
Unsafe bean property interface adds write methods which don't validate the input/output. It's the responsibility of the caller to validate the value.

Primitive unsafe write methods are part of the generated-introspection dispatch contract. Their default implementations keep custom UnsafeBeanWriteProperty implementations compatible by boxing the primitive value and delegating to setUnsafe(Object, Object). Generated Micronaut bean properties override these methods and route them through primitive dispatch methods so hot paths can write primitive values without allocating boxed wrappers.

Since:
4.4.0
Author:
Denis Stepanov
  • Method Details

    • withValueUnsafe

      B withValueUnsafe(B bean, @Nullable T value)
      Parameters:
      bean - The bean
      value - The new value
      Returns:
      Either the existing instance or the property is mutable or a newly created instance via the copy constructor pattern.
    • setUnsafe

      void setUnsafe(B bean, @Nullable T value)
      Parameters:
      bean - The bean
      value - The value to write
    • setBooleanUnsafe

      default void setBooleanUnsafe(B bean, boolean value)
      Unsafe primitive version of BeanWriteProperty.set(Object, Object) for boolean values.

      The default implementation boxes and delegates to setUnsafe(Object, Object). Generated introspections override this method when a primitive dispatch target is available.

      Parameters:
      bean - The bean
      value - The primitive value
      Since:
      5.1.0
    • setByteUnsafe

      default void setByteUnsafe(B bean, byte value)
      Unsafe primitive version of BeanWriteProperty.set(Object, Object) for byte values.

      The default implementation boxes and delegates to setUnsafe(Object, Object). Generated introspections override this method when a primitive dispatch target is available.

      Parameters:
      bean - The bean
      value - The primitive value
      Since:
      5.1.0
    • setShortUnsafe

      default void setShortUnsafe(B bean, short value)
      Unsafe primitive version of BeanWriteProperty.set(Object, Object) for short values.

      The default implementation boxes and delegates to setUnsafe(Object, Object). Generated introspections override this method when a primitive dispatch target is available.

      Parameters:
      bean - The bean
      value - The primitive value
      Since:
      5.1.0
    • setCharUnsafe

      default void setCharUnsafe(B bean, char value)
      Unsafe primitive version of BeanWriteProperty.set(Object, Object) for char values.

      The default implementation boxes and delegates to setUnsafe(Object, Object). Generated introspections override this method when a primitive dispatch target is available.

      Parameters:
      bean - The bean
      value - The primitive value
      Since:
      5.1.0
    • setIntUnsafe

      default void setIntUnsafe(B bean, int value)
      Unsafe primitive version of BeanWriteProperty.set(Object, Object) for int values.

      The default implementation boxes and delegates to setUnsafe(Object, Object). Generated introspections override this method when a primitive dispatch target is available.

      Parameters:
      bean - The bean
      value - The primitive value
      Since:
      5.1.0
    • setLongUnsafe

      default void setLongUnsafe(B bean, long value)
      Unsafe primitive version of BeanWriteProperty.set(Object, Object) for long values.

      The default implementation boxes and delegates to setUnsafe(Object, Object). Generated introspections override this method when a primitive dispatch target is available.

      Parameters:
      bean - The bean
      value - The primitive value
      Since:
      5.1.0
    • setFloatUnsafe

      default void setFloatUnsafe(B bean, float value)
      Unsafe primitive version of BeanWriteProperty.set(Object, Object) for float values.

      The default implementation boxes and delegates to setUnsafe(Object, Object). Generated introspections override this method when a primitive dispatch target is available.

      Parameters:
      bean - The bean
      value - The primitive value
      Since:
      5.1.0
    • setDoubleUnsafe

      default void setDoubleUnsafe(B bean, double value)
      Unsafe primitive version of BeanWriteProperty.set(Object, Object) for double values.

      The default implementation boxes and delegates to setUnsafe(Object, Object). Generated introspections override this method when a primitive dispatch target is available.

      Parameters:
      bean - The bean
      value - The primitive value
      Since:
      5.1.0