Class: Vertx::JsonPointer

Inherits:
Object
  • Object
show all
Defined in:
/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/json_pointer.rb

Overview

Implementation of RFC6901 Json Pointers.

Constant Summary

@@j_api_type =
Object.new

Class Method Summary (collapse)

Instance Method Summary (collapse)

Class Method Details

+ (Boolean) accept?(obj)

Returns:

  • (Boolean)


19
20
21
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/json_pointer.rb', line 19

def @@j_api_type.accept?(obj)
  obj.class == JsonPointer
end

+ (::Vertx::JsonPointer) create

Build an empty JsonPointer

Returns:



167
168
169
170
171
172
173
174
175
176
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/json_pointer.rb', line 167

def self.create
  if !block_given?
    return ::Vertx::Util::Utils.safe_create(Java::IoVertxCoreJsonPointer::JsonPointer.java_method(:create, []).call(),::Vertx::JsonPointer)
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling create()"
  end
end

+ (::Vertx::JsonPointer) from(pointer)

Build a JsonPointer from a json pointer string

Parameters:

  • pointer (String)
    the string representing a pointer

Returns:



194
195
196
197
198
199
200
201
202
203
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/json_pointer.rb', line 194

def self.from(*args)
  if args[0].class == String && !block_given?
    return ::Vertx::Util::Utils.safe_create(Java::IoVertxCoreJsonPointer::JsonPointer.java_method(:from, [Java::java.lang.String.java_class]).call(args[0]),::Vertx::JsonPointer)
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling from(#{args[0]})"
  end
end

+ (Object) j_api_type



28
29
30
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/json_pointer.rb', line 28

def self.j_api_type
  @@j_api_type
end

+ (Object) j_class



31
32
33
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/json_pointer.rb', line 31

def self.j_class
  Java::IoVertxCoreJsonPointer::JsonPointer.java_class
end

+ (Object) unwrap(obj)



25
26
27
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/json_pointer.rb', line 25

def @@j_api_type.unwrap(obj)
  obj.j_del
end

+ (Object) wrap(obj)



22
23
24
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/json_pointer.rb', line 22

def @@j_api_type.wrap(obj)
  JsonPointer.new(obj)
end

Instance Method Details

- (self) append(token) - (self) append(index) - (self) append(tokens) - (self) append(pointer)

Append all tokens of pointer to this pointer
Note: The base URI of this pointer will remain untouched

Overloads:

  • - (self) append(token)

    Parameters:

    • token (String)
      the unescaped reference token
  • - (self) append(index)

    Parameters:

    • index (Fixnum)
  • - (self) append(tokens)

    Parameters:

    • tokens (Array<String>)
      unescaped reference tokens
  • - (self) append(pointer)

    Parameters:

Returns:

  • (self)


275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/json_pointer.rb', line 275

def append(*args)
  if args[0].class == String && !block_given?
    @j_del.java_method(:append, [Java::java.lang.String.java_class]).call(args[0])
    return self
  elsif args[0].class == Fixnum && !block_given?
    @j_del.java_method(:append, [Java::int.java_class]).call(args[0])
    return self
  elsif args[0].class == Array && !block_given?
    @j_del.java_method(:append, [Java::JavaUtil::List.java_class]).call(args[0].map { |element| element })
    return self
  elsif args[0].class.method_defined?(:j_del) && !block_given?
    @j_del.java_method(:append, [Java::IoVertxCoreJsonPointer::JsonPointer.java_class]).call(args[0].j_del)
    return self
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling append(#{args[0]})"
  end
end

- (::Vertx::JsonPointer) copy

Copy a JsonPointer

Returns:



220
221
222
223
224
225
226
227
228
229
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/json_pointer.rb', line 220

def copy
  if !block_given?
    return ::Vertx::Util::Utils.safe_create(@j_del.java_method(:copy, []).call(),::Vertx::JsonPointer)
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling copy()"
  end
end

- (true, false) isLocalPointer

Return true if the pointer is local (URI with only fragment)

Returns:

  • (true, false)


180
181
182
183
184
185
186
187
188
189
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/json_pointer.rb', line 180

def local_pointer?
  if !block_given?
    return @j_del.java_method(:isLocalPointer, []).call()
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling local_pointer?()"
  end
end

- (self) parent

Remove last reference token of this pointer

Returns:

  • (self)


37
38
39
40
41
42
43
44
45
46
47
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/json_pointer.rb', line 37

def parent
  if !block_given?
    @j_del.java_method(:parent, []).call()
    return self
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling parent()"
  end
end

- (true, false) isParent(child)

Return true if this pointer is a parent pointer of child.
For instance "/properties" pointer is parent pointer of "/properties/parent"

Parameters:

Returns:

  • (true, false)


67
68
69
70
71
72
73
74
75
76
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/json_pointer.rb', line 67

def parent?(*args)
  if args[0].class.method_defined?(:j_del) && !block_given?
    return @j_del.java_method(:isParent, [Java::IoVertxCoreJsonPointer::JsonPointer.java_class]).call(args[0].j_del)
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling parent?(#{args[0]})"
  end
end

- (Object) query(objectToQuery, iterator)

Query objectToQuery using the provided Vertx::JsonPointerIterator.
If you need to query Vert.x json data structures, use #query_json
Note: if this pointer is a root pointer, this function returns the provided object

Parameters:

  • objectToQuery (Object)
    the object to query
  • iterator (::Vertx::JsonPointerIterator)
    the json pointer iterator that provides the logic to access to the objectToQuery

Returns:

  • (Object)
    null if pointer points to not existing value, otherwise the requested value


84
85
86
87
88
89
90
91
92
93
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/json_pointer.rb', line 84

def query(*args)
  if ::Vertx::Util::unknown_type.accept?(args[0]) && args[1].class.method_defined?(:j_del) && !block_given?
    return ::Vertx::Util::Utils.from_object(@j_del.java_method(:query, [Java::java.lang.Object.java_class,Java::IoVertxCoreJsonPointer::JsonPointerIterator.java_class]).call(::Vertx::Util::Utils.to_object(args[0]),args[1].j_del))
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling query(#{args[0]},#{args[1]})"
  end
end

- (Object) queryJson(jsonElement)

Query jsonElement.
Note: if this pointer is a root pointer, this function returns the provided json element

Parameters:

  • jsonElement (Object)
    the json element to query

Returns:

  • (Object)
    null if pointer points to not existing value, otherwise the requested value


154
155
156
157
158
159
160
161
162
163
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/json_pointer.rb', line 154

def query_json(*args)
  if ::Vertx::Util::unknown_type.accept?(args[0]) && !block_given?
    return ::Vertx::Util::Utils.from_object(@j_del.java_method(:queryJson, [Java::java.lang.Object.java_class]).call(::Vertx::Util::Utils.to_object(args[0])))
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling query_json(#{args[0]})"
  end
end

- (Object) queryJsonOrDefault(jsonElement, defaultValue)

Query jsonElement. If the query result is null, returns the default.
Note: if this pointer is a root pointer, this function returns the provided object

Parameters:

  • jsonElement (Object)
    the json element to query
  • defaultValue (Object)
    default value if query result is null

Returns:

  • (Object)
    null if pointer points to not existing value, otherwise the requested value


254
255
256
257
258
259
260
261
262
263
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/json_pointer.rb', line 254

def query_json_or_default(*args)
  if ::Vertx::Util::unknown_type.accept?(args[0]) && ::Vertx::Util::unknown_type.accept?(args[1]) && !block_given?
    return ::Vertx::Util::Utils.from_object(@j_del.java_method(:queryJsonOrDefault, [Java::java.lang.Object.java_class,Java::java.lang.Object.java_class]).call(::Vertx::Util::Utils.to_object(args[0]),::Vertx::Util::Utils.to_object(args[1])))
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling query_json_or_default(#{args[0]},#{args[1]})"
  end
end

- (Object) queryOrDefault(objectToQuery, iterator, defaultValue)

Query objectToQuery using the provided Vertx::JsonPointerIterator. If the query result is null, returns the default.
If you need to query Vert.x json data structures, use #query_json_or_default
Note: if this pointer is a root pointer, this function returns the provided object

Parameters:

  • objectToQuery (Object)
    the object to query
  • iterator (::Vertx::JsonPointerIterator)
    the json pointer iterator that provides the logic to access to the objectToQuery
  • defaultValue (Object)
    default value if query result is null

Returns:

  • (Object)
    null if pointer points to not existing value, otherwise the requested value


102
103
104
105
106
107
108
109
110
111
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/json_pointer.rb', line 102

def query_or_default(*args)
  if ::Vertx::Util::unknown_type.accept?(args[0]) && args[1].class.method_defined?(:j_del) && ::Vertx::Util::unknown_type.accept?(args[2]) && !block_given?
    return ::Vertx::Util::Utils.from_object(@j_del.java_method(:queryOrDefault, [Java::java.lang.Object.java_class,Java::IoVertxCoreJsonPointer::JsonPointerIterator.java_class,Java::java.lang.Object.java_class]).call(::Vertx::Util::Utils.to_object(args[0]),args[1].j_del,::Vertx::Util::Utils.to_object(args[2])))
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling query_or_default(#{args[0]},#{args[1]},#{args[2]})"
  end
end

- (true, false) isRootPointer

Return true if the pointer is a root pointer

Returns:

  • (true, false)


51
52
53
54
55
56
57
58
59
60
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/json_pointer.rb', line 51

def root_pointer?
  if !block_given?
    return @j_del.java_method(:isRootPointer, []).call()
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling root_pointer?()"
  end
end

- (String) toString

Build a string representation of the JSON Pointer

Returns:

  • (String)


207
208
209
210
211
212
213
214
215
216
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/json_pointer.rb', line 207

def to_string
  if !block_given?
    return @j_del.java_method(:toString, []).call()
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling to_string()"
  end
end

- (Array<Object>) tracedQuery(objectToQuery, iterator)

Query objectToQuery tracing each element walked during the query, including the first and the result (if any).
The first element of the list is objectToQuery and the last is the result, or the element before the first null was encountered

Parameters:

  • objectToQuery (Object)
    the object to query
  • iterator (::Vertx::JsonPointerIterator)
    the json pointer iterator that provides the logic to access to the objectToQuery

Returns:

  • (Array<Object>)
    the stream of walked elements


139
140
141
142
143
144
145
146
147
148
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/json_pointer.rb', line 139

def traced_query(*args)
  if ::Vertx::Util::unknown_type.accept?(args[0]) && args[1].class.method_defined?(:j_del) && !block_given?
    return @j_del.java_method(:tracedQuery, [Java::java.lang.Object.java_class,Java::IoVertxCoreJsonPointer::JsonPointerIterator.java_class]).call(::Vertx::Util::Utils.to_object(args[0]),args[1].j_del).to_a.map { |elt| ::Vertx::Util::Utils.from_object(elt) }
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling traced_query(#{args[0]},#{args[1]})"
  end
end

- (Object) write(objectToWrite, iterator, newElement, createOnMissing)

Write newElement in objectToWrite using this pointer. The path token "-" is handled as append to end of array
If you need to write in Vert.x json data structures, use #write_json (Object)}

Parameters:

  • objectToWrite (Object)
    object to write
  • iterator (::Vertx::JsonPointerIterator)
    the json pointer iterator that provides the logic to access to the objectToMutate
  • newElement (Object)
    object to insert
  • createOnMissing (true, false)
    create objects when missing a object key or an array index

Returns:

  • (Object)
    a reference to objectToWrite if the write was completed, a reference to newElement if the pointer is a root pointer, null if the write failed


238
239
240
241
242
243
244
245
246
247
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/json_pointer.rb', line 238

def write(*args)
  if ::Vertx::Util::unknown_type.accept?(args[0]) && args[1].class.method_defined?(:j_del) && ::Vertx::Util::unknown_type.accept?(args[2]) && (args[3].class == TrueClass || args[3].class == FalseClass) && !block_given?
    return ::Vertx::Util::Utils.from_object(@j_del.java_method(:write, [Java::java.lang.Object.java_class,Java::IoVertxCoreJsonPointer::JsonPointerIterator.java_class,Java::java.lang.Object.java_class,Java::boolean.java_class]).call(::Vertx::Util::Utils.to_object(args[0]),args[1].j_del,::Vertx::Util::Utils.to_object(args[2]),args[3]))
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling write(#{args[0]},#{args[1]},#{args[2]},#{args[3]})"
  end
end

- (Object) writeJson(jsonElement, newElement) - (Object) writeJson(jsonElement, newElement, createOnMissing)

Write newElement in jsonElement using this pointer. The path token "-" is handled as append to end of array.

Overloads:

  • - (Object) writeJson(jsonElement, newElement)

    Parameters:

    • jsonElement (Object)
      json element to query and write
    • newElement (Object)
      json to insert
  • - (Object) writeJson(jsonElement, newElement, createOnMissing)

    Parameters:

    • jsonElement (Object)
      json to query and write
    • newElement (Object)
      json to insert
    • createOnMissing (true, false)
      create JsonObject when missing a object key or an array index

Returns:

  • (Object)
    a reference to json if the write was completed, a reference to newElement if the pointer is a root pointer, null if the write failed


121
122
123
124
125
126
127
128
129
130
131
132
# File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx/json_pointer.rb', line 121

def write_json(*args)
  if ::Vertx::Util::unknown_type.accept?(args[0]) && ::Vertx::Util::unknown_type.accept?(args[1]) && !block_given? && args[2] == nil
    return ::Vertx::Util::Utils.from_object(@j_del.java_method(:writeJson, [Java::java.lang.Object.java_class,Java::java.lang.Object.java_class]).call(::Vertx::Util::Utils.to_object(args[0]),::Vertx::Util::Utils.to_object(args[1])))
  elsif ::Vertx::Util::unknown_type.accept?(args[0]) && ::Vertx::Util::unknown_type.accept?(args[1]) && (args[2].class == TrueClass || args[2].class == FalseClass) && !block_given?
    return ::Vertx::Util::Utils.from_object(@j_del.java_method(:writeJson, [Java::java.lang.Object.java_class,Java::java.lang.Object.java_class,Java::boolean.java_class]).call(::Vertx::Util::Utils.to_object(args[0]),::Vertx::Util::Utils.to_object(args[1]),args[2]))
  end
  if defined?(super)
    super
  else
    raise ArgumentError, "Invalid arguments when calling write_json(#{args[0]},#{args[1]},#{args[2]})"
  end
end