Class: R2CORBA::CORBA::Portable::Union

Inherits:
Object
  • Object
show all
Defined in:
lib/corba/common/Union.rb

Instance Method Summary collapse

Constructor Details

#initializeUnion

Returns a new instance of Union.



19
20
21
22
# File 'lib/corba/common/Union.rb', line 19

def initialize
  @discriminator = nil
  @value = nil
end

Instance Method Details

#_discObject



30
31
32
# File 'lib/corba/common/Union.rb', line 30

def _disc
  @discriminator
end

#_disc=(val) ⇒ Object

Raises:

  • (::CORBA::BAD_PARAM)


33
34
35
36
37
38
39
40
41
42
# File 'lib/corba/common/Union.rb', line 33

def _disc=(val)
  m_cur = self.class._tc.label_member(@discriminator) unless @discriminator.nil?
  m_new = self.class._tc.label_member(val)
  raise ::CORBA::BAD_PARAM.new(
    "discriminator value (#{val.to_s}) outside current member for union #{self.class._tc.name}",
    1, ::CORBA::COMPLETED_NO) unless @discriminator.nil? || m_cur == m_new
  disc_ = @discriminator
  @discriminator = val
  disc_
end

#_is_at_default?Boolean

Returns:

  • (Boolean)


23
24
25
# File 'lib/corba/common/Union.rb', line 23

def _is_at_default?
  @discriminator == :default
end

#_valueObject



43
44
45
# File 'lib/corba/common/Union.rb', line 43

def _value
  @value
end

#_value_tcObject



26
27
28
29
# File 'lib/corba/common/Union.rb', line 26

def _value_tc
  ix = self.class._tc.label_index(@discriminator)
  self.class._tc.member_type(ix)
end