org.apache.cayenne.util.Util.isAccessible()方法的使用及代码示例

x33g5p2x  于2022-02-01 转载在 其他  
字(3.1k)|赞(0)|评价(0)|浏览(124)

本文整理了Java中org.apache.cayenne.util.Util.isAccessible()方法的一些代码示例,展示了Util.isAccessible()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Util.isAccessible()方法的具体详情如下:
包路径:org.apache.cayenne.util.Util
类名称:Util
方法名:isAccessible

Util.isAccessible介绍

[英]Returns true if a Member is accessible via reflection under normal Java access controls.
[中]如果在正常Java访问控制下可以通过反射访问成员,则返回true。

代码示例

代码示例来源:origin: org.apache.cayenne/cayenne-server

private boolean verifyMethod(Method method, Class<?> entityType) {
  // must be non-static, void, with a single arg assignable to entity type
  // JPA spec also requires it to be non-final, but we don't care
  int modifiers = method.getModifiers();
  Class<?>[] parameters = method.getParameterTypes();
  if (!Modifier.isStatic(modifiers)
      && Void.TYPE.isAssignableFrom(method.getReturnType())
      && parameters.length == 1
      && parameters[0].isAssignableFrom(entityType)) {
    if (!Util.isAccessible(method)) {
      method.setAccessible(true);
    }
    return true;
  }
  return false;
}

代码示例来源:origin: org.apache.cayenne/cayenne-server

static AbstractSerializerFactory loadFactory(
    String factoryName,
    EntityResolver resolver) throws Exception {
  ClassLoader loader = Thread.currentThread().getContextClassLoader();
  Class factoryClass = Class.forName(factoryName, true, loader);
  if (!AbstractSerializerFactory.class.isAssignableFrom(factoryClass)) {
    throw new IllegalArgumentException(factoryClass
        + " is not a AbstractSerializerFactory");
  }
  Constructor c = factoryClass.getDeclaredConstructor();
  if (!Util.isAccessible(c)) {
    c.setAccessible(true);
  }
  AbstractSerializerFactory object = (AbstractSerializerFactory) c.newInstance();
  if (resolver != null) {
    try {
      Method setter = factoryClass.getDeclaredMethod(
          "setEntityResolver",
          EntityResolver.class);
      if (!Util.isAccessible(setter)) {
        setter.setAccessible(true);
      }
      setter.invoke(object, resolver);
    }
    catch (Exception e) {
      // ignore injection exception
    }
  }
  return object;
}

代码示例来源:origin: org.apache.cayenne/cayenne-server

private Method findMethod(Class<?> objectClass, String methodName)
      throws IllegalArgumentException {
    Method[] methods = objectClass.getDeclaredMethods();
    for (Method method : methods) {
      if (methodName.equals(method.getName())) {

        // must be non-static, void, with no args
        // JPA spec also requires it to be non-final, but we don't care
        int modifiers = method.getModifiers();
        if (!Modifier.isStatic(modifiers)
            && Void.TYPE.isAssignableFrom(method.getReturnType())
            && method.getParameterTypes().length == 0) {

          if (!Util.isAccessible(method)) {
            method.setAccessible(true);
          }

          return method;
        }
      }
    }

    throw new IllegalArgumentException("Class "
        + objectClass.getName()
        + " has no valid callback method '"
        + methodName
        + "'");
  }
}

代码示例来源:origin: org.apache.cayenne/cayenne-nodeps

if (!Util.isAccessible(c)) {
  c.setAccessible(true);
        });
    if (!Util.isAccessible(setter)) {
      setter.setAccessible(true);

代码示例来源:origin: org.apache.cayenne/cayenne-nodeps

if (!Util.isAccessible(_method)) {
  _method.setAccessible(true);

代码示例来源:origin: org.apache.cayenne/cayenne-server

if (!Util.isAccessible(_method)) {
  _method.setAccessible(true);

代码示例来源:origin: org.apache.cayenne/cayenne-nodeps

if (!Util.isAccessible(field)) {
  field.setAccessible(true);

代码示例来源:origin: org.apache.cayenne/cayenne-server

if (!Util.isAccessible(field)) {
  field.setAccessible(true);

相关文章