Exposing Object Attributes

Usage

ExposeAttribute(object, ..., .MODE = "rw", .VALUE = FALSE)

attr_mode(x)

attr_mode(x) <- value

Arguments

object
any R object whose attributes need to be exposed
...
attributes, and optionally their respective values or access permissions. See argument value of attr_mode for details on the way of specifying these.
.MODE
access mode:
  1. “r”: (read-only) only method $ is defined
  2. “w”: (write-only) only method $<- is defined
  3. “rw”: (read-write) both methods $ and $<- are defined
.VALUE
logical that indicates if the values of named arguments in ... should be considered as attribute assignments, i.e. that the result object has these attributes set with the specified values. In this case all these attributes will have the access permission as defined by argument .MODE.
x
an ExposeAttribute object
value
replacement value for mode. It can be NULL to remove the ExposeAttribute wrapper, a single character string to define a permission for all atributes (e.g., 'rw' or 'r'), or a list specifying access permission for specific attributes or classes of attributes defined by regular expressions. For example, list(a='r', b='w', `blabla.*`='rw') set attribute 'a' as read-only, attribute 'b' as write-only, all attributes that start with 'blabla' in read-write access.

Description

The function ExposeAttribute creates an S3 object that exposes all attributes of any R object, by making them accessible via methods $ and/or $<-.

attr_mode and attr_mode<- get and sets the access mode of ExposeAttribute objects.