<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java_Tutorial%2FReflection%2FModifier</id>
		<title>Java Tutorial/Reflection/Modifier - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java_Tutorial%2FReflection%2FModifier"/>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java_Tutorial/Reflection/Modifier&amp;action=history"/>
		<updated>2026-04-07T18:49:32Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://jexp.ru/index.php?title=Java_Tutorial/Reflection/Modifier&amp;diff=2965&amp;oldid=prev</id>
		<title> в 17:44, 31 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java_Tutorial/Reflection/Modifier&amp;diff=2965&amp;oldid=prev"/>
				<updated>2010-05-31T17:44:26Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 17:44, 31 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://jexp.ru/index.php?title=Java_Tutorial/Reflection/Modifier&amp;diff=2966&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java_Tutorial/Reflection/Modifier&amp;diff=2966&amp;oldid=prev"/>
				<updated>2010-05-31T15:19:32Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==  AccessController.doPrivileged(new PrivilegedAction() ) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.io.File;&lt;br /&gt;
import java.security.AccessController;&lt;br /&gt;
import java.security.PrivilegedAction;&lt;br /&gt;
&lt;br /&gt;
public class Main {&lt;br /&gt;
  &lt;br /&gt;
  static long getLastModified(final File f) {&lt;br /&gt;
      return ((Long)&lt;br /&gt;
              AccessController.doPrivileged(new PrivilegedAction() {&lt;br /&gt;
                  public Object run() {&lt;br /&gt;
                      return new Long(f.lastModified());&lt;br /&gt;
                  }&lt;br /&gt;
              })).longValue();&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Get all object accessible public fields ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.lang.reflect.Field;&lt;br /&gt;
import java.util.Date;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] args) throws Exception {&lt;br /&gt;
    GetFields object = new GetFields();&lt;br /&gt;
    Class clazz = object.getClass();&lt;br /&gt;
    // Get all object accessible public fields.&lt;br /&gt;
    Field[] fields = clazz.getFields();&lt;br /&gt;
    System.out.println(&amp;quot;Number of fields = &amp;quot; + fields.length);&lt;br /&gt;
    for (Field field : fields) {&lt;br /&gt;
      System.out.println(&amp;quot;Field name = &amp;quot; + field.getName());&lt;br /&gt;
      System.out.println(&amp;quot;Field type = &amp;quot; + field.getType().getName());&lt;br /&gt;
    }&lt;br /&gt;
    Field field = clazz.getField(&amp;quot;id&amp;quot;);&lt;br /&gt;
    System.out.println(&amp;quot;Field name = &amp;quot; + field.getName());&lt;br /&gt;
    System.out.println(&amp;quot;Field type = &amp;quot; + field.getType().getName());&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
class GetFields {&lt;br /&gt;
  public Long id;&lt;br /&gt;
  protected String name;&lt;br /&gt;
  private Date birthDate;&lt;br /&gt;
  Double weight;&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Gets a method and forces it to be accessible, even if it is not. ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.lang.reflect.InvocationTargetException;&lt;br /&gt;
import java.lang.reflect.Method;&lt;br /&gt;
public class Main {&lt;br /&gt;
  /**&lt;br /&gt;
   * Gets a method and forces it to be accessible, even if it is not.&lt;br /&gt;
   *&lt;br /&gt;
   * @param clazz The class from which the method will be got.&lt;br /&gt;
   * @param methodName The name of the method.&lt;br /&gt;
   * @param parameterTypes The parameter types that the method must match.&lt;br /&gt;
   * @return The method, if it is found.&lt;br /&gt;
   * @since 2.0.7&lt;br /&gt;
   */&lt;br /&gt;
  public static Method getForcedAccessibleMethod(Class&amp;lt;?&amp;gt; clazz,&lt;br /&gt;
          String methodName, Class&amp;lt;?&amp;gt;... parameterTypes) {&lt;br /&gt;
      Method method;&lt;br /&gt;
      try {&lt;br /&gt;
          method = clazz.getMethod(methodName, parameterTypes);&lt;br /&gt;
      } catch (SecurityException e) {&lt;br /&gt;
          throw new RuntimeException(&amp;quot;Cannot access method &amp;quot;&amp;quot;&lt;br /&gt;
                  + methodName + &amp;quot;&amp;quot; in class &amp;quot;&amp;quot; + clazz.getName()&lt;br /&gt;
                  + &amp;quot;&amp;quot; for security reasons&amp;quot;, e);&lt;br /&gt;
      } catch (NoSuchMethodException e) {&lt;br /&gt;
          throw new RuntimeException(&amp;quot;The method &amp;quot;&amp;quot;&lt;br /&gt;
                  + methodName + &amp;quot;&amp;quot; in class &amp;quot;&amp;quot; + clazz.getName()&lt;br /&gt;
                  + &amp;quot;&amp;quot; does not exist&amp;quot;, e);&lt;br /&gt;
      }&lt;br /&gt;
      if (!method.isAccessible()) {&lt;br /&gt;
          method.setAccessible(true);&lt;br /&gt;
      }&lt;br /&gt;
      return method;&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Listing the Modifiers of a Class Object ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.lang.reflect.Modifier;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    int mods = String.class.getModifiers();&lt;br /&gt;
    if (Modifier.isPublic(mods)) {&lt;br /&gt;
      System.out.println(&amp;quot;class is public&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Listing the Modifiers of a Member Object: Field, Constructor, and Method are all subclasses of Member. ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.lang.reflect.Modifier;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    int mods = String.class.getDeclaredMethods()[0].getModifiers();&lt;br /&gt;
    if (Modifier.isPublic(mods)) {&lt;br /&gt;
      System.out.println(&amp;quot;member is public&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Make AccessibleObject Accessible ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.lang.reflect.AccessibleObject;&lt;br /&gt;
import java.security.AccessController;&lt;br /&gt;
import java.security.PrivilegedAction;&lt;br /&gt;
&lt;br /&gt;
public class Utils {&lt;br /&gt;
&lt;br /&gt;
  public static void makeAccessible( final AccessibleObject object ) {&lt;br /&gt;
      if (!object.isAccessible()) {&lt;br /&gt;
          if (System.getSecurityManager() == null) {&lt;br /&gt;
              object.setAccessible(true);&lt;br /&gt;
          } else {&lt;br /&gt;
              AccessController.doPrivileged(new PrivilegedAction&amp;lt;Object&amp;gt;() {&lt;br /&gt;
                  public Object run() {&lt;br /&gt;
                      object.setAccessible(true);&lt;br /&gt;
                      return null;&lt;br /&gt;
                  }&lt;br /&gt;
              });&lt;br /&gt;
          }&lt;br /&gt;
      }&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Make field accessible, explicitly setting it accessible ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
 * Copyright 2002-2008 the original author or authors.&lt;br /&gt;
 *&lt;br /&gt;
 * Licensed under the Apache License, Version 2.0 (the &amp;quot;License&amp;quot;);&lt;br /&gt;
 * you may not use this file except in compliance with the License.&lt;br /&gt;
 * You may obtain a copy of the License at&lt;br /&gt;
 *&lt;br /&gt;
 *      http://www.apache.org/licenses/LICENSE-2.0&lt;br /&gt;
 *&lt;br /&gt;
 * Unless required by applicable law or agreed to in writing, software&lt;br /&gt;
 * distributed under the License is distributed on an &amp;quot;AS IS&amp;quot; BASIS,&lt;br /&gt;
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.&lt;br /&gt;
 * See the License for the specific language governing permissions and&lt;br /&gt;
 * limitations under the License.&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
import java.lang.reflect.Field;&lt;br /&gt;
import java.lang.reflect.InvocationTargetException;&lt;br /&gt;
import java.lang.reflect.Method;&lt;br /&gt;
import java.lang.reflect.Modifier;&lt;br /&gt;
import java.sql.SQLException;&lt;br /&gt;
import java.util.Arrays;&lt;br /&gt;
import java.util.LinkedList;&lt;br /&gt;
import java.util.List;&lt;br /&gt;
/**&lt;br /&gt;
 * Simple utility class for working with the reflection API and handling&lt;br /&gt;
 * reflection exceptions.&lt;br /&gt;
 *&lt;br /&gt;
 * Only intended for internal use.&lt;br /&gt;
 *&lt;br /&gt;
 * @author Juergen Hoeller&lt;br /&gt;
 * @author Rob Harrop&lt;br /&gt;
 * @author Rod Johnson&lt;br /&gt;
 * @author Costin Leau&lt;br /&gt;
 * @since 1.2.2&lt;br /&gt;
 */&lt;br /&gt;
public abstract class ReflectionUtils {&lt;br /&gt;
  /**&lt;br /&gt;
   * Make the given field accessible, explicitly setting it accessible if necessary.&lt;br /&gt;
   * The &amp;lt;code&amp;gt;setAccessible(true)&amp;lt;/code&amp;gt; method is only called when actually necessary,&lt;br /&gt;
   * to avoid unnecessary conflicts with a JVM SecurityManager (if active).&lt;br /&gt;
   * @param field the field to make accessible&lt;br /&gt;
   * @see java.lang.reflect.Field#setAccessible&lt;br /&gt;
   */&lt;br /&gt;
  public static void makeAccessible(Field field) {&lt;br /&gt;
    if (!Modifier.isPublic(field.getModifiers()) ||&lt;br /&gt;
        !Modifier.isPublic(field.getDeclaringClass().getModifiers())) {&lt;br /&gt;
      field.setAccessible(true);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Overriding Default Access ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.lang.reflect.Constructor;&lt;br /&gt;
import java.lang.reflect.Field;&lt;br /&gt;
import java.lang.reflect.Method;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    Class cls = java.lang.String.class;&lt;br /&gt;
    Method method = cls.getMethods()[0];&lt;br /&gt;
    Field field = cls.getFields()[0];&lt;br /&gt;
    Constructor constructor = cls.getConstructors()[0];&lt;br /&gt;
    field.setAccessible(true);&lt;br /&gt;
    constructor.setAccessible(true);&lt;br /&gt;
    method.setAccessible(true);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Return true if the integer argument includes the abstract modifier, false otherwise. ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.lang.reflect.Modifier;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] args) throws Exception {&lt;br /&gt;
    getClassModifier(String.class);&lt;br /&gt;
    getClassModifier(TestA.class);&lt;br /&gt;
    getClassModifier(TestB.class);&lt;br /&gt;
  }&lt;br /&gt;
  private static void getClassModifier(Class clazz) {&lt;br /&gt;
    int modifier = clazz.getModifiers();&lt;br /&gt;
    if (Modifier.isAbstract(modifier)) {&lt;br /&gt;
      System.out.println(clazz.getName() + &amp;quot; class modifier is abstract&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  protected static final class TestA {&lt;br /&gt;
  }&lt;br /&gt;
  private abstract class TestB {&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Return true if the integer argument includes the final modifier, false otherwise. ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.lang.reflect.Modifier;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] args) throws Exception {&lt;br /&gt;
    getClassModifier(String.class);&lt;br /&gt;
    getClassModifier(TestA.class);&lt;br /&gt;
    getClassModifier(TestB.class);&lt;br /&gt;
  }&lt;br /&gt;
  private static void getClassModifier(Class clazz) {&lt;br /&gt;
    int modifier = clazz.getModifiers();&lt;br /&gt;
    if (Modifier.isFinal(modifier)) {&lt;br /&gt;
      System.out.println(clazz.getName() + &amp;quot; class modifier is final&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  protected static final class TestA {&lt;br /&gt;
  }&lt;br /&gt;
  private abstract class TestB {&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Return true if the integer argument includes the private modifier, false otherwise. ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.lang.reflect.Modifier;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] args) throws Exception {&lt;br /&gt;
    getClassModifier(String.class);&lt;br /&gt;
    getClassModifier(TestA.class);&lt;br /&gt;
    getClassModifier(TestB.class);&lt;br /&gt;
  }&lt;br /&gt;
  private static void getClassModifier(Class clazz) {&lt;br /&gt;
    int modifier = clazz.getModifiers();&lt;br /&gt;
&lt;br /&gt;
    if (Modifier.isPrivate(modifier)) {&lt;br /&gt;
      System.out.println(clazz.getName() + &amp;quot; class modifier is private&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  protected static final class TestA {&lt;br /&gt;
  }&lt;br /&gt;
  private abstract class TestB {&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Return true if the integer argument includes the protected modifier,false otherwise. ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.lang.reflect.Modifier;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] args) throws Exception {&lt;br /&gt;
    getClassModifier(String.class);&lt;br /&gt;
    getClassModifier(TestA.class);&lt;br /&gt;
    getClassModifier(TestB.class);&lt;br /&gt;
  }&lt;br /&gt;
  private static void getClassModifier(Class clazz) {&lt;br /&gt;
    int modifier = clazz.getModifiers();&lt;br /&gt;
    if (Modifier.isProtected(modifier)) {&lt;br /&gt;
      System.out.println(clazz.getName() + &amp;quot; class modifier is protected&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  protected static final class TestA {&lt;br /&gt;
  }&lt;br /&gt;
  private abstract class TestB {&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Return true if the integer argument includes the public modifier, false otherwise ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.lang.reflect.Modifier;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] args) throws Exception {&lt;br /&gt;
    getClassModifier(String.class);&lt;br /&gt;
    getClassModifier(TestA.class);&lt;br /&gt;
    getClassModifier(TestB.class);&lt;br /&gt;
  }&lt;br /&gt;
  private static void getClassModifier(Class clazz) {&lt;br /&gt;
    int modifier = clazz.getModifiers();&lt;br /&gt;
    if (Modifier.isPublic(modifier)) {&lt;br /&gt;
      System.out.println(clazz.getName() + &amp;quot; class modifier is public&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  protected static final class TestA {&lt;br /&gt;
  }&lt;br /&gt;
  private abstract class TestB {&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Return true if the integer argument includes the static modifier, false otherwise. ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.lang.reflect.Modifier;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] args) throws Exception {&lt;br /&gt;
    getClassModifier(String.class);&lt;br /&gt;
    getClassModifier(TestA.class);&lt;br /&gt;
    getClassModifier(TestB.class);&lt;br /&gt;
  }&lt;br /&gt;
  private static void getClassModifier(Class clazz) {&lt;br /&gt;
    int modifier = clazz.getModifiers();&lt;br /&gt;
    if (Modifier.isStatic(modifier)) {&lt;br /&gt;
      System.out.println(clazz.getName() + &amp;quot; class modifier is static&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  protected static final class TestA {&lt;br /&gt;
  }&lt;br /&gt;
  private abstract class TestB {&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Set Accessibility ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
// $Id: ReflectionHelper.java 16271 2009-04-07 20:20:12Z hardy.ferentschik $&lt;br /&gt;
/*&lt;br /&gt;
* JBoss, Home of Professional Open Source&lt;br /&gt;
* Copyright 2008, Red Hat Middleware LLC, and individual contributors&lt;br /&gt;
* by the @authors tag. See the copyright.txt in the distribution for a&lt;br /&gt;
* full listing of individual contributors.&lt;br /&gt;
*&lt;br /&gt;
* Licensed under the Apache License, Version 2.0 (the &amp;quot;License&amp;quot;);&lt;br /&gt;
* you may not use this file except in compliance with the License.&lt;br /&gt;
* You may obtain a copy of the License at&lt;br /&gt;
* http://www.apache.org/licenses/LICENSE-2.0&lt;br /&gt;
* Unless required by applicable law or agreed to in writing, software&lt;br /&gt;
* distributed under the License is distributed on an &amp;quot;AS IS&amp;quot; BASIS,  &lt;br /&gt;
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.&lt;br /&gt;
* See the License for the specific language governing permissions and&lt;br /&gt;
* limitations under the License.&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
import java.beans.Introspector;&lt;br /&gt;
import java.lang.annotation.Annotation;&lt;br /&gt;
import java.lang.reflect.AccessibleObject;&lt;br /&gt;
import java.lang.reflect.Field;&lt;br /&gt;
import java.lang.reflect.InvocationTargetException;&lt;br /&gt;
import java.lang.reflect.Member;&lt;br /&gt;
import java.lang.reflect.Method;&lt;br /&gt;
import java.lang.reflect.Modifier;&lt;br /&gt;
import java.lang.reflect.ParameterizedType;&lt;br /&gt;
import java.lang.reflect.Type;&lt;br /&gt;
import java.lang.reflect.WildcardType;&lt;br /&gt;
import java.util.ArrayList;&lt;br /&gt;
import java.util.Arrays;&lt;br /&gt;
import java.util.Iterator;&lt;br /&gt;
import java.util.List;&lt;br /&gt;
import java.util.Map;&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * Some reflection utility methods.&lt;br /&gt;
 *&lt;br /&gt;
 * @author Hardy Ferentschik&lt;br /&gt;
 */&lt;br /&gt;
public class ReflectionHelper {&lt;br /&gt;
  public static void setAccessibility(Member member) {&lt;br /&gt;
    if ( !Modifier.isPublic( member.getModifiers() ) ) {&lt;br /&gt;
      //Sun&amp;quot;s ease of use, sigh...&lt;br /&gt;
      ( ( AccessibleObject ) member ).setAccessible( true );&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  whether given field is a &amp;quot;public static final&amp;quot; constant ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
 * Copyright 2002-2008 the original author or authors.&lt;br /&gt;
 *&lt;br /&gt;
 * Licensed under the Apache License, Version 2.0 (the &amp;quot;License&amp;quot;);&lt;br /&gt;
 * you may not use this file except in compliance with the License.&lt;br /&gt;
 * You may obtain a copy of the License at&lt;br /&gt;
 *&lt;br /&gt;
 *      http://www.apache.org/licenses/LICENSE-2.0&lt;br /&gt;
 *&lt;br /&gt;
 * Unless required by applicable law or agreed to in writing, software&lt;br /&gt;
 * distributed under the License is distributed on an &amp;quot;AS IS&amp;quot; BASIS,&lt;br /&gt;
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.&lt;br /&gt;
 * See the License for the specific language governing permissions and&lt;br /&gt;
 * limitations under the License.&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
import java.lang.reflect.Field;&lt;br /&gt;
import java.lang.reflect.InvocationTargetException;&lt;br /&gt;
import java.lang.reflect.Method;&lt;br /&gt;
import java.lang.reflect.Modifier;&lt;br /&gt;
import java.sql.SQLException;&lt;br /&gt;
import java.util.Arrays;&lt;br /&gt;
import java.util.LinkedList;&lt;br /&gt;
import java.util.List;&lt;br /&gt;
/**&lt;br /&gt;
 * Simple utility class for working with the reflection API and handling&lt;br /&gt;
 * reflection exceptions.&lt;br /&gt;
 *&lt;br /&gt;
 * Only intended for internal use.&lt;br /&gt;
 *&lt;br /&gt;
 * @author Juergen Hoeller&lt;br /&gt;
 * @author Rob Harrop&lt;br /&gt;
 * @author Rod Johnson&lt;br /&gt;
 * @author Costin Leau&lt;br /&gt;
 * @since 1.2.2&lt;br /&gt;
 */&lt;br /&gt;
public abstract class ReflectionUtils {&lt;br /&gt;
  /**&lt;br /&gt;
   * Determine whether the given field is a &amp;quot;public static final&amp;quot; constant.&lt;br /&gt;
   * @param field the field to check&lt;br /&gt;
   */&lt;br /&gt;
  public static boolean isPublicStaticFinal(Field field) {&lt;br /&gt;
    int modifiers = field.getModifiers();&lt;br /&gt;
    return (Modifier.isPublic(modifiers) &amp;amp;&amp;amp; Modifier.isStatic(modifiers) &amp;amp;&amp;amp; Modifier.isFinal(modifiers));&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>