org.rosuda.REngine
Class REXPLogical

java.lang.Object
  extended by org.rosuda.REngine.REXP
      extended by org.rosuda.REngine.REXPVector
          extended by org.rosuda.REngine.REXPLogical

public class REXPLogical
extends REXPVector

REXPLogical represents a vector of logical values (TRUE, FALSE or NA). Unlike Java's boolean type R's logicals support NA values therefore either of isTRUE(), isFALSE() or isNA() must be used to convert logicals to boolean values.


Field Summary
static byte FALSE
           
static byte NA
          NA boolean value as used in REXPLogical implementation.
protected  byte[] payload
           
static byte TRUE
           
 
Fields inherited from class org.rosuda.REngine.REXP
attr, maxDebugItems
 
Constructor Summary
REXPLogical(boolean load)
          create logical vector of the length 1 with the given value as its first (and only) element
REXPLogical(boolean[] load)
          create logical vector with the payload specified by load
REXPLogical(boolean[] load, REXPList attr)
          create integer vector with the payload specified by load and attributes attr
REXPLogical(byte load)
          create logical vector of the length 1 with the given value as its first (and only) element
REXPLogical(byte[] load)
          create logical vector with the payload specified by load
REXPLogical(byte[] load, REXPList attr)
          create integer vector with the payload specified by load and attributes attr
 
Method Summary
 byte[] asBytes()
          returns the contents as an array of bytes (if supported by the represented object)
 double[] asDoubles()
          returns the contents of this vector as doubles
 int[] asIntegers()
          returns the contents as an array of integers (if supported by the represented object)
 java.lang.Object asNativeJavaObject()
          attempt to represent the REXP by a native Java object and return it.
 java.lang.String[] asStrings()
          returns the contents of this vector as strings
 boolean[] isFalse()
          Deprecated. replaced by isTRUE() for consistency with R nomenclature.
 boolean[] isFALSE()
          returns a boolean array of the same langth as the receiver with true for FALSE values and false for TRUE and NA values.
 boolean isLogical()
          check whether the REXP object is a logical vector
 boolean[] isNA()
          returns a boolean vector of the same length as this vector with true for NA values and false for any other values
static boolean isNA(byte value)
           
 boolean[] isTrue()
          Deprecated. replaced by isTRUE() for consistency with R nomenclature.
 boolean[] isTRUE()
          returns a boolean array of the same langth as the receiver with true for TRUE values and false for FALSE and NA values.
 int length()
          returns the length of the vector (i.e. the number of elements)
 java.lang.String toDebugString()
          returns representation that it useful for debugging (e.g. it includes attributes and may include vector values -- see REXP.maxDebugItems)
 
Methods inherited from class org.rosuda.REngine.REXPVector
isVector, toString
 
Methods inherited from class org.rosuda.REngine.REXP
_attr, asDouble, asDoubleMatrix, asFactor, asInteger, asList, asString, createDataFrame, createDoubleMatrix, dim, getAttribute, hasAttribute, inherits, isComplex, isEnvironment, isExpression, isFactor, isInteger, isLanguage, isList, isNull, isNumeric, isPairList, isRaw, isRecursive, isReference, isString, isSymbol
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

payload

protected byte[] payload

NA

public static final byte NA
NA boolean value as used in REXPLogical implementation. This differs from the value used in R since R uses int data type and we use byte. Unlike its real equivalent this one can be used in comparisons, although isNA(byte) is provided for consistency.

See Also:
Constant Field Values

TRUE

public static final byte TRUE
See Also:
Constant Field Values

FALSE

public static final byte FALSE
See Also:
Constant Field Values
Constructor Detail

REXPLogical

public REXPLogical(boolean load)
create logical vector of the length 1 with the given value as its first (and only) element


REXPLogical

public REXPLogical(byte load)
create logical vector of the length 1 with the given value as its first (and only) element


REXPLogical

public REXPLogical(byte[] load)
create logical vector with the payload specified by load


REXPLogical

public REXPLogical(boolean[] load)
create logical vector with the payload specified by load


REXPLogical

public REXPLogical(byte[] load,
                   REXPList attr)
create integer vector with the payload specified by load and attributes attr


REXPLogical

public REXPLogical(boolean[] load,
                   REXPList attr)
create integer vector with the payload specified by load and attributes attr

Method Detail

isNA

public static boolean isNA(byte value)

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

isLogical

public boolean isLogical()
Description copied from class: REXP
check whether the REXP object is a logical vector

Overrides:
isLogical in class REXP
Returns:
true if the receiver is a logical vector, false otherwise

asNativeJavaObject

public java.lang.Object asNativeJavaObject()
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

asIntegers

public int[] asIntegers()
Description copied from class: REXP
returns the contents as an array of integers (if supported by the represented object)

Overrides:
asIntegers in class REXP

asBytes

public byte[] asBytes()
Description copied from class: REXP
returns the contents as an array of bytes (if supported by the represented object)

Overrides:
asBytes in class REXP

asDoubles

public double[] asDoubles()
returns the contents of this vector as doubles

Overrides:
asDoubles in class REXP

asStrings

public java.lang.String[] asStrings()
returns the contents of this vector as strings

Overrides:
asStrings in class REXP

isNA

public boolean[] isNA()
Description copied from class: REXPVector
returns a boolean vector of the same length as this vector with true for NA values and false for any other values

Overrides:
isNA in class REXPVector
Returns:
a boolean vector of the same length as this vector with true for NA values and false for any other values

isTRUE

public boolean[] isTRUE()
returns a boolean array of the same langth as the receiver with true for TRUE values and false for FALSE and NA values.

Returns:
boolean array

isFALSE

public boolean[] isFALSE()
returns a boolean array of the same langth as the receiver with true for FALSE values and false for TRUE and NA values.

Returns:
boolean array

isTrue

public boolean[] isTrue()
Deprecated. replaced by isTRUE() for consistency with R nomenclature.

returns a boolean array of the same langth as the receiver with true for TRUE values and false for FALSE and NA values.

Returns:
boolean array

isFalse

public boolean[] isFalse()
Deprecated. replaced by isTRUE() for consistency with R nomenclature.

returns a boolean array of the same langth as the receiver with true for FALSE values and false for TRUE and NA values.

Returns:
boolean array

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