Class UnsafeWrapper

java.lang.Object
io.github.toolfactory.jvm.function.catalog.UnsafeWrapper
All Implemented Interfaces:
Supplier<Object>
Direct Known Subclasses:
UnsafeWrapper.ForJava7

public abstract class UnsafeWrapper extends Object implements Supplier<Object>
  • Field Details

  • Constructor Details

    • UnsafeWrapper

      public UnsafeWrapper()
  • Method Details

    • init

      protected boolean init(Map<Object,Object> context, String unsafeClassName) throws Throwable
      Throws:
      Throwable
    • init

      protected void init(Object unsafeObject, MethodHandles.Lookup lookup) throws NoSuchMethodException, IllegalAccessException
      Throws:
      NoSuchMethodException
      IllegalAccessException
    • get

      public Object get()
      Specified by:
      get in interface Supplier<Object>
    • getUnsafeClass

      public Class<?> getUnsafeClass()
    • allocateInstance

      public Object allocateInstance(Class<?> cls)
    • objectFieldOffset

      public long objectFieldOffset(Field field)
    • staticFieldOffset

      public long staticFieldOffset(Field field)
    • getObject

      public Object getObject(Object target, long fieldOffset)
    • getObjectVolatile

      public Object getObjectVolatile(Object target, long fieldOffset)
    • getShort

      public short getShort(Object target, long fieldOffset)
    • getShortVolatile

      public short getShortVolatile(Object target, long fieldOffset)
    • getInt

      public int getInt(Object target, long fieldOffset)
    • getIntVolatile

      public int getIntVolatile(Object target, long fieldOffset)
    • getLong

      public long getLong(Object target, long fieldOffset)
    • getLongVolatile

      public long getLongVolatile(Object target, long fieldOffset)
    • getFloat

      public float getFloat(Object target, long fieldOffset)
    • getFloatVolatile

      public float getFloatVolatile(Object target, long fieldOffset)
    • getDouble

      public double getDouble(Object target, long fieldOffset)
    • getDoubleVolatile

      public double getDoubleVolatile(Object target, long fieldOffset)
    • getBoolean

      public boolean getBoolean(Object target, long fieldOffset)
    • getBooleanVolatile

      public boolean getBooleanVolatile(Object target, long fieldOffset)
    • getByte

      public byte getByte(Object target, long fieldOffset)
    • getByteVolatile

      public byte getByteVolatile(Object target, long fieldOffset)
    • getChar

      public char getChar(Object target, long fieldOffset)
    • getCharVolatile

      public char getCharVolatile(Object target, long fieldOffset)
    • putObject

      public void putObject(Object target, long fieldOffset, Object value)
    • putObjectVolatile

      public void putObjectVolatile(Object target, long fieldOffset, Object value)
    • putShort

      public void putShort(Object target, long fieldOffset, short value)
    • putShortVolatile

      public void putShortVolatile(Object target, long fieldOffset, short value)
    • putInt

      public void putInt(Object target, long fieldOffset, int value)
    • putIntVolatile

      public void putIntVolatile(Object target, long fieldOffset, int value)
    • putLong

      public void putLong(Object target, long fieldOffset, long value)
    • putLongVolatile

      public void putLongVolatile(Object target, long fieldOffset, long value)
    • putFloat

      public void putFloat(Object target, long fieldOffset, float value)
    • putFloatVolatile

      public void putFloatVolatile(Object target, long fieldOffset, float value)
    • putDouble

      public void putDouble(Object target, long fieldOffset, double value)
    • putDoubleVolatile

      public void putDoubleVolatile(Object target, long fieldOffset, double value)
    • putBoolean

      public void putBoolean(Object target, long fieldOffset, boolean value)
    • putBooleanVolatile

      public void putBooleanVolatile(Object target, long fieldOffset, boolean value)
    • putByte

      public void putByte(Object target, long fieldOffset, byte value)
    • putByteVolatile

      public void putByteVolatile(Object target, long fieldOffset, byte value)
    • putChar

      public void putChar(Object target, long fieldOffset, char value)
    • putCharVolatile

      public void putCharVolatile(Object target, long fieldOffset, char value)