Class: JavaClass::ClassFile::AccessFlags

Inherits:
Object
  • Object
show all
Includes:
AccessFlagsConstants
Defined in:
lib/javaclass/classfile/access_flags.rb

Overview

The access flags of a class or interface.

Author

Peter Kofler

Constant Summary

Constants included from AccessFlagsConstants

JavaClass::ClassFile::AccessFlagsConstants::ACC_ABSTRACT, JavaClass::ClassFile::AccessFlagsConstants::ACC_ANNOTATION, JavaClass::ClassFile::AccessFlagsConstants::ACC_ENUM, JavaClass::ClassFile::AccessFlagsConstants::ACC_FINAL, JavaClass::ClassFile::AccessFlagsConstants::ACC_INTERFACE, JavaClass::ClassFile::AccessFlagsConstants::ACC_OTHER, JavaClass::ClassFile::AccessFlagsConstants::ACC_PUBLIC, JavaClass::ClassFile::AccessFlagsConstants::ACC_SUPER, JavaClass::ClassFile::AccessFlagsConstants::ACC_SYNTHETIC

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(data, pos) ⇒ AccessFlags

Returns a new instance of AccessFlags.



15
16
17
18
19
# File 'lib/javaclass/classfile/access_flags.rb', line 15

def initialize(data, pos)
  @flags = data.u2(pos)
  correct_flags
  assert_flags
end

Instance Attribute Details

#flagsObject (readonly)

Returns the value of attribute flags.



13
14
15
# File 'lib/javaclass/classfile/access_flags.rb', line 13

def flags
  @flags
end

Instance Method Details

#abstract?Boolean

Returns:

  • (Boolean)


48
49
50
# File 'lib/javaclass/classfile/access_flags.rb', line 48

def abstract?
  (@flags & ACC_ABSTRACT) != 0
end

#annotation?Boolean

Returns:

  • (Boolean)


60
61
62
# File 'lib/javaclass/classfile/access_flags.rb', line 60

def annotation?
  (@flags & ACC_ANNOTATION) != 0
end

#enum?Boolean

Returns:

  • (Boolean)


56
57
58
# File 'lib/javaclass/classfile/access_flags.rb', line 56

def enum?
  (@flags & ACC_ENUM) != 0
end

#final?Boolean

Returns:

  • (Boolean)


44
45
46
# File 'lib/javaclass/classfile/access_flags.rb', line 44

def final?
  (@flags & ACC_FINAL) != 0
end

#flags_hexObject

Return the hex word of the flag.



69
70
71
# File 'lib/javaclass/classfile/access_flags.rb', line 69

def flags_hex
  format '%4.4X', @flags
end

#interface?Boolean

Returns:

  • (Boolean)


52
53
54
# File 'lib/javaclass/classfile/access_flags.rb', line 52

def interface?
  (@flags & ACC_INTERFACE) != 0
end

#public?Boolean Also known as: accessible?

Return true if the class is public.

Returns:

  • (Boolean)


39
40
41
# File 'lib/javaclass/classfile/access_flags.rb', line 39

def public?
  (@flags & ACC_PUBLIC) != 0
end