Code example for Field

Methods: getAnnotation, getDeclaringClass, getName, getType, set, setAccessible

0
		Object value = null;
		// 
		final String servieName = annotation.name();
		value = context.getSystemService(servieName);
 
		if (value == null && field.getAnnotation(Nullable.class) == null) {
			throw new NullPointerException(
					String.format(
							"Can't inject null value into %s.%s when field is not @Nullable", 
							field.getDeclaringClass(), field.getName()));
		} 
 
		field.setAccessible(true);
		try { 
			field.set(instance, value);
		} 
		catch (IllegalAccessException e) {
			throw new RuntimeException(e);
 
		} 
		catch (IllegalArgumentException f) {
			throw new IllegalArgumentException(String.format(
					"Can't assign %s value %s to %s field %s", 
					value != null ? value.getClass() : "(null)", value, field
							.getType(), field.getName()));
		} 
	} 
}