Class: JavaClass::ClassFile::ClassAccessFlags

Inherits:
AccessFlags show all
Defined in:
lib/javaclass/classfile/class_access_flags.rb

Overview

The access flags of a class or interface.

Author

Peter Kofler

Constant Summary collapse

ACC_OTHER =

Bitmask for unknown/not supported flags on classes.

0xffff ^ ACC_PUBLIC ^ ACC_STATIC ^ ACC_FINAL ^ ACC_SUPER ^ ACC_INTERFACE ^ ACC_ABSTRACT ^ ACC_SYNTHETIC ^ ACC_ENUM ^ ACC_ANNOTATION ^ ACC_MODULE

Constants included from AccessFlagsConstants

AccessFlagsConstants::ACC_ABSTRACT, AccessFlagsConstants::ACC_ACC_BRIDGE, AccessFlagsConstants::ACC_ANNOTATION, AccessFlagsConstants::ACC_ENUM, AccessFlagsConstants::ACC_FINAL, AccessFlagsConstants::ACC_IMPLICIT, AccessFlagsConstants::ACC_INTERFACE, AccessFlagsConstants::ACC_MANDATED, AccessFlagsConstants::ACC_MODULE, AccessFlagsConstants::ACC_NATIVE, AccessFlagsConstants::ACC_PRIVATE, AccessFlagsConstants::ACC_PROTECTED, AccessFlagsConstants::ACC_PUBLIC, AccessFlagsConstants::ACC_STATIC, AccessFlagsConstants::ACC_STRICT, AccessFlagsConstants::ACC_SUPER, AccessFlagsConstants::ACC_SYNCHRONIZED, AccessFlagsConstants::ACC_SYNTHETIC, AccessFlagsConstants::ACC_TRANSIENT, AccessFlagsConstants::ACC_VARARGS, AccessFlagsConstants::ACC_VOLATILE

Instance Attribute Summary

Attributes inherited from AccessFlags

#flags

Instance Method Summary collapse

Methods inherited from AccessFlags

#abstract?, #annotation?, #enum?, #final?, #flags_hex, #interface?, #is?, #module?, #private?, #protected?, #public?, #static?, #synthetic?

Constructor Details

#initialize(flags) ⇒ ClassAccessFlags

Returns a new instance of ClassAccessFlags.



14
15
16
17
# File 'lib/javaclass/classfile/class_access_flags.rb', line 14

def initialize(flags)
  super
  assert_flags
end

Instance Method Details

#abstract_class?Boolean

Is this class a purely abstract class (and not an interface)?

Returns:

  • (Boolean)


25
26
27
# File 'lib/javaclass/classfile/class_access_flags.rb', line 25

def abstract_class?
  abstract? && !interface_class?
end

#interface_class?Boolean

Is this class an interface (and not an annotation)?

Returns:

  • (Boolean)


30
31
32
# File 'lib/javaclass/classfile/class_access_flags.rb', line 30

def interface_class?
  interface? && !annotation?
end