本文整理汇总了Java中sun.reflect.FieldAccessor类的典型用法代码示例。如果您正苦于以下问题:Java FieldAccessor类的具体用法?Java FieldAccessor怎么用?Java FieldAccessor使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
FieldAccessor类属于sun.reflect包,在下文中一共展示了FieldAccessor类的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: setStaticFinalField
import sun.reflect.FieldAccessor; //导入依赖的package包/类
public static void setStaticFinalField(
Field field, Object value)
throws NoSuchFieldException, IllegalAccessException
{
// 获得 public 权限
field.setAccessible(true);
// 将modifiers域设为非final,这样就可以修改了
Field modifiersField =
Field.class.getDeclaredField(MODIFIERS_FIELD);
modifiersField.setAccessible(true);
int modifiers = modifiersField.getInt(field);
// 去掉 final 标志位
modifiers &= ~Modifier.FINAL;
modifiersField.setInt(field, modifiers);
FieldAccessor fa = reflection.newFieldAccessor(
field, false
);
fa.set(null, value);
}
开发者ID:priester,项目名称:hanlpStudy,代码行数:20,代码来源:ReflectionHelper.java
示例2: acquireFieldAccessor
import sun.reflect.FieldAccessor; //导入依赖的package包/类
private FieldAccessor acquireFieldAccessor(boolean overrideFinalCheck) {
// First check to see if one has been created yet, and take it
// if so
FieldAccessor tmp = null;
if (root != null) tmp = root.getFieldAccessor(overrideFinalCheck);
if (tmp != null) {
if (overrideFinalCheck)
overrideFieldAccessor = tmp;
else
fieldAccessor = tmp;
} else {
// Otherwise fabricate one and propagate it up to the root
tmp = reflectionFactory.newFieldAccessor(this, overrideFinalCheck);
setFieldAccessor(tmp, overrideFinalCheck);
}
return tmp;
}
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:19,代码来源:Field.java
示例3: setFailsafeFieldValue
import sun.reflect.FieldAccessor; //导入依赖的package包/类
public static void setFailsafeFieldValue(Field field, Object target, Object value)
throws NoSuchFieldException, IllegalAccessException {
// let's make the field accessible
field.setAccessible(true);
// next we change the modifier in the Field instance to
// not be final anymore, thus tricking reflection into
// letting us modify the static final field
Field modifiersField = Field.class.getDeclaredField("modifiers");
modifiersField.setAccessible(true);
int modifiers = modifiersField.getInt(field);
// blank out the final bit in the modifiers int
modifiers &= ~Modifier.FINAL;
modifiersField.setInt(field, modifiers);
FieldAccessor fa = ReflectionFactory.getReflectionFactory().newFieldAccessor(field, false);
fa.set(target, value);
}
开发者ID:boy0001,项目名称:FastAsyncWorldedit,代码行数:21,代码来源:ReflectionUtils.java
示例4: acquireFieldAccessor
import sun.reflect.FieldAccessor; //导入依赖的package包/类
private FieldAccessor acquireFieldAccessor(boolean overrideFinalCheck) {
// First check to see if one has been created yet, and take it
// if so
FieldAccessor tmp = null;
if (root != null) tmp = root.getFieldAccessor(overrideFinalCheck);
if (tmp != null) {
if (overrideFinalCheck)
overrideFieldAccessor = tmp;
else
fieldAccessor = tmp;
} else {
// Otherwise fabricate one and propagate it up to the root
tmp = reflectionFactory.newFieldAccessor(this, overrideFinalCheck);
setFieldAccessor(tmp, overrideFinalCheck);
}
return tmp;
}
开发者ID:jgaltidor,项目名称:VarJ,代码行数:18,代码来源:Field.java
示例5: setField
import sun.reflect.FieldAccessor; //导入依赖的package包/类
private static void setField(Field field, Object target, Object value) throws NoSuchFieldException, IllegalAccessException, IllegalArgumentException, InvocationTargetException, NoSuchMethodException, SecurityException {
field.setAccessible(true);
Field modifiersField = Field.class.getDeclaredField("modifiers");
modifiersField.setAccessible(true);
modifiersField.setInt(field, field.getModifiers() & ~Modifier.FINAL);
FieldAccessor fieldAccessor = ReflectionFactory.getReflectionFactory().newFieldAccessor(field, true);
fieldAccessor.set(target, value);
}
开发者ID:MCCarbon,项目名称:Carbon-2,代码行数:10,代码来源:DynamicEnumType.java
示例6: getFieldAccessor
import sun.reflect.FieldAccessor; //导入依赖的package包/类
private FieldAccessor getFieldAccessor(Object obj)
throws IllegalAccessException
{
boolean ov = override;
FieldAccessor a = (ov) ? overrideFieldAccessor : fieldAccessor;
return (a != null) ? a : acquireFieldAccessor(ov);
}
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:8,代码来源:Field.java
示例7: setFieldAccessor
import sun.reflect.FieldAccessor; //导入依赖的package包/类
private void setFieldAccessor(FieldAccessor accessor, boolean overrideFinalCheck) {
if (overrideFinalCheck)
overrideFieldAccessor = accessor;
else
fieldAccessor = accessor;
// Propagate up
if (root != null) {
root.setFieldAccessor(accessor, overrideFinalCheck);
}
}
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:11,代码来源:Field.java
示例8: setFailSafeFieldValue
import sun.reflect.FieldAccessor; //导入依赖的package包/类
private static void setFailSafeFieldValue(Field field, Object target, Object value) throws NoSuchFieldException,
IllegalAccessException {
field.setAccessible(true);
Field modifiersField = Field.class.getDeclaredField("modifiers");
modifiersField.setAccessible(true);
int modifiers = modifiersField.getInt(field);
modifiers &= ~Modifier.FINAL;
modifiersField.setInt(field, modifiers);
FieldAccessor fa = reflectionFactory.newFieldAccessor(field, false);
fa.set(target, value);
}
开发者ID:wso2,项目名称:carbon-device-mgt,代码行数:12,代码来源:ChangeEnumValues.java
示例9: getFieldAccessor
import sun.reflect.FieldAccessor; //导入依赖的package包/类
private FieldAccessor getFieldAccessor(Object obj)
throws IllegalAccessException
{
doSecurityCheck(obj);
boolean ov = override;
FieldAccessor a = (ov)? overrideFieldAccessor : fieldAccessor;
return (a != null)? a : acquireFieldAccessor(ov);
}
开发者ID:jgaltidor,项目名称:VarJ,代码行数:9,代码来源:Field.java
注:本文中的sun.reflect.FieldAccessor类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论