java.lang.reflect.Field.isSamePackage()方法的使用及代码示例

x33g5p2x  于2022-01-17 转载在 其他  
字(6.6k)|赞(0)|评价(0)|浏览(101)

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

Field.isSamePackage介绍

暂无

代码示例

代码示例来源:origin: robovm/robovm

private void checkAccess(Object receiver, boolean setter) throws IllegalAccessException {
  if (!flag) {
    int mod = getModifiers();
    if (setter && (mod & Modifier.FINAL) > 0) {
      throw new IllegalAccessException("Cannot set final field");
    }
    // Check access
    if (!checkAccessibleFast(this)) {
      Class<?> caller = VM.getStackClasses(1, 1)[0];
      if (!checkAccessible(caller, this)) {
        throw new IllegalAccessException(String.format(
            "Attempt to access field %s.%s from class %s", 
            getDeclaringClass().getName(), getName(), caller.getName()));
      }
      
      if ((getModifiers() & Modifier.PROTECTED) > 0) {
        boolean isInstance = caller.isInstance(receiver);
        boolean samePackage = isSamePackage(getDeclaringClass(), caller);
        if (!isInstance && !samePackage) {
          throw new IllegalAccessException(String.format(
              "Attempt to access protected field %s.%s from class %s", 
              getDeclaringClass().getName(), getName(), caller.getName()));
        }
      }
    }
  }
}

代码示例来源:origin: ibinti/bugvm

private void checkAccess(Object receiver, boolean setter) throws IllegalAccessException {
  if (!flag) {
    int mod = getModifiers();
    if (setter && (mod & Modifier.FINAL) > 0) {
      throw new IllegalAccessException("Cannot set final field");
    }
    // Check access
    if (!checkAccessibleFast(this)) {
      Class<?> caller = VM.getStackClasses(1, 1)[0];
      if (!checkAccessible(caller, this)) {
        throw new IllegalAccessException(String.format(
            "Attempt to access field %s.%s from class %s", 
            getDeclaringClass().getName(), getName(), caller.getName()));
      }
      
      if ((getModifiers() & Modifier.PROTECTED) > 0) {
        boolean isInstance = caller.isInstance(receiver);
        boolean samePackage = isSamePackage(getDeclaringClass(), caller);
        if (!isInstance && !samePackage) {
          throw new IllegalAccessException(String.format(
              "Attempt to access protected field %s.%s from class %s", 
              getDeclaringClass().getName(), getName(), caller.getName()));
        }
      }
    }
  }
}

代码示例来源:origin: FlexoVM/flexovm

private void checkAccess(Object receiver, boolean setter) throws IllegalAccessException {
  if (!flag) {
    int mod = getModifiers();
    if (setter && (mod & Modifier.FINAL) > 0) {
      throw new IllegalAccessException("Cannot set final field");
    }
    // Check access
    if (!checkAccessibleFast(this)) {
      Class<?> caller = VM.getStackClasses(1, 1)[0];
      if (!checkAccessible(caller, this)) {
        throw new IllegalAccessException(String.format(
            "Attempt to access field %s.%s from class %s", 
            getDeclaringClass().getName(), getName(), caller.getName()));
      }
      
      if ((getModifiers() & Modifier.PROTECTED) > 0) {
        boolean isInstance = caller.isInstance(receiver);
        boolean samePackage = isSamePackage(getDeclaringClass(), caller);
        if (!isInstance && !samePackage) {
          throw new IllegalAccessException(String.format(
              "Attempt to access protected field %s.%s from class %s", 
              getDeclaringClass().getName(), getName(), caller.getName()));
        }
      }
    }
  }
}

代码示例来源:origin: com.mobidevelop.robovm/robovm-rt

private void checkAccess(Object receiver, boolean setter) throws IllegalAccessException {
  if (!flag) {
    int mod = getModifiers();
    if (setter && (mod & Modifier.FINAL) > 0) {
      throw new IllegalAccessException("Cannot set final field");
    }
    // Check access
    if (!checkAccessibleFast(this)) {
      Class<?> caller = VM.getStackClasses(1, 1)[0];
      if (!checkAccessible(caller, this)) {
        throw new IllegalAccessException(String.format(
            "Attempt to access field %s.%s from class %s", 
            getDeclaringClass().getName(), getName(), caller.getName()));
      }
      
      if ((getModifiers() & Modifier.PROTECTED) > 0) {
        boolean isInstance = caller.isInstance(receiver);
        boolean samePackage = isSamePackage(getDeclaringClass(), caller);
        if (!isInstance && !samePackage) {
          throw new IllegalAccessException(String.format(
              "Attempt to access protected field %s.%s from class %s", 
              getDeclaringClass().getName(), getName(), caller.getName()));
        }
      }
    }
  }
}

代码示例来源:origin: MobiVM/robovm

private void checkAccess(Object receiver, boolean setter) throws IllegalAccessException {
  if (!flag) {
    int mod = getModifiers();
    if (setter && (mod & Modifier.FINAL) > 0) {
      throw new IllegalAccessException("Cannot set final field");
    }
    // Check access
    if (!checkAccessibleFast(this)) {
      Class<?> caller = VM.getStackClasses(1, 1)[0];
      if (!checkAccessible(caller, this)) {
        throw new IllegalAccessException(String.format(
            "Attempt to access field %s.%s from class %s", 
            getDeclaringClass().getName(), getName(), caller.getName()));
      }
      
      if ((getModifiers() & Modifier.PROTECTED) > 0) {
        boolean isInstance = caller.isInstance(receiver);
        boolean samePackage = isSamePackage(getDeclaringClass(), caller);
        if (!isInstance && !samePackage) {
          throw new IllegalAccessException(String.format(
              "Attempt to access protected field %s.%s from class %s", 
              getDeclaringClass().getName(), getName(), caller.getName()));
        }
      }
    }
  }
}

代码示例来源:origin: com.bugvm/bugvm-rt

private void checkAccess(Object receiver, boolean setter) throws IllegalAccessException {
  if (!flag) {
    int mod = getModifiers();
    if (setter && (mod & Modifier.FINAL) > 0) {
      throw new IllegalAccessException("Cannot set final field");
    }
    // Check access
    if (!checkAccessibleFast(this)) {
      Class<?> caller = VM.getStackClasses(1, 1)[0];
      if (!checkAccessible(caller, this)) {
        throw new IllegalAccessException(String.format(
            "Attempt to access field %s.%s from class %s", 
            getDeclaringClass().getName(), getName(), caller.getName()));
      }
      
      if ((getModifiers() & Modifier.PROTECTED) > 0) {
        boolean isInstance = caller.isInstance(receiver);
        boolean samePackage = isSamePackage(getDeclaringClass(), caller);
        if (!isInstance && !samePackage) {
          throw new IllegalAccessException(String.format(
              "Attempt to access protected field %s.%s from class %s", 
              getDeclaringClass().getName(), getName(), caller.getName()));
        }
      }
    }
  }
}

代码示例来源:origin: com.gluonhq/robovm-rt

private void checkAccess(Object receiver, boolean setter) throws IllegalAccessException {
  if (!flag) {
    int mod = getModifiers();
    if (setter && (mod & Modifier.FINAL) > 0) {
      throw new IllegalAccessException("Cannot set final field");
    }
    // Check access
    if (!checkAccessibleFast(this)) {
      Class<?> caller = VM.getStackClasses(1, 1)[0];
      if (!checkAccessible(caller, this)) {
        throw new IllegalAccessException(String.format(
            "Attempt to access field %s.%s from class %s", 
            getDeclaringClass().getName(), getName(), caller.getName()));
      }
      
      if ((getModifiers() & Modifier.PROTECTED) > 0) {
        boolean isInstance = caller.isInstance(receiver);
        boolean samePackage = isSamePackage(getDeclaringClass(), caller);
        if (!isInstance && !samePackage) {
          throw new IllegalAccessException(String.format(
              "Attempt to access protected field %s.%s from class %s", 
              getDeclaringClass().getName(), getName(), caller.getName()));
        }
      }
    }
  }
}

相关文章

微信公众号

最新文章

更多