class JavaClass::ClassFile::ClassMagic

The CAFEBABE magic of a class file. This just checks if CAFEBABE is here.

Author

Peter Kofler

Constants

CAFE_BABE

Public Class Methods

new(data, start=0) click to toggle source

Check the class magic in the data beginning at position start (which is usually 0).

# File lib/javaclass/classfile/class_magic.rb, line 13
def initialize(data, start=0)
  @bytes = data[start..start+3]
end

Public Instance Methods

bytes() click to toggle source

Return the value of the magic in this class.

# File lib/javaclass/classfile/class_magic.rb, line 23
def bytes
  @bytes.dup
end
check(msg='invalid java class magic') click to toggle source

Check if this magic is valid and raise an ClassFormatError if not with an optional msg .

# File lib/javaclass/classfile/class_magic.rb, line 28
def check(msg='invalid java class magic')
  unless valid?
    raise(ClassFormatError, msg)
  end
end
valid?() click to toggle source

Return true if the data was valid, i.e. if the class started with CAFEBABE.

# File lib/javaclass/classfile/class_magic.rb, line 18
def valid?
  @bytes.same_bytes_as?(CAFE_BABE)
end