Class: ExistDB::ClassWrap

Inherits:
Object
  • Object
show all
Defined in:
lib/existdb/classwrap.rb

Class Method Summary collapse

Class Method Details

.[](java_obj) ⇒ Object


17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/existdb/classwrap.rb', line 17

def [](java_obj)
    return nil if java_obj.nil?
    if java_obj.is_a?(Fixnum) or java_obj.is_a?(String) then
        return java_obj
    end
    klass = map[java_obj.class]
    if klass then
        if klass.is_a?(Proc) then
            return klass.call(java_obj)
        else
            return klass.new(java_obj)
        end
    else
        raise "I don't know how to wrap [#{java_obj.class}]"
    end
end

.mapObject


34
35
36
37
38
39
40
41
42
43
44
45
# File 'lib/existdb/classwrap.rb', line 34

def map
    {
        Java::OrgExistXmldb::LocalCollection => Collection,
        Java::OrgExistXmldb::LocalXPathQueryService => XQueryService,
        Java::OrgExistXmldb::LocalResourceSet => ResourceSet,
        Java::OrgExistXmldb::LocalXMLResource => Resource::Xml,
        Java::OrgExistXmldb::LocalBinaryResource => Resource::Binary,
        Java::OrgExistXmldb::FullXmldbURI => Proc.new { |obj| obj.toString },
        Java::JavaUtil::Date => Proc.new { |obj| Time.parse( obj.to_s ) },
        Java::OrgExistXquery::PathExpr => Proc.new { |obj| obj }
    }
end