Class: SOAP::Mapping::Registry

Class | SOAP::Mapping::Registry
In: | soap/mapping/registry.rb
Parent: | Object

### Methods

add find_mapped_obj_class find_mapped_soap_class new obj2soap set soap2obj

### Classes and Modules

Class SOAP::Mapping::Registry::Map

### Constants

StringFactory | = | StringFactory_.new
BasetypeFactory | = | BasetypeFactory_.new
DateTimeFactory | = | DateTimeFactory_.new
ArrayFactory | = | ArrayFactory_.new
Base64Factory | = | Base64Factory_.new
URIFactory | = | URIFactory_.new
TypedArrayFactory | = | TypedArrayFactory_.new
TypedStructFactory | = | TypedStructFactory_.new
HashFactory | = | HashFactory_.new
SOAPBaseMap | = | [ [::NilClass, ::SOAP::SOAPNil, BasetypeFactory], [::TrueClass, ::SOAP::SOAPBoolean, BasetypeFactory], [::FalseClass, ::SOAP::SOAPBoolean, BasetypeFactory], [::String, ::SOAP::SOAPString, StringFactory], [::DateTime, ::SOAP::SOAPDateTime, DateTimeFactory], [::Date, ::SOAP::SOAPDate, DateTimeFactory], [::Time, ::SOAP::SOAPDateTime, DateTimeFactory], [::Time, ::SOAP::SOAPTime, DateTimeFactory], [::Float, ::SOAP::SOAPDouble, BasetypeFactory, {:derived_class => true}], [::Float, ::SOAP::SOAPFloat, BasetypeFactory, {:derived_class => true}], [::Integer, ::SOAP::SOAPInt, BasetypeFactory, {:derived_class => true}], [::Integer, ::SOAP::SOAPLong, BasetypeFactory, {:derived_class => true}], [::Integer, ::SOAP::SOAPInteger, BasetypeFactory, {:derived_class => true}], [::Integer, ::SOAP::SOAPShort, BasetypeFactory, {:derived_class => true}], [::Integer, ::SOAP::SOAPByte, BasetypeFactory, {:derived_class => true}], [::Integer, ::SOAP::SOAPNonPositiveInteger, BasetypeFactory, {:derived_class => true}], [::Integer, ::SOAP::SOAPNegativeInteger, BasetypeFactory, {:derived_class => true}], [::Integer, ::SOAP::SOAPNonNegativeInteger, BasetypeFactory, {:derived_class => true}], [::Integer, ::SOAP::SOAPPositiveInteger, BasetypeFactory, {:derived_class => true}], [::Integer, ::SOAP::SOAPUnsignedLong, BasetypeFactory, {:derived_class => true}], [::Integer, ::SOAP::SOAPUnsignedInt, BasetypeFactory, {:derived_class => true}], [::Integer, ::SOAP::SOAPUnsignedShort, BasetypeFactory, {:derived_class => true}], [::Integer, ::SOAP::SOAPUnsignedByte, BasetypeFactory, {:derived_class => true}], [::URI::Generic, ::SOAP::SOAPAnyURI, URIFactory, {:derived_class => true}], [::String, ::SOAP::SOAPBase64, Base64Factory], [::String, ::SOAP::SOAPHexBinary, Base64Factory], [::String, ::SOAP::SOAPDecimal, BasetypeFactory], [::String, ::SOAP::SOAPDuration, BasetypeFactory], [::String, ::SOAP::SOAPGYearMonth, BasetypeFactory], [::String, ::SOAP::SOAPGYear, BasetypeFactory], [::String, ::SOAP::SOAPGMonthDay, BasetypeFactory], [::String, ::SOAP::SOAPGDay, BasetypeFactory], [::String, ::SOAP::SOAPGMonth, BasetypeFactory], [::String, ::SOAP::SOAPQName, BasetypeFactory], [::Hash, ::SOAP::SOAPArray, HashFactory], [::Hash, ::SOAP::SOAPStruct, HashFactory], [::Array, ::SOAP::SOAPArray, ArrayFactory, {:derived_class => true}], [::SOAP::Mapping::SOAPException, ::SOAP::SOAPStruct, TypedStructFactory, {:type => XSD::QName.new(RubyCustomTypeNamespace, "SOAPException")}], ]
RubyOriginalMap | = | [ [::NilClass, ::SOAP::SOAPNil, BasetypeFactory], [::TrueClass, ::SOAP::SOAPBoolean, BasetypeFactory], [::FalseClass, ::SOAP::SOAPBoolean, BasetypeFactory], [::String, ::SOAP::SOAPString, StringFactory], [::DateTime, ::SOAP::SOAPDateTime, DateTimeFactory], [::Date, ::SOAP::SOAPDate, DateTimeFactory], [::Time, ::SOAP::SOAPDateTime, DateTimeFactory], [::Time, ::SOAP::SOAPTime, DateTimeFactory], [::Float, ::SOAP::SOAPDouble, BasetypeFactory, {:derived_class => true}], [::Float, ::SOAP::SOAPFloat, BasetypeFactory, {:derived_class => true}], [::Integer, ::SOAP::SOAPInt, BasetypeFactory, {:derived_class => true}], [::Integer, ::SOAP::SOAPLong, BasetypeFactory, {:derived_class => true}], [::Integer, ::SOAP::SOAPInteger, BasetypeFactory, {:derived_class => true}], [::Integer, ::SOAP::SOAPShort, BasetypeFactory, {:derived_class => true}], [::Integer, ::SOAP::SOAPByte, BasetypeFactory, {:derived_class => true}], [::Integer, ::SOAP::SOAPNonPositiveInteger, BasetypeFactory, {:derived_class => true}], [::Integer, ::SOAP::SOAPNegativeInteger, BasetypeFactory, {:derived_class => true}], [::Integer, ::SOAP::SOAPNonNegativeInteger, BasetypeFactory, {:derived_class => true}], [::Integer, ::SOAP::SOAPPositiveInteger, BasetypeFactory, {:derived_class => true}], [::Integer, ::SOAP::SOAPUnsignedLong, BasetypeFactory, {:derived_class => true}], [::Integer, ::SOAP::SOAPUnsignedInt, BasetypeFactory, {:derived_class => true}], [::Integer, ::SOAP::SOAPUnsignedShort, BasetypeFactory, {:derived_class => true}], [::Integer, ::SOAP::SOAPUnsignedByte, BasetypeFactory, {:derived_class => true}], [::URI::Generic, ::SOAP::SOAPAnyURI, URIFactory, {:derived_class => true}], [::String, ::SOAP::SOAPBase64, Base64Factory], [::String, ::SOAP::SOAPHexBinary, Base64Factory], [::String, ::SOAP::SOAPDecimal, BasetypeFactory], [::String, ::SOAP::SOAPDuration, BasetypeFactory], [::String, ::SOAP::SOAPGYearMonth, BasetypeFactory], [::String, ::SOAP::SOAPGYear, BasetypeFactory], [::String, ::SOAP::SOAPGMonthDay, BasetypeFactory], [::String, ::SOAP::SOAPGDay, BasetypeFactory], [::String, ::SOAP::SOAPGMonth, BasetypeFactory], [::String, ::SOAP::SOAPQName, BasetypeFactory], [::Hash, ::SOAP::SOAPArray, HashFactory], [::Hash, ::SOAP::SOAPStruct, HashFactory], # Does not allow Array's subclass here. [::Array, ::SOAP::SOAPArray, ArrayFactory], [::SOAP::Mapping::SOAPException, ::SOAP::SOAPStruct, TypedStructFactory, {:type => XSD::QName.new(RubyCustomTypeNamespace, "SOAPException")}], ]

### Attributes

default_factory | [RW] |
excn_handler_obj2soap | [RW] |
excn_handler_soap2obj | [RW] |

### Public Class methods

new(config = {})

[Source]

    # File soap/mapping/registry.rb, line 393
      def initialize(config = {})
        @config = config
        @map = Map.new(self)
        if @config[:allow_original_mapping]
          @allow_original_mapping = true
          @map.init(RubyOriginalMap)
        else
          @allow_original_mapping = false
          @map.init(SOAPBaseMap)
        end
        @allow_untyped_struct = @config.key?(:allow_untyped_struct) ?
          @config[:allow_untyped_struct] : true
        @rubytype_factory = RubytypeFactory.new(
          :allow_untyped_struct => @allow_untyped_struct,
          :allow_original_mapping => @allow_original_mapping
        )
        @default_factory = @rubytype_factory
        @excn_handler_obj2soap = nil
        @excn_handler_soap2obj = nil
      end

### Public Instance methods

add(obj_class, soap_class, factory, info = nil)

[Source]

    # File soap/mapping/registry.rb, line 414
      def add(obj_class, soap_class, factory, info = nil)
        @map.add(obj_class, soap_class, factory, info)
      end

find_mapped_obj_class(soap_class)

[Source]

    # File soap/mapping/registry.rb, line 441
      def find_mapped_obj_class(soap_class)
        @map.find_mapped_obj_class(soap_class)
      end

find_mapped_soap_class(obj_class)

[Source]

    # File soap/mapping/registry.rb, line 437
      def find_mapped_soap_class(obj_class)
        @map.find_mapped_soap_class(obj_class)
      end

obj2soap(obj, type_qname = nil)

general Registry ignores type_qname

[Source]

    # File soap/mapping/registry.rb, line 420
      def obj2soap(obj, type_qname = nil)
        soap = _obj2soap(obj)
        if @allow_original_mapping
          addextend2soap(soap, obj)
        end
        soap
      end

set(obj_class, soap_class, factory, info = nil)

Alias for add

soap2obj(node, klass = nil)

[Source]

    # File soap/mapping/registry.rb, line 428
      def soap2obj(node, klass = nil)
        obj = _soap2obj(node, klass)
        if @allow_original_mapping
          addextend2obj(obj, node.extraattr[RubyExtendName])
          addiv2obj(obj, node.extraattr[RubyIVarName])
        end
        obj
      end

[Validate]