当前位置: 首页>>代码示例>>Java>>正文


Java FieldAccessor类代码示例

本文整理汇总了Java中sun.reflect.FieldAccessor的典型用法代码示例。如果您正苦于以下问题:Java FieldAccessor类的具体用法?Java FieldAccessor怎么用?Java FieldAccessor使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


FieldAccessor类属于sun.reflect包,在下文中一共展示了FieldAccessor类的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: 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

示例2: 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

示例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;未经允许,请勿转载。