Class: JavaClass::FieldAccessFlag

Inherits:
AccessFlag show all
Defined in:
lib/javaclass/accessflag.rb

Overview

フィールドのアクセスフラグ

Constant Summary collapse

ACC_PUBLIC =

Declared public; may be accessed from outside its package.

0x0001
ACC_PRIVATE =

Declared private; usable only within the defining class.

0x0002
ACC_PROTECTED =

Declared protected; may be accessed within subclasses.

0x0004
ACC_STATIC =

Declared static.

0x0008
ACC_FINAL =

Declared final; no further assignment after initialization.

0x0010
ACC_VOLATILE =

Declared volatile; cannot be cached.

0x0040
ACC_TRANSIENT =

Declared transient; not written or read by a persistent object manager.

0x0080
ACC_SYNTHETIC =

Declared synthetic; Not present in the source code.

0x1000
ACC_ENUM =

Declared as an element of an enum.

0x4000

Instance Method Summary collapse

Methods inherited from AccessFlag

#initialize, #off, #on, #on?, #to_bytes

Methods included from Base

#==, #===, #dump, #eql?, #hash, #to_byte

Constructor Details

This class inherits a constructor from JavaClass::AccessFlag

Instance Method Details

#accessorObject

アクセサを文字列で取得する。

戻り値::アクセサを示す文字列



134
135
136
137
138
139
# File 'lib/javaclass/accessflag.rb', line 134

def accessor
  return "public"     if on? ACC_PUBLIC
  return "protected"  if on? ACC_PROTECTED
  return "private"    if on? ACC_PRIVATE
  return ""
end

#source_modifiersObject

ソースコードに登場するモディファイアを配列で取得する。

戻り値::ソースコードに登場するモディファイアの配列



120
121
122
123
124
125
126
127
# File 'lib/javaclass/accessflag.rb', line 120

def source_modifiers
  modifiers = []
  modifiers << "static"    if on? ACC_STATIC
  modifiers << "final"     if on? ACC_FINAL
  modifiers << "volatile"  if on? ACC_VOLATILE
  modifiers << "transient" if on? ACC_TRANSIENT
  return modifiers
end

#to_sObject



141
142
143
144
# File 'lib/javaclass/accessflag.rb', line 141

def to_s
  list = accessor.length > 0 ? [accessor] : []
  (list + source_modifiers).join(" ")
end