Java Code Examples for java.lang.reflect.Field#setInt()
The following examples show how to use
java.lang.reflect.Field#setInt() .
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: atlas File: AtlasJanusGraphDatabase.java License: Apache License 2.0 | 6 votes |
private static void addSolr6Index() { try { Field field = StandardIndexProvider.class.getDeclaredField("ALL_MANAGER_CLASSES"); field.setAccessible(true); Field modifiersField = Field.class.getDeclaredField("modifiers"); modifiersField.setAccessible(true); modifiersField.setInt(field, field.getModifiers() & ~Modifier.FINAL); Map<String, String> customMap = new HashMap<>(StandardIndexProvider.getAllProviderClasses()); customMap.put("solr", Solr6Index.class.getName()); ImmutableMap<String, String> immap = ImmutableMap.copyOf(customMap); field.set(null, immap); LOG.debug("Injected solr6 index - {}", Solr6Index.class.getName()); } catch (Exception e) { throw new RuntimeException(e); } }
Example 2
Source Project: grpc-nebula-java File: DebugUtilsTest.java License: Apache License 2.0 | 6 votes |
private static <T> boolean setStaticValue(Class<?> clazz, String filedName, T newValue) { try { Field field = clazz.getField(filedName); field.setAccessible(true); /* 去除final修饰符的影响,将字段设为可修改的 */ Field modifiersField = Field.class.getDeclaredField("modifiers"); modifiersField.setAccessible(true); modifiersField.setInt(field, field.getModifiers() & ~Modifier.FINAL); field.set(null, newValue); return true; } catch (Exception e) { logger.error(e.getMessage(), e); return false; } }
Example 3
Source Project: Bukkit-SSHD File: ReflectionUtil.java License: Apache License 2.0 | 6 votes |
public static void setProtectedValue(Class c, Object o, String field, Object newValue) { try { Field f = c.getDeclaredField(field); f.setAccessible(true); Field modifiersField = Field.class.getDeclaredField("modifiers"); modifiersField.setAccessible(true); modifiersField.setInt(f, f.getModifiers() & ~Modifier.FINAL); f.set(o, newValue); } catch (NoSuchFieldException | IllegalAccessException ex) { System.out.println("*** " + c.getName() + ":" + ex); } }
Example 4
Source Project: JavaTutorial File: InvokeField.java License: Apache License 2.0 | 6 votes |
public static void main(String[] args) throws NoSuchFieldException, SecurityException, IllegalArgumentException, IllegalAccessException { Man man = new Man(); Class<?> claz = man.getClass(); log("==========设置public字段的值=========="); log("height的值:%d", man.height); Field field = claz.getField("height"); field.setInt(man, 175); log("height的值:%d", man.height); log("==========设置private字段的值=========="); log("power的值:%d", man.getPower()); field = claz.getDeclaredField("power"); field.setAccessible(true); field.setInt(man, 100); log("power的值:%d", man.getPower()); log("==========获取private字段的值=========="); int power = field.getInt(man); log("power的值:%d", power); }
Example 5
Source Project: nifi-minifi File: StatusLoggerTest.java License: Apache License 2.0 | 6 votes |
@Before public void init() throws IOException, NoSuchFieldException, IllegalAccessException { statusLogger = Mockito.spy(new StatusLogger()); logger = Mockito.mock(Logger.class); queryableStatusAggregator = Mockito.mock(QueryableStatusAggregator.class); flowStatusReport = Mockito.mock(FlowStatusReport.class); Mockito.when(flowStatusReport.toString()).thenReturn(MOCK_STATUS); Field field = StatusLogger.class.getDeclaredField("logger"); field.setAccessible(true); Field modifiersField = Field.class.getDeclaredField("modifiers"); modifiersField.setAccessible(true); modifiersField.setInt(field, field.getModifiers() & ~Modifier.FINAL); field.set(null, logger); Mockito.when(queryableStatusAggregator.statusReport(MOCK_QUERY)).thenReturn(flowStatusReport); }
Example 6
Source Project: firebase-admin-java File: TestUtils.java License: Apache License 2.0 | 6 votes |
public static void setEnvironmentVariables(Map<String, String> vars) { // Setting the environment variables after the JVM has started requires a bit of a hack: // we reach into the package-private java.lang.ProcessEnvironment class, which incidentally // is platform-specific, and replace the map held in a static final field there, // using yet more reflection. // // This is copied from {#see com.google.apphosting.runtime.NullSandboxPlugin} Map<String, String> allVars = new HashMap<>(System.getenv()); allVars.putAll(vars); try { Class<?> pe = Class.forName("java.lang.ProcessEnvironment", true, null); Field f = pe.getDeclaredField("theUnmodifiableEnvironment"); f.setAccessible(true); Field m = Field.class.getDeclaredField("modifiers"); m.setAccessible(true); m.setInt(f, m.getInt(f) & ~Modifier.FINAL); f.set(null, Collections.unmodifiableMap(allVars)); } catch (ReflectiveOperationException e) { throw new RuntimeException("failed to set the environment variables", e); } }
Example 7
Source Project: Dream-Catcher File: NativeCacheManipulatingResolver.java License: MIT License | 6 votes |
@Override public void setNegativeDNSCacheTimeout(int timeout, TimeUnit timeUnit) { try { Class<?> inetAddressCachePolicyClass = Class.forName("sun.net.InetAddressCachePolicy"); Field negativeCacheTimeoutSeconds = inetAddressCachePolicyClass.getDeclaredField("negativeCachePolicy"); negativeCacheTimeoutSeconds.setAccessible(true); if (timeout < 0) { negativeCacheTimeoutSeconds.setInt(null, -1); java.security.Security.setProperty("networkaddress.cache.negative.ttl", "-1"); } else { negativeCacheTimeoutSeconds.setInt(null, (int) TimeUnit.SECONDS.convert(timeout, timeUnit)); java.security.Security.setProperty("networkaddress.cache.negative.ttl", Long.toString(TimeUnit.SECONDS.convert(timeout, timeUnit))); } } catch (ClassNotFoundException | NoSuchFieldException | IllegalAccessException e) { log.warn("Unable to modify native JVM DNS cache timeouts", e); } }
Example 8
Source Project: Dashchan File: PaddedListView.java License: Apache License 2.0 | 6 votes |
@Override public void setFastScrollEnabled(boolean enabled) { super.setFastScrollEnabled(enabled); if (enabled && !fastScrollModified) { Object fastScroll = getFastScroll(); if (fastScroll != null) { fastScrollModified = true; try { Field field = fastScroll.getClass().getDeclaredField("mMinimumTouchTarget"); field.setAccessible(true); field.setInt(fastScroll, field.getInt(fastScroll) / 3); } catch (Exception e) { // Reflective operation, ignore exception } } } }
Example 9
Source Project: BaseMetals File: Items.java License: GNU Lesser General Public License v2.1 | 6 votes |
/** * Uses reflection to expand the size of the combat damage and attack speed arrays to prevent initialization * index-out-of-bounds errors * @param itemClass The class to modify */ private static void expandCombatArrays(Class itemClass) throws IllegalAccessException, NoSuchFieldException { // WARNING: this method contains black magic final int expandedSize = 256; Field[] fields = itemClass.getDeclaredFields(); for(Field f : fields){ if(Modifier.isStatic(f.getModifiers()) && f.getType().isArray() && f.getType().getComponentType().equals(float.class)){ FMLLog.info("%s: Expanding array variable %s.%s to size %s", Thread.currentThread().getStackTrace()[0], itemClass.getSimpleName(), f.getName(), expandedSize); f.setAccessible(true); // bypass 'private' key word Field modifiersField = Field.class.getDeclaredField("modifiers"); modifiersField.setAccessible(true); modifiersField.setInt(f, f.getModifiers() & ~Modifier.FINAL); // bypass 'final' key word float[] newArray = new float[expandedSize]; Arrays.fill(newArray,0F); System.arraycopy(f.get(null),0,newArray,0, Array.getLength(f.get(null))); f.set(null,newArray); } } }
Example 10
Source Project: Dream-Catcher File: NativeCacheManipulatingResolver.java License: MIT License | 6 votes |
@Override public void setPositiveDNSCacheTimeout(int timeout, TimeUnit timeUnit) { try { Class<?> inetAddressCachePolicyClass = Class.forName("sun.net.InetAddressCachePolicy"); Field positiveCacheTimeoutSeconds = inetAddressCachePolicyClass.getDeclaredField("cachePolicy"); positiveCacheTimeoutSeconds.setAccessible(true); if (timeout < 0) { positiveCacheTimeoutSeconds.setInt(null, -1); java.security.Security.setProperty("networkaddress.cache.ttl", "-1"); } else { positiveCacheTimeoutSeconds.setInt(null, (int) TimeUnit.SECONDS.convert(timeout, timeUnit)); java.security.Security.setProperty("networkaddress.cache.ttl", Long.toString(TimeUnit.SECONDS.convert(timeout, timeUnit))); } } catch (ClassNotFoundException | NoSuchFieldException | IllegalAccessException e) { log.warn("Unable to modify native JVM DNS cache timeouts", e); } }
Example 11
Source Project: localization_nifi File: TestUtils.java License: Apache License 2.0 | 5 votes |
public static void setFinalField(Field field, Object instance, Object newValue) throws Exception { field.setAccessible(true); Field modifiersField = Field.class.getDeclaredField("modifiers"); modifiersField.setAccessible(true); modifiersField.setInt(field, field.getModifiers() & ~Modifier.FINAL); field.set(instance, newValue); }
Example 12
Source Project: development File: BillingServiceBeanTest.java License: Apache License 2.0 | 5 votes |
private static void setFinalStatic(Field field, Object newValue) throws Exception { field.setAccessible(true); Field modifiersField = Field.class.getDeclaredField("modifiers"); modifiersField.setAccessible(true); modifiersField.setInt(field, field.getModifiers() & ~Modifier.FINAL); field.set(null, newValue); }
Example 13
Source Project: gson File: CollectionsDeserializationBenchmark.java License: Apache License 2.0 | 5 votes |
/** * This benchmark measures the ideal Gson performance: the cost of parsing a JSON stream and * setting object values by reflection. We should strive to reduce the discrepancy between this * and {@link #timeCollectionsDefault(int)} . */ public void timeCollectionsReflectionStreaming(int reps) throws Exception { for (int i=0; i<reps; ++i) { StringReader reader = new StringReader(json); JsonReader jr = new JsonReader(reader); jr.beginArray(); List<BagOfPrimitives> bags = new ArrayList<BagOfPrimitives>(); while(jr.hasNext()) { jr.beginObject(); BagOfPrimitives bag = new BagOfPrimitives(); while(jr.hasNext()) { String name = jr.nextName(); for (Field field : BagOfPrimitives.class.getDeclaredFields()) { if (field.getName().equals(name)) { Class<?> fieldType = field.getType(); if (fieldType.equals(long.class)) { field.setLong(bag, jr.nextLong()); } else if (fieldType.equals(int.class)) { field.setInt(bag, jr.nextInt()); } else if (fieldType.equals(boolean.class)) { field.setBoolean(bag, jr.nextBoolean()); } else if (fieldType.equals(String.class)) { field.set(bag, jr.nextString()); } else { throw new RuntimeException("Unexpected: type: " + fieldType + ", name: " + name); } } } } jr.endObject(); bags.add(bag); } jr.endArray(); } }
Example 14
Source Project: imsdk-android File: StatusBarUtil.java License: MIT License | 5 votes |
/** * 设置状态栏图标为深色和魅族特定的文字风格 * 可以用来判断是否为Flyme用户 * * @param window 需要设置的窗口 * @param dark 是否把状态栏字体及图标颜色设置为深色 * @return boolean 成功执行返回true */ public static boolean FlymeSetStatusBarLightMode(Window window, boolean dark) { boolean result = false; if (window != null) { try { WindowManager.LayoutParams lp = window.getAttributes(); Field darkFlag = WindowManager.LayoutParams.class .getDeclaredField("MEIZU_FLAG_DARK_STATUS_BAR_ICON"); Field meizuFlags = WindowManager.LayoutParams.class .getDeclaredField("meizuFlags"); darkFlag.setAccessible(true); meizuFlags.setAccessible(true); int bit = darkFlag.getInt(null); int value = meizuFlags.getInt(lp); if (dark) { value |= bit; } else { value &= ~bit; } meizuFlags.setInt(lp, value); window.setAttributes(lp); result = true; } catch (Exception e) { return false; } } return result; }
Example 15
Source Project: cloudstack File: AncientDataMotionStrategyTest.java License: Apache License 2.0 | 5 votes |
private void replaceVmwareCreateCloneFullField() throws Exception { Field field = CapacityManager.class.getDeclaredField("VmwareCreateCloneFull"); field.setAccessible(true); // remove final modifier from field Field modifiersField = Field.class.getDeclaredField("modifiers"); modifiersField.setAccessible(true); modifiersField.setInt(field, field.getModifiers() & ~Modifier.FINAL); field.set(null, vmwareKey); }
Example 16
Source Project: java-rest-api File: MessageBirdServiceImpl.java License: BSD 3-Clause "New" or "Revised" License | 5 votes |
/** * By default, HttpURLConnection does not support PATCH requests. We can * however work around this with reflection. Many thanks to okutane on * StackOverflow: https://stackoverflow.com/a/46323891/3521243. */ private synchronized static void allowPatchRequestsIfNeeded() throws GeneralException { if (isPatchRequestAllowed) { // Don't do anything if we've run this method before. We're in a // synchronized block, so return ASAP. return; } try { // Ensure we can access the fields we need to set. Field methodsField = HttpURLConnection.class.getDeclaredField("methods"); methodsField.setAccessible(true); Field modifiersField = Field.class.getDeclaredField("modifiers"); modifiersField.setAccessible(true); modifiersField.setInt(methodsField, methodsField.getModifiers() & ~Modifier.FINAL); Object noInstanceBecauseStaticField = null; // Determine what methods should be allowed. String[] existingMethods = (String[]) methodsField.get(noInstanceBecauseStaticField); String[] allowedMethods = getAllowedMethods(existingMethods); // Override the actual field to allow PATCH. methodsField.set(noInstanceBecauseStaticField, allowedMethods); // Set flag so we only have to run this once. isPatchRequestAllowed = true; } catch (IllegalAccessException | NoSuchFieldException e) { throw new GeneralException(CAN_NOT_ALLOW_PATCH); } }
Example 17
Source Project: rocketmq-4.3.0 File: DefaultRequestProcessorTest.java License: Apache License 2.0 | 5 votes |
private static void setFinalStatic(Field field, Object newValue) throws Exception { field.setAccessible(true); Field modifiersField = Field.class.getDeclaredField("modifiers"); modifiersField.setAccessible(true); modifiersField.setInt(field, field.getModifiers() & ~Modifier.FINAL); field.set(null, newValue); }
Example 18
Source Project: tup.dota2recipe File: Utils.java License: Apache License 2.0 | 5 votes |
/** * FROM FlymeAPI.Lib * * 设置状态栏图标为深色和魅族特定的文字风格 * * @param window * 需要设置的窗口 * @param dark * 是否把状态栏颜色设置为深色 * @return boolean 成功执行返回true */ public static boolean setStatusBarDarkIcon(Window window, boolean dark) { boolean result = false; if (window != null) { try { WindowManager.LayoutParams lp = window.getAttributes(); Field darkFlag = WindowManager.LayoutParams.class .getDeclaredField("MEIZU_FLAG_DARK_STATUS_BAR_ICON"); Field meizuFlags = WindowManager.LayoutParams.class .getDeclaredField("meizuFlags"); darkFlag.setAccessible(true); meizuFlags.setAccessible(true); int bit = darkFlag.getInt(null); int value = meizuFlags.getInt(lp); if (dark) { value |= bit; } else { value &= ~bit; } meizuFlags.setInt(lp, value); window.setAttributes(lp); result = true; } catch (Exception e) { Log.e(TAG, "setStatusBarDarkIcon: failed"); } } return result; }
Example 19
Source Project: KUtils File: BGAViewPager.java License: Apache License 2.0 | 4 votes |
@Override public void setPageTransformer(boolean reverseDrawingOrder, ViewPager.PageTransformer transformer) { /** 继承ViewPager,重写setPageTransformer方法,移除版本限制,通过反射设置参数和方法 getDeclaredMethod*()获取的是【类自身】声明的所有方法,包含public、protected和private方法。 getMethod*()获取的是类的所有共有方法,这就包括自身的所有【public方法】,和从基类继承的、从接口实现的所有【public方法】。 getDeclaredField获取的是【类自身】声明的所有字段,包含public、protected和private字段。 getField获取的是类的所有共有字段,这就包括自身的所有【public字段】,和从基类继承的、从接口实现的所有【public字段】。 */ Class viewpagerClass = ViewPager.class; try { boolean hasTransformer = transformer != null; Field pageTransformerField = viewpagerClass.getDeclaredField("mPageTransformer"); pageTransformerField.setAccessible(true); PageTransformer mPageTransformer = (PageTransformer) pageTransformerField.get(this); boolean needsPopulate = hasTransformer != (mPageTransformer != null); pageTransformerField.set(this, transformer); Method setChildrenDrawingOrderEnabledCompatMethod = viewpagerClass.getDeclaredMethod("setChildrenDrawingOrderEnabledCompat", boolean.class); setChildrenDrawingOrderEnabledCompatMethod.setAccessible(true); setChildrenDrawingOrderEnabledCompatMethod.invoke(this, hasTransformer); Field drawingOrderField = viewpagerClass.getDeclaredField("mDrawingOrder"); drawingOrderField.setAccessible(true); if (hasTransformer) { drawingOrderField.setInt(this, reverseDrawingOrder ? 2 : 1); } else { drawingOrderField.setInt(this, 0); } if (needsPopulate) { Method populateMethod = viewpagerClass.getDeclaredMethod("populate"); populateMethod.setAccessible(true); populateMethod.invoke(this); } } catch (Exception e) { } }
Example 20
Source Project: FastAsyncWorldedit File: Config.java License: GNU General Public License v3.0 | 3 votes |
/** * Set some field to be accesible * * @param field * @throws NoSuchFieldException * @throws IllegalAccessException */ private void setAccessible(Field field) throws NoSuchFieldException, IllegalAccessException { field.setAccessible(true); Field modifiersField = Field.class.getDeclaredField("modifiers"); modifiersField.setAccessible(true); modifiersField.setInt(field, field.getModifiers() & ~Modifier.FINAL); }