2015-08-23 24 views
0

我正在使用RJava进行标识符映射(在生物学中):BridgeDbR。其中一种方法调用具有vargs,的azazaz(Java方法):如何使用零值在RJava中调用可变参数的方法?

xref <- .jnew("org/bridgedb/Xref", identifier, datasource) 
datatarget <- getDataSource(code=target) 
targets = .jarray(c(datatarget), contents.class="org/bridgedb/DataSource") 

这里了getDataSource()方法返回类型org.bridgedb的Java对象。 DataSource

感兴趣的实际呼叫随后等,其中(如上所示)的外部参照和目标是Java对象,并且其中映射器也是Java对象作出,见下文:

mappings = mapper$mapID(xref, targets) 

此映射器对象是所述IDMapper接口的实例,并定义了使用的vargs的azazaz()方法:

public Set<Xref> mapID (Xref ref, DataSource... tgtDataSources) 
    throws IDMapperException; 

现在,我想呼叫无数据源此方法。在Java中我只会这样做:

someMapper.mapID(someXref) 

... Java找到这个方法。

但是,我无法弄清楚如何在RJava中做到这一点。下面体都不起作用(如.jarray(C(),contents.class = “组织/ bridgedb /数据源”)返回NULL):

mappings = mapper$mapID(xref, c()) 
mappings = mapper$mapID(xref) 
mappings = mapper$mapID(xref, NULL) 
mappings = mapper$mapID(xref, .jarray(c(), contents.class="org/bridgedb/DataSource")) 

.jmethods(映射器,名称的输出=” mapID“)是:

[1] "public java.util.Set org.bridgedb.rdb.SimpleGdbImplCommon.mapID(org.bridgedb.Xref,org.bridgedb.DataSource[]) throws org.bridgedb.IDMapperException" 
[2] "public java.util.Map org.bridgedb.rdb.IDMapperRdb.mapID(java.util.Collection,org.bridgedb.DataSource[]) throws org.bridgedb.IDMapperException"  

我怎样才能调用这个Java方法(mapper $ mapID)与RJAva只有外部参照?

回答

相关问题