Class: SOAP::Mapping::StringFactory_

Class | SOAP::Mapping::StringFactory_
In: | soap/mapping/factory.rb
Parent: | Factory

### Methods

new obj2soap soap2obj

### Public Class methods

new(allow_original_mapping = false)

[Source]

    # File soap/mapping/factory.rb, line 80
      def initialize(allow_original_mapping = false)
        super()
        @allow_original_mapping = allow_original_mapping
      end

### Public Instance methods

obj2soap(soap_class, obj, info, map)

[Source]

    # File soap/mapping/factory.rb, line 85
      def obj2soap(soap_class, obj, info, map)
        if !@allow_original_mapping and !obj.instance_variables.empty?
          return nil
        end
        begin
          unless XSD::Charset.is_ces(obj, Thread.current[:SOAPExternalCES])
            return nil
          end
          encoded = XSD::Charset.encoding_conv(obj,
            Thread.current[:SOAPExternalCES], XSD::Charset.encoding)
          soap_obj = soap_class.new(encoded)
        rescue XSD::ValueSpaceError
          return nil
        end
        mark_marshalled_obj(obj, soap_obj)
        soap_obj
      end

soap2obj(obj_class, node, info, map)

[Source]

    # File soap/mapping/factory.rb, line 103
      def soap2obj(obj_class, node, info, map)
        obj = Mapping.create_empty_object(obj_class)
        decoded = XSD::Charset.encoding_conv(node.data, XSD::Charset.encoding,
          Thread.current[:SOAPExternalCES])
        obj.replace(decoded)
        mark_unmarshalled_obj(node, obj)
        return true, obj
      end

[Validate]