Class MemberInfoBase

java.lang.Object
org.glassfish.pfl.dynamic.codegen.impl.MemberInfoBase
All Implemented Interfaces:
MemberInfo
Direct Known Subclasses:
FieldInfoImpl, MethodInfoBase

public class MemberInfoBase extends Object implements MemberInfo
  • Field Details

    • myClassInfo

      private ClassInfo myClassInfo
    • modifiers

      private int modifiers
    • name

      private String name
  • Constructor Details

    • MemberInfoBase

      public MemberInfoBase(ClassInfo myClassInfo, int modifiers, String name)
  • Method Details

    • myClassInfo

      public ClassInfo myClassInfo()
      Description copied from interface: MemberInfo
      Return the ClassInfo of the class that contains this member.
      Specified by:
      myClassInfo in interface MemberInfo
    • modifiers

      public int modifiers()
      Description copied from interface: MemberInfo
      Return the modifiers on this member
      Specified by:
      modifiers in interface MemberInfo
    • name

      public String name()
      Description copied from interface: MemberInfo
      Return the name of this member.
      Specified by:
      name in interface MemberInfo
    • isAccessibleInContext

      public boolean isAccessibleInContext(ClassInfo definingClass, ClassInfo accessClass)
      Description copied from interface: MemberInfo
      Returns true iff this member is accessible in the context defined by definingClass (the class containing the reference to the member) and accessClass (the type of the expression used to access this member). This works as follows:
      • If modifiers() contains PUBLIC, the access is permitted.
      • If modifiers() contains PRIVATE, the access is permitted iff myClassInfo().name() is the same as definingClass.name().
      • If modifiers() contains PROTECTED, the access is permitted as follows:
        • If myClassInfo().pkgName() is the same as definingClass.pkgName(), the access is permitted.
        • Otherwise, the access is permitted iff definingClass is a subclass of myClassInfo(), and accessClass is a subclass of definingClass.
      • Otherwise, the access is permitted iff myClassInfo().pkgName is the same as definingClass.pkgName().
      Specified by:
      isAccessibleInContext in interface MemberInfo
      Parameters:
      definingClass - the ClassInfo of the class in which the access occurs.
      accessClass - the ClassInfo of the class used to access the member.
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object