2015-08-23 23 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只有外部參照?

回答

相關問題