Class: Mondrian::OLAP::Level

Inherits:
Object
  • Object
show all
Includes:
Annotated
Defined in:
lib/mondrian/olap/cube.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(hierarchy, raw_level) ⇒ Level

Returns a new instance of Level.



267
268
269
270
# File 'lib/mondrian/olap/cube.rb', line 267

def initialize(hierarchy, raw_level)
  @hierarchy = hierarchy
  @raw_level = raw_level
end

Instance Attribute Details

#raw_levelObject (readonly)

Returns the value of attribute raw_level.



272
273
274
# File 'lib/mondrian/olap/cube.rb', line 272

def raw_level
  @raw_level
end

Instance Method Details

#annotationsObject



321
322
323
# File 'lib/mondrian/olap/cube.rb', line 321

def annotations
  annotations_for(@raw_level)
end

#captionObject



282
283
284
# File 'lib/mondrian/olap/cube.rb', line 282

def caption
  @caption ||= @raw_level.getCaption
end

#cardinalityObject



290
291
292
# File 'lib/mondrian/olap/cube.rb', line 290

def cardinality
  @cardinality = @raw_level.getCardinality
end

#cardinality=(value) ⇒ Object



294
295
296
# File 'lib/mondrian/olap/cube.rb', line 294

def cardinality=(value)
  mondrian_level.setApproxRowCount(value || Java::JavaLang::Integer::MIN_VALUE)
end

#depthObject



286
287
288
# File 'lib/mondrian/olap/cube.rb', line 286

def depth
  @raw_level.getDepth
end

#descriptionObject



278
279
280
# File 'lib/mondrian/olap/cube.rb', line 278

def description
  @description ||= @raw_level.getDescription
end

#membersObject



310
311
312
313
314
# File 'lib/mondrian/olap/cube.rb', line 310

def members
  Error.wrap_native_exception do
    @raw_level.getMembers.map{|m| Member.new(m)}
  end
end

#members_countObject



298
299
300
301
302
303
304
305
306
307
308
# File 'lib/mondrian/olap/cube.rb', line 298

def members_count
  @members_count ||= begin
    if cardinality >= 0
      cardinality
    else
      Error.wrap_native_exception do
        @raw_level.getMembers.size
      end
    end
  end
end

#mondrian_levelObject



316
317
318
# File 'lib/mondrian/olap/cube.rb', line 316

def mondrian_level
  @raw_level.unwrap(Java::MondrianOlap::Level.java_class)
end

#nameObject



274
275
276
# File 'lib/mondrian/olap/cube.rb', line 274

def name
  @name ||= @raw_level.getName
end

#visible?Boolean

Returns:

  • (Boolean)


325
326
327
# File 'lib/mondrian/olap/cube.rb', line 325

def visible?
  @raw_level.isVisible
end