Java Code Examples for java.lang.reflect.Field

The following examples show how to use java.lang.reflect.Field. These examples are extracted from open source projects. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source Project: netbeans   Source File: LiveEngine.java    License: Apache License 2.0 6 votes vote down vote up
private void addIncommingRef (Object to, Object from, Field f) {
    // wrap statics with special (private) object
    Object save = from != null ? from : Root.createStatic(f, to);

    Object entry = objects.get(to);
    if (entry == null) {
        if (save instanceof Object[]) {
            entry= new Object[] { save };
        } else {
            entry = save;
        }
    } else if (! (entry instanceof Object[])) {
            entry = new Object[] { entry, save };
    } else {
        int origLen = ((Object[])entry).length;
        Object[] ret = new Object[origLen + 1];
        System.arraycopy(entry, 0, ret, 0, origLen);
        ret[origLen] = save;
        entry = ret;
    }
    objects.put(to, entry);
}
 
Example 2
Source Project: onetwo   Source File: TestUtils.java    License: Apache License 2.0 6 votes vote down vote up
public static void autoFindAndInjectFields(Object inst, Map properties){
		Collection<Field> fields = ReflectUtils.findFieldsFilterStatic(inst.getClass());
		if(fields==null || fields.isEmpty())
			return ;
//		Map properties = M.c(objects);
		for(Field f :fields){
			if(properties.containsKey(f.getName())){
				ReflectUtils.setBeanFieldValue(f, inst, properties.get(f.getName()));
				continue;
			}
			if(properties.containsKey(f.getType())){
				ReflectUtils.setBeanFieldValue(f, inst, properties.get(f.getType()));
				continue;
			}
		}
	}
 
Example 3
Source Project: gemfirexd-oss   Source File: PlatformInfo.java    License: Apache License 2.0 6 votes vote down vote up
/**
 * Adds a default size for the given jdbc type.
 * 
 * @param jdbcTypeName The name of the jdbc type, one of the {@link Types} constants
 * @param defaultSize  The default size
 */
public void setDefaultSize(String jdbcTypeName, int defaultSize)
{
    try
    {
        Field constant = Types.class.getField(jdbcTypeName);

        if (constant != null)
        {
            setDefaultSize(constant.getInt(null), defaultSize);
        }
    }
    catch (Exception ex)
    {
        // ignore -> won't be defined
        _log.warn("Cannot add default size for undefined jdbc type "+jdbcTypeName, ex);
    }
}
 
Example 4
Source Project: marshalsec   Source File: JDKUtil.java    License: MIT License 6 votes vote down vote up
@SuppressWarnings ( {
    "rawtypes", "unchecked"
} )
public static TreeMap<Object, Object> makeTreeMap ( Object tgt, Comparator comparator ) throws Exception {
    TreeMap<Object, Object> tm = new TreeMap<>(comparator);

    Class<?> entryCl = Class.forName("java.util.TreeMap$Entry");
    Constructor<?> entryCons = entryCl.getDeclaredConstructor(Object.class, Object.class, entryCl);
    entryCons.setAccessible(true);
    Field leftF = Reflections.getField(entryCl, "left");

    Field rootF = Reflections.getField(TreeMap.class, "root");
    Object root = entryCons.newInstance(tgt, tgt, null);
    leftF.set(root, entryCons.newInstance(tgt, tgt, root));
    rootF.set(tm, root);
    Reflections.setFieldValue(tm, "size", 2);
    return tm;
}
 
Example 5
Source Project: MaterialNumberPicker   Source File: MaterialNumberPicker.java    License: Apache License 2.0 6 votes vote down vote up
/**
 * Uses reflection to access divider private attribute and override its color
 * Use Color.Transparent if you wish to hide them
 */
public void setSeparatorColor(int separatorColor) {
    mSeparatorColor = separatorColor;

    Field[] pickerFields = NumberPicker.class.getDeclaredFields();
    for (Field pf : pickerFields) {
        if (pf.getName().equals("mSelectionDivider")) {
            pf.setAccessible(true);
            try {
                pf.set(this, new ColorDrawable(separatorColor));
            } catch (IllegalAccessException | IllegalArgumentException e) {
                e.printStackTrace();
            }
            break;
        }
    }
}
 
Example 6
Source Project: ignite   Source File: GridDeployment.java    License: Apache License 2.0 6 votes vote down vote up
/**
 * Gets all entries from the specified class or its super-classes that have
 * been annotated with annotation provided.
 *
 * @param cls Class in which search for methods.
 * @param annCls Annotation.
 * @return Set of entries with given annotations.
 */
private Iterable<Field> fieldsWithAnnotation(Class<?> cls, Class<? extends Annotation> annCls) {
    assert cls != null;
    assert annCls != null;

    Collection<Field> fields = fieldsFromCache(cls, annCls);

    if (fields == null) {
        fields = new ArrayList<>();

        for (Field field : cls.getDeclaredFields()) {
            Annotation ann = field.getAnnotation(annCls);

            if (ann != null || needsRecursion(field))
                fields.add(field);
        }

        cacheFields(cls, annCls, fields);
    }

    return fields;
}
 
Example 7
Source Project: Recaf   Source File: MainWindow.java    License: MIT License 6 votes vote down vote up
/**
 * @param controller
 * 		Window context.
 *
 * @return main window instance.
 */
public static MainWindow get(GuiController controller) {
	if(window == null) {
		MainWindow app = window = new MainWindow(controller);
		PlatformImpl.startup(() -> {
           	Stage stage = new Stage();
           	try {
				Field field = Stage.class.getDeclaredField("primary");
				field.setAccessible(true);
				field.setBoolean(stage, true);
           		app.init();
               	app.start(stage);
               } catch (Exception ex) {
           		throw new RuntimeException(ex);
           	}
			// Disable CSS logger, it complains a lot about non-issues
			try {
				ManagementFactory.getPlatformMXBean(PlatformLoggingMXBean.class)
						.setLoggerLevel("javafx.css", "OFF");
			} catch (IllegalArgumentException ignored) {
				// Expected: logger may not exist
			}
		});
	}
	return window;
}
 
Example 8
Source Project: jdk8u60   Source File: CheckAttributedTree.java    License: GNU General Public License v2.0 6 votes vote down vote up
@Override
public void scan(JCTree tree) {
    if (tree == null ||
            excludeTags.contains(treeUtil.nameFromTag(tree.getTag()))) {
        return;
    }

    Info self = new Info(tree, endPosTable);
    if (mandatoryType(tree)) {
        check(tree.type != null,
                "'null' field 'type' found in tree ", self);
        if (tree.type==null)
            new Throwable().printStackTrace();
    }

    Field errField = checkFields(tree);
    if (errField!=null) {
        check(false,
                "'null' field '" + errField.getName() + "' found in tree ", self);
    }

    Info prevEncl = encl;
    encl = self;
    tree.accept(this);
    encl = prevEncl;
}
 
Example 9
/**
 * 繰り返しのアノテーションが1つの場合の展開
 */
@Test
public void testExpand_repeatSingle() {
    
    Field field = getSampleField("repeatSingle");
    
    Annotation targetAnno = field.getAnnotation(CsvLengthMax.class);
    
    List<ExpandedAnnotation> actual = expander.expand(targetAnno);
    
    assertThat(actual).hasSize(1);
    
    {
        ExpandedAnnotation expandedAnno = actual.get(0);
        assertThat(expandedAnno.getOriginal()).isInstanceOf(CsvLengthMax.class);
        assertThat(expandedAnno.getIndex()).isEqualTo(0);
        assertThat(expandedAnno.isComposed()).isEqualTo(false);
        assertThat(expandedAnno.getChilds()).isEmpty();
    }
    
}
 
Example 10
private static boolean isDefaultValue(final Field field, final Object value) {
    Class<?> clazz = field.getType();
    if (int.class.equals(clazz) || Integer.class.equals(clazz)) {
        return (int) value == 0;
    } else if (byte.class.equals(clazz) || Byte.class.equals(clazz)) {
        return (byte) value == 0;
    } else if (long.class.equals(clazz) || Long.class.equals(clazz)) {
        return (long) value == 0L;
    } else if (double.class.equals(clazz) || Double.class.equals(clazz)) {
        return (double) value == 0.0d;
    } else if (float.class.equals(clazz) || Float.class.equals(clazz)) {
        return (float) value == 0.0f;
    } else if (short.class.equals(clazz) || Short.class.equals(clazz)) {
        return (short) value == 0;
    } else if (boolean.class.equals(clazz) || Boolean.class.equals(clazz)) {
        return !((boolean) value);
    } else if (String.class.equals(clazz)) {
        return null == value || "".equals(value);
    }
    return false;
}
 
Example 11
Source Project: NetBare   Source File: HttpSSLResponseCodec.java    License: MIT License 6 votes vote down vote up
private void enableOpenSSLEngineImplAlpn() throws NoSuchFieldException, IllegalAccessException {
    Field sslParametersField = mSSLEngine.getClass().getDeclaredField("sslParameters");
    sslParametersField.setAccessible(true);
    Object sslParameters = sslParametersField.get(mSSLEngine);
    if (sslParameters == null) {
        throw new IllegalAccessException("sslParameters value is null");
    }
    Field useSessionTicketsField = sslParameters.getClass().getDeclaredField("useSessionTickets");
    useSessionTicketsField.setAccessible(true);
    useSessionTicketsField.set(sslParameters, true);
    Field useSniField = sslParameters.getClass().getDeclaredField("useSni");
    useSniField.setAccessible(true);
    useSniField.set(sslParameters, true);
    Field alpnProtocolsField = sslParameters.getClass().getDeclaredField("alpnProtocols");
    alpnProtocolsField.setAccessible(true);
    alpnProtocolsField.set(sslParameters, concatLengthPrefixed(mClientAlpns));
}
 
Example 12
Source Project: flink   Source File: PojoSerializerSnapshotTest.java    License: Apache License 2.0 6 votes vote down vote up
@Test
public void testRestoreSerializerWithSameFields() {
	final PojoSerializerSnapshot<TestPojo> testSnapshot = buildTestSnapshot(Arrays.asList(
		ID_FIELD,
		NAME_FIELD,
		HEIGHT_FIELD
	));

	final TypeSerializer<TestPojo> restoredSerializer = testSnapshot.restoreSerializer();
	assertSame(restoredSerializer.getClass(), PojoSerializer.class);
	final PojoSerializer<TestPojo> restoredPojoSerializer = (PojoSerializer<TestPojo>) restoredSerializer;

	final Field[] restoredFields = restoredPojoSerializer.getFields();
	assertArrayEquals(
		new Field[] { ID_FIELD.field, NAME_FIELD.field, HEIGHT_FIELD.field },
		restoredFields);

	final TypeSerializer<?>[] restoredFieldSerializers = restoredPojoSerializer.getFieldSerializers();
	assertArrayEquals(
		new TypeSerializer[] { IntSerializer.INSTANCE, StringSerializer.INSTANCE, DoubleSerializer.INSTANCE },
		restoredFieldSerializers);
}
 
Example 13
Source Project: DotCi   Source File: DynamicSubProject.java    License: MIT License 6 votes vote down vote up
@Override
public void onLoad(final ItemGroup<? extends Item> parent, final String name) throws IOException {
    try {
        final Field parentField = AbstractItem.class.getDeclaredField("parent");
        parentField.setAccessible(true);
        ReflectionUtils.setField(parentField, this, parent);
    } catch (final Exception e) {
        throw new RuntimeException(e);
    }

    doSetName(name);
    if (this.transientActions == null) {
        this.transientActions = new Vector<>();
    }
    updateTransientActions();
    getBuildersList().setOwner(this);
    getPublishersList().setOwner(this);
    getBuildWrappersList().setOwner(this);

    initRepos();
}
 
Example 14
@Test
public void getRowType() throws Exception {
    Field f1 = BaseClass.class.getField("f1");
    Field f2 = BaseClass.class.getField("f2");
    Field f3 = BaseClass.class.getField("f3");
    Field f4 = ConcreteClass.class.getField("f4");
    Field f5 = ConcreteClass.class.getField("f5");
    Field array1 = BaseClass.class.getField("array1");

    assertEquals(String.class, ReflectionUtil.getRawType(f1.getGenericType(), ConcreteClass.class));
    assertEquals(Integer.class, ReflectionUtil.getRawType(f2.getGenericType(), ConcreteClass.class));
    assertEquals(String.class, ReflectionUtil.getRawType(f3.getGenericType(), ConcreteClass.class));
    assertEquals(Long.class, ReflectionUtil.getRawType(f4.getGenericType(), ConcreteClass.class));
    assertEquals(List.class, ReflectionUtil.getRawType(f5.getGenericType(), ConcreteClass.class));
    assertEquals(String[].class, ReflectionUtil.getRawType(array1.getGenericType(), ConcreteClass.class));

    assertEquals(Object.class, ReflectionUtil.getRawType(f1.getGenericType()));
}
 
Example 15
@Test
public void getCreatesSenderWithCorrectDatabaseName() throws Exception {
    final MetricsInfluxDbReporterConfiguration configuration = new MetricsInfluxDbReporterConfiguration() {
        @Override
        public URI getUri() {
            return URI.create("udp://127.0.0.1:8086/data_base_1");
        }
    };
    final InfluxDbSenderProvider provider = new InfluxDbSenderProvider(configuration);
    final InfluxDbSender influxDbSender = provider.get();

    final Field field = Class.forName("com.izettle.metrics.influxdb.InfluxDbBaseSender").getDeclaredField("influxDbWriteObject");
    field.setAccessible(true);
    final InfluxDbWriteObject influxDbWriteObject = (InfluxDbWriteObject) field.get(influxDbSender);
    assertEquals("data_base_1", influxDbWriteObject.getDatabase());
}
 
Example 16
Source Project: openjdk-8-source   Source File: bug7004134.java    License: GNU General Public License v2.0 6 votes vote down vote up
private static Component getTipWindow() {
    try {
        Field tipWindowField = ToolTipManager.class.getDeclaredField("tipWindow");

        tipWindowField.setAccessible(true);

        Popup value = (Popup) tipWindowField.get(ToolTipManager.sharedInstance());

        Field componentField = Popup.class.getDeclaredField("component");

        componentField.setAccessible(true);

        return (Component) componentField.get(value);
    } catch (Exception e) {
        throw new RuntimeException("getToolTipComponent failed", e);
    }
}
 
Example 17
Source Project: netbeans   Source File: DOMNode.java    License: Apache License 2.0 6 votes vote down vote up
private static String tryGetID(org.openide.nodes.Node node) {
    // TODO: Request API to be able to access org.netbeans.modules.html.navigator.Description from the Node's lookup
    // Reading attributes from HTMLElementNode
    try {
        Field sourceField = node.getClass().getDeclaredField("source");
        sourceField.setAccessible(true);
        Object source = sourceField.get(node);
        Method getAttributes = source.getClass().getDeclaredMethod("getAttributes");
        getAttributes.setAccessible(true);
        Object attributesObj = getAttributes.invoke(source);
        Map<String, String> attributes = (Map<String, String>) attributesObj;
        return attributes.get("id");
    } catch (Exception ex) {
        LOG.log(Level.INFO, "Problem while getting id from node "+node+", class = "+node.getClass()+": "+ex.toString());
        return null;
    }
}
 
Example 18
Source Project: qpid-jms   Source File: PriorityMessageQueueTest.java    License: Apache License 2.0 6 votes vote down vote up
private void singalQueue(PriorityMessageQueue queue) throws Exception {
    Field lock = null;
    Class<?> queueType = queue.getClass();

    while (queueType != null && lock == null) {
        try {
            lock = queueType.getDeclaredField("lock");
        } catch (NoSuchFieldException error) {
            queueType = queueType.getSuperclass();
            if (Object.class.equals(queueType)) {
                queueType = null;
            }
        }
    }

    assertNotNull("MessageQueue implementation unknown", lock);
    lock.setAccessible(true);

    Object lockView = lock.get(queue);

    synchronized (lockView) {
        lockView.notify();
    }
}
 
Example 19
Source Project: cxf   Source File: JAXRSUtils.java    License: Apache License 2.0 6 votes vote down vote up
public static Response copyResponseIfNeeded(Response response) {
    if (!(response instanceof ResponseImpl)) {
        Response r = fromResponse(response).build();
        Field[] declaredFields = ReflectionUtil.getDeclaredFields(response.getClass());
        for (Field f : declaredFields) {
            Class<?> declClass = f.getType();
            if (declClass == Annotation[].class) {
                try {
                    Annotation[] fieldAnnotations =
                        ReflectionUtil.accessDeclaredField(f, response, Annotation[].class);
                    ((ResponseImpl)r).setEntityAnnotations(fieldAnnotations);
                } catch (Throwable ex) {
                    LOG.warning("Custom annotations if any can not be copied");
                }
                break;
            }
        }
        return r;
    }
    return response;
}
 
Example 20
Source Project: pulsar   Source File: AuthenticationAthenzTest.java    License: Apache License 2.0 6 votes vote down vote up
@Test
public void testLoadPrivateKeyBase64() throws Exception {
    try {
        String paramsStr = new String(Files.readAllBytes(Paths.get("./src/test/resources/authParams.json")));

        // load privatekey and encode it using base64
        ObjectMapper jsonMapper = ObjectMapperFactory.create();
        Map<String, String> authParamsMap = jsonMapper.readValue(paramsStr,
                new TypeReference<HashMap<String, String>>() {
                });
        String privateKeyContents = new String(Files.readAllBytes(Paths.get(authParamsMap.get("privateKey"))));
        authParamsMap.put("privateKey", "data:application/x-pem-file;base64,"
                + new String(Base64.getEncoder().encode(privateKeyContents.getBytes())));

        AuthenticationAthenz authBase64 = new AuthenticationAthenz();
        authBase64.configure(jsonMapper.writeValueAsString(authParamsMap));

        PrivateKey privateKey = Crypto.loadPrivateKey(new File("./src/test/resources/tenant_private.pem"));
        Field field = authBase64.getClass().getDeclaredField("privateKey");
        field.setAccessible(true);
        PrivateKey key = (PrivateKey) field.get(authBase64);
        assertEquals(key, privateKey);
    } catch (Exception e) {
        Assert.fail();
    }
}
 
Example 21
Source Project: credhub   Source File: CertificateLengthValidator.java    License: Apache License 2.0 6 votes vote down vote up
@Override
public boolean isValid(final Object value, final ConstraintValidatorContext context) {
  for (final String fieldName : fields) {
    try {
      final Field field = value.getClass().getDeclaredField(fieldName);
      field.setAccessible(true);

      if (StringUtils.isEmpty((String) field.get(value))) {
        return true;
      }

      final String certificate = (String) field.get(value);
      if (certificate.getBytes(UTF_8).length > 7000) {
        return false;
      }

    } catch (final NoSuchFieldException | IllegalAccessException e) {
      throw new RuntimeException(e);
    }
  }
  return true;
}
 
Example 22
Source Project: azeroth   Source File: EntityHelper.java    License: Apache License 2.0 6 votes vote down vote up
/**
 * 获取全部的Field
 *
 * @param entityClass
 * @param fieldList
 * @return
 */
private static List<Field> getAllField(Class<?> entityClass, List<Field> fieldList) {
    if (fieldList == null) {
        fieldList = new ArrayList<Field>();
    }
    if (entityClass.equals(Object.class)) {
        return fieldList;
    }
    Field[] fields = entityClass.getDeclaredFields();
    for (Field field : fields) {
        // 排除静态字段
        if (!Modifier.isStatic(field.getModifiers())) {
            fieldList.add(field);
        }
    }
    Class<?> superClass = entityClass.getSuperclass();
    if (superClass != null && !superClass.equals(Object.class)
            && (!Map.class.isAssignableFrom(superClass)
            && !Collection.class.isAssignableFrom(superClass))) {
        return getAllField(entityClass.getSuperclass(), fieldList);
    }
    return fieldList;
}
 
Example 23
Source Project: cqengine   Source File: ReflectiveAttribute.java    License: Apache License 2.0 6 votes vote down vote up
/**
 * Creates an attribute which reads values from the field indicated using reflection.
 *
 * @param objectType The type of the object containing the field
 * @param fieldType The type of the field in the object
 * @param fieldName The name of the field
 */
public ReflectiveAttribute(Class<O> objectType, Class<A> fieldType, String fieldName) {
    super(objectType, fieldType, fieldName);
    Field field;
    try {
        field = getField(objectType, fieldName);
        if (!field.isAccessible()) {
            field.setAccessible(true);
        }
    }
    catch (Exception e) {
        throw new IllegalStateException("Invalid attribute definition: No such field '" + fieldName + "' in object '" + objectType.getName() + "'");
    }
    if (!fieldType.isAssignableFrom(field.getType())) {
        throw new IllegalStateException("Invalid attribute definition: The type of field '" + fieldName + "', type '" + field.getType() + "', in object '" + objectType.getName() + "', is not assignable to the type indicated: " + fieldType.getName());
    }
    this.field = field;
}
 
Example 24
public static void writeField(final Object target, final Object value, String obfName, String deobfName) {
	if (target == null) return;
	
	final Class<?> cls = target.getClass();
       final Field field = getField(cls, obfName, deobfName);
       
       if (field == null) return;
       
       if (!field.isAccessible()) {
           field.setAccessible(true);
       }
       
       try {
		field.set(target, value);
	} catch (Exception e) {}
       
}
 
Example 25
Source Project: webtester-core   Source File: DefaultPageObjectFactory.java    License: Apache License 2.0 5 votes vote down vote up
private <T extends PageObject> void tryToWaitOnPageObjectsVisibility(T pageInstance, Field field) {
    try {
        waitOnPageObjectsVisibility(pageInstance, field);
    } catch (TimeoutException e) {
        throw exception(pageInstance, e).whenWaitingForVisibilityOfPageObjectField(field);
    }
}
 
Example 26
Source Project: FXGLGames   Source File: BehaviorTreeParser.java    License: MIT License 5 votes vote down vote up
private Field getField(Class<?> clazz, String name) {
    try {
        return clazz.getField(name);
    } catch (Exception e) {
        throw new RuntimeException(e);
    }
}
 
Example 27
Source Project: nuls-v2   Source File: ContractMakeAndBroadcastBase.java    License: MIT License 5 votes vote down vote up
protected Result validDeleteTx(int chainId, DeleteContractTransaction tx) {
    try {
        DeleteContractTxValidator validator = new DeleteContractTxValidator();
        Field field = DeleteContractTxValidator.class.getDeclaredField("contractHelper");
        field.setAccessible(true);
        field.set(validator, contractHelper);
        return validator.validate(chainId, tx);
    } catch (Exception e) {
        Log.error(e);
        return getFailed();
    }
}
 
Example 28
/**
 * 初始化组件列表
 */
private void initComponents() throws InstantiationException, IllegalAccessException {
    // 获取需要扫描的包名
    String pkgName = getPackage();

    // 获取包下所有类
    List<Class<?>> classes = ClassUtil.getClasses(pkgName);
    if (CollectionUtils.isEmpty(classes)) {
        return;
    }

    // 遍历类
    for (Class clazz : classes) {
        Field[] fields = clazz.getDeclaredFields();
        if (fields==null || fields.length==0) {
            continue;
        }

        // 遍历成员变量
        for (Field field : fields) {
            // 获取Field上的@InjectComponents注解
            InjectComponents injectComponents = AnnotationUtil.getAnnotationValueByField(field, InjectComponents.class);
            if (injectComponents == null) {
                continue;
            }

            // 创建componentList对象
            List<BaseComponent> componentList = initComponentList(injectComponents);

            // 赋值
            setValueForField(clazz, field, componentList);
        }
    }

}
 
Example 29
public static final Field findFieldIfExists(Class clazz, String fieldName) {
    if (clazz == null) {
        return null;
    }
    Field field = null;
    try {
        field = clazz.getField(fieldName);
    } catch (Error | Exception e) {
    }
    return field;
}
 
Example 30
Source Project: jpa-unit   Source File: ReflectionUtilsTest.java    License: Apache License 2.0 5 votes vote down vote up
@Test
public void testGetValeOfAPrivateFieldUsingFieldObject() throws Exception {
    // GIVEN
    privateField = 10l;
    final Field toi = getClass().getDeclaredField("privateField");

    // WHEN
    final Object value = ReflectionUtils.getValue(this, toi);

    // THEN
    assertThat(privateField, equalTo(value));
}