1setRefClass('twitterObj',
2            contains='VIRTUAL',
3            methods = list(
4              toDataFrame = function(row.names=NULL, optional=FALSE,
5                stringsAsFactors=FALSE, fieldsToRemove=character()) {
6                fields <- setdiff(names(.self$getRefClass()$fields()),
7                                  fieldsToRemove)
8                fieldList <- lapply(fields, function(x) {
9                  val <- .self$field(x)
10                  if (length(val) == 0) {
11                    NA
12                  } else {
13                    val
14                  }
15                })
16                names(fieldList) <- fields
17                as.data.frame(fieldList, row.names=row.names,
18                              optional=optional, stringsAsFactors=stringsAsFactors)
19              }
20              )
21            )
22
23setMethod('as.data.frame', signature='twitterObj',
24          function(x, row.names=NULL, optional=FALSE, stringsAsFactors=FALSE, ...)
25          x$toDataFrame(row.names, optional, stringsAsFactors))
26
27setRefClass('twitterObjList',
28            contains = 'VIRTUAL',
29            fields = list(
30              objectList = 'list'
31              ),
32            methods = list()
33            )
34
35setMethod('show', signature='twitterObjList', function(object) {
36  print(object$objectList)
37})
38
39setMethod('[[', signature='twitterObjList', function(x, i) {
40  x$objectList[[i]]
41})
42
43listClassValidity <- function(object, objClass) {
44  all(sapply(object$objectList, is, objClass))
45}
46