org.rosuda.REngine
Class REXPGenericVector

java.lang.Object
  extended by org.rosuda.REngine.REXP
      extended by org.rosuda.REngine.REXPVector
          extended by org.rosuda.REngine.REXPGenericVector
Direct Known Subclasses:
REXPExpressionVector

public class REXPGenericVector
extends REXPVector

REXPGenericVector represents a generic vector in R. Its elements can be typically of any REXP type.


Field Summary
 
Fields inherited from class org.rosuda.REngine.REXP
attr, maxDebugItems
 
Constructor Summary
REXPGenericVector(RList list)
          creates a new generic vector from a list.
REXPGenericVector(RList list, REXPList attr)
          creates a new generic vector from a list.
 
Method Summary
 RList asList()
          returns the contents as a (named) list (if supported by the represented object)
 java.lang.Object asNativeJavaObject()
          attempt to represent the REXP by a native Java object and return it.
 boolean isList()
          check whether the REXP object is a list (either generic vector or a pairlist - i.e.
 boolean isRecursive()
          check whether the REXP object is a recursive obejct
 int length()
          returns the length of the vector (i.e.
 java.lang.String toDebugString()
          returns representation that it useful for debugging (e.g.
 java.lang.String toString()
          returns a string description of the object
 
Methods inherited from class org.rosuda.REngine.REXPVector
isNA, isVector
 
Methods inherited from class org.rosuda.REngine.REXP
_attr, asBytes, asDouble, asDoubleMatrix, asDoubles, asFactor, asInteger, asIntegers, asString, asStrings, createDataFrame, dim, getAttribute, hasAttribute, inherits, isComplex, isEnvironment, isExpression, isFactor, isInteger, isLanguage, isLogical, isNull, isNumeric, isPairList, isRaw, isReference, isString, isSymbol
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

REXPGenericVector

public REXPGenericVector(RList list)
creates a new generic vector from a list. If the list is named, the "names" attribute is created automatically from it.

Parameters:
list - list to create the vector from

REXPGenericVector

public REXPGenericVector(RList list,
                         REXPList attr)
creates a new generic vector from a list. Note that the names in the list are ignored as they are expected to be defined by the attributes parameter.

Parameters:
list - list to create the vector from (names are ignored - use REXPGenericVector(RList) or the "names" attribute for named lists
attr - attributes
Method Detail

asNativeJavaObject

public java.lang.Object asNativeJavaObject()
                                    throws REXPMismatchException
Description copied from class: REXP
attempt to represent the REXP by a native Java object and return it. Note that this may lead to loss of information (e.g., factors may be returned as a string array) and attributes are ignored. Not all R types can be converted to native Java objects. Also note that R has no concept of scalars, so vectors of length 1 will always be returned as an arrays (i.e., int[1] and not Integer).

Overrides:
asNativeJavaObject in class REXP
Throws:
REXPMismatchException

length

public int length()
Description copied from class: REXPVector
returns the length of the vector (i.e. the number of elements)

Specified by:
length in class REXPVector
Returns:
length of the vector

isList

public boolean isList()
Description copied from class: REXP
check whether the REXP object is a list (either generic vector or a pairlist - i.e. REXP.asList() will succeed)

Overrides:
isList in class REXP
Returns:
true if the receiver is a generic vector or a pair-list, false otherwise

isRecursive

public boolean isRecursive()
Description copied from class: REXP
check whether the REXP object is a recursive obejct

Overrides:
isRecursive in class REXP
Returns:
true if the receiver is a recursive object, false otherwise

asList

public RList asList()
Description copied from class: REXP
returns the contents as a (named) list (if supported by the represented object)

Overrides:
asList in class REXP

toString

public java.lang.String toString()
Description copied from class: REXP
returns a string description of the object

Overrides:
toString in class REXPVector
Returns:
string describing the object - it can be of an arbitrary form and used only for debugging (do not confuse with REXP.asString() for accessing string REXPs)

toDebugString

public java.lang.String toDebugString()
Description copied from class: REXP
returns representation that it useful for debugging (e.g. it includes attributes and may include vector values -- see REXP.maxDebugItems)

Overrides:
toDebugString in class REXPVector
Returns:
extended description of the obejct -- it may include vector values