Class: R2CORBA::CORBA::TypeCode::Recursive

Inherits:
R2CORBA::CORBA::TypeCode show all
Defined in:
lib/corba/cbase/Typecode.rb,
lib/corba/jbase/Typecode.rb,
lib/corba/common/Typecode.rb

Constant Summary

Constants inherited from R2CORBA::CORBA::TypeCode

LongLongRange, LongRange, OctetRange, ShortRange, ULongLongRange, ULongRange, UShortRange

Instance Attribute Summary

Attributes inherited from R2CORBA::CORBA::TypeCode

#tc_

Instance Method Summary collapse

Methods inherited from R2CORBA::CORBA::TypeCode

_tc, _wrap_native, #concrete_base_type, #content_type, #default_index, #discriminator_type, #equal?, #equivalent?, #fixed_digits, #fixed_scale, from_native, #get_compact_typecode, get_primitive_tc, #id, #kind, #length, #member_count, #member_label, #member_name, #member_type, #member_visibility, #name, native_kind, register_id_type, #type_modifier, typecode_for_id, typecodes_for_name

Constructor Details

#initialize(id) ⇒ Recursive

Returns a new instance of Recursive.



33
34
35
36
37
38
39
# File 'lib/corba/cbase/Typecode.rb', line 33

def initialize(id)
  begin
    @tc_ = CORBA::Native::TypeCode.create_recursive_tc(id)
  rescue ::NativeException
    CORBA::Exception.native2r($!)
  end
end

Instance Method Details

#get_typeObject



414
415
416
417
# File 'lib/corba/common/Typecode.rb', line 414

def get_type
  @recursive_tc ||= TypeCode.typecode_for_id(self.id)
  if @recursive_tc.nil? then nil; else @recursive_tc.get_type; end
end

#is_recursive_tc?Boolean

Returns:

  • (Boolean)


410
411
412
# File 'lib/corba/common/Typecode.rb', line 410

def is_recursive_tc?
  true
end

#needs_conversion(val) ⇒ Object



423
424
425
# File 'lib/corba/common/Typecode.rb', line 423

def needs_conversion(val)
  recursed_tc.needs_conversion(val)
end

#recursed_tcObject



401
402
403
404
# File 'lib/corba/common/Typecode.rb', line 401

def recursed_tc
  @recursive_tc ||= TypeCode.typecode_for_id(self.id)
  @recursive_tc || ::CORBA::TypeCode.new(TK_NULL)
end

#resolved_tcObject



406
407
408
# File 'lib/corba/common/Typecode.rb', line 406

def resolved_tc
  recursed_tc.resolved_tc
end

#validate(val) ⇒ Object



419
420
421
# File 'lib/corba/common/Typecode.rb', line 419

def validate(val)
  recursed_tc.validate(val)
end