mirror of
https://github.com/ViaVersion/ViaVersion.git
synced 2024-06-26 14:45:02 +02:00
27 lines
961 B
Java
27 lines
961 B
Java
|
package us.myles.ViaVersion.compatibility;
|
||
|
|
||
|
import java.lang.reflect.Field;
|
||
|
|
||
|
/**
|
||
|
* Exposes a way to access the modifiers of a {@link Field} mutably.
|
||
|
* <p>
|
||
|
* <i>Note:</i> This is <b>explicitly</b> an implementation detail. Do not rely on this within plugins and any
|
||
|
* non-ViaVersion code.
|
||
|
* </p>
|
||
|
*/
|
||
|
public interface FieldModifierAccessor {
|
||
|
/**
|
||
|
* Sets the modifiers of a field.
|
||
|
* <p>
|
||
|
* <i>Note:</i> This does not set the accessibility of the field. If you need to read or mutate it, you must handle
|
||
|
* that yourself.
|
||
|
* </p>
|
||
|
*
|
||
|
* @param field the field to set the modifiers of. Will throw if {@code null}.
|
||
|
* @param modifiers the modifiers to set on the given {@code field}.
|
||
|
* @throws ReflectiveOperationException if the reflective operation fails this method is implemented with fails.
|
||
|
*/
|
||
|
void setModifiers(final Field field, final int modifiers)
|
||
|
throws ReflectiveOperationException;
|
||
|
}
|