summaryrefslogtreecommitdiff
path: root/cpp/bindings/qpid/ruby/lib/qpid/address.rb
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/bindings/qpid/ruby/lib/qpid/address.rb')
-rw-r--r--cpp/bindings/qpid/ruby/lib/qpid/address.rb187
1 files changed, 0 insertions, 187 deletions
diff --git a/cpp/bindings/qpid/ruby/lib/qpid/address.rb b/cpp/bindings/qpid/ruby/lib/qpid/address.rb
deleted file mode 100644
index 266d8668d6..0000000000
--- a/cpp/bindings/qpid/ruby/lib/qpid/address.rb
+++ /dev/null
@@ -1,187 +0,0 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-#
-
-require 'cqpid'
-
-module Qpid
-
- module Messaging
-
- # Address represents an address to which messages can be sent or from
- # which they can be received.
- #
- # An Address can be described using the following pattern:
- #
- # <address> [ / <subject> ] ; [ { <key> : <value> , ... } ]
- #
- # where *address* is a simple name and *subject* is a subject or subject
- # pattern.
- #
- # The options, enclosed in curly braces, are key:value pairs delimited by
- # a comma. The values can be nested maps also enclosed in curly braces.
- # Or they can be lists of values, where they are contained within square
- # brackets but still comma delimited, such as:
- #
- # [value1,value2,value3]
- #
- # The following are the list of supported options:
- #
- # [:create]
- # Indicates if the address should be created; values are *always*,
- # *never*, *sender* or *reciever*.
- #
- # [:assert]
- # Indicates whether or not to assert any specified node properties;
- # values are *always*, *never*, *sender* or *receiver*.
- #
- # [:delete]
- # Indicates whether or not to delete the addressed node when a sender
- # or receiver is cancelled; values are *always*, *never*, *sender* or
- # *receiver*.
- #
- # [:node]
- # A nested map describing properties for the addressed node. Properties
- # are *type* (*topic* or *queue*), *durable* (a boolean), *x-declare*
- # (a nested map of amqp 0.10-specific options) and *x-bindings*. (nested
- # list which specifies a queue, exchange or a binding key and arguments.
- #
- # [:link]
- # A nested map through which properties of the link can be specified;
- # properties are *durable*, *reliability*, *x-declare*, *x-subscribe*
- # and *x-bindings*.
- #
- # [:mode]
- # (*For receivers only*) indicates whether the receiver should consume
- # or browse messages; values are *consume* (the default) and *browse*.
- #
- class Address
-
- # Creates a new +Address+ object.
- #
- # ==== Options
- #
- # * name - The name for the +Address+.
- # * subject - The subject for the +Address+
- # * :create - See the class documentation.
- # * :assert - See the class documentation.
- # * :delete - See the class documentation.
- # * :node - See the class documentation.
- # * :link - See the class documentation.
- # * :mode - See the class documentation.
- #
- # ==== Examples
- #
- # addr = Qpid::Messaging::Address.new "my-queue"
- # addr = Qpid::Messaging::Address.new "my-queue", "testing", :create => :always
- #
- def initialize(name, subject, options = {}, _type = "", address_impl = nil)
- @address_impl = address_impl || Cqpid::Address.new(name, subject, convert_options(options), _type)
- end
-
- def address_impl # :nodoc:
- @address_impl
- end
-
- # Returns the name for the +Address+.
- #
- # ==== Examples
- #
- # puts "The address name is #{addr.name}."
- #
- def name; @address_impl.getName; end
-
- # Sets the name for the +Address+.
- #
- # ==== Examples
- #
- # addr.name = "my-new-queue"
- #
- def name=(name); @address_impl.setName name; end
-
- # Returns the subject for the +Address+.
- #
- # ==== Examples
- #
- # puts "The subject is #{addr.subject}."
- #
- def subject; @address_impl.getSubject; end
-
- # Sets the subject for the +Address+.
- #
- # ==== Examples
- #
- # addr.subject = "testing"
- #
- def subject=(subject); @address_impl.setSubject(subject); end
-
- # Returns the type for the +Address+.
- #
- # ==== Examples
- #
- # puts "The address is a #{address.address_type}."
- #
- #---
- # We cannot use "type" since that clashes with the Ruby object.type
- # identifier.
- def address_type; @address_impl.getType; end
-
- # Sets the type for the +Address+.
- #
- # The type of the address determines how +Sender+ and +Receiver+ objects
- # are constructed for it. If no type is specified then it will be
- # determined by querying the broker.
- #
- # ===== Options
- #
- # * type - the address type
- #
- def address_type=(type); @address_impl.setType(type); end
-
- # Returns the options.
- def options; @address_impl.getOptions; end
-
- # Sets the options for the address.
- #
- # *NOTE:* See the class documentation for more details on options.
- #
- # ==== Examples
- #
- # addr.options = :create => :always
- #
- def options=(options = {}); @address_impl.setOptions(convert_options(options)); end
-
- def to_s # :nodoc:
- @address_impl.str
- end
-
- private
-
- def convert_options(options)
- result = {}
- options.each_pair {|key, value| result[key.to_s] = value.to_s}
-
- return result
- end
-
- end
-
- end
-
-end
-