Skip to content

Reference Classes: shortcut like 'isS4' for Ref Classes?

3 messages · John Chambers, Janko Thyson

#
Dear list,

is there a shortcut-function to check whether a class is a Reference 
Class or not? There's something like this for S4 classes 
('isS4(object)'), but I couldn't find anything regarding Ref Classes.

Currently, I'm doing it this way, which is a bit clumsy:

A <- setRefClass("A", fields=list(X="numeric"))
a <- A$new()

isRefClass <- function(object, ...){
     return(getClass(class(object))@class == "refClassRepresentation")
#    getRefClass(class(object))@class == "refObjectGenerator"
}

isRefClass(a)
[1] TRUE

Regards,
Janko
#
As it says on the help page ?ReferenceClasses:

All reference classes inherit from the class "envRefClass"

So,
   is(x, "envRefClass")

And, less well documented but less typing:

   is(x, "refClass")
also works.
On 6/6/11 9:48 AM, Janko Thyson wrote:
#
Thanks for the answer! Sorry, must have missed that part of the help 
page. Your second approach is exactly what I was looking for.

Regards,
Janko
On 06.06.2011 23:38, John Chambers wrote: