# RapidIdentity Administrators' and Users' Guide

#### Concepts

A RapidIdentity Connect adapter is a pre-packaged bundle of actions that can be called from user-defined Action Sets. Unlike user-defined actions sets, a deployed adapter is not editable via the RapidIdentity Connect Module but is rather considered a built-in component of the RapidIdentity Connect server runtime.

##### Components

A RapidIdentity Connect adapter is made up of the following components packaged into a .jar file:

##### Records

The primary data structure of concern in most adapters is the Record. A Record is a generic representation of an object in the system with which the adapter works. A Record is composed of named fields. Field names can be case sensitive or not, depending on a flag passed in when the Record is created. A field can have 0 or more values associated with it. A value may be of any data type, though for most purposes values are usually strings.

There are a whole set of built-in actions that create and manipulate Records within RapidIdentity Connect (category: Core | Data | Records). Records can also be treated much like standard ECMAScript objects in expressions within an Action Set as well as from within an adapter's ECMAScript implementation.

• record.fieldname or record[“fieldname”]

• when used as a value returns:

• a single value if only one value exists

• an array of values if more than one value exists

• null if there are no values but the field is defined

• undefined if the field is not defined

• when used as the target of an assignment:

• equivalent of setRecordFieldValue() if value being assigned is a scalar

• equivalent of setRecordFieldValues() if value being assigned is an Array

• equivalent of clearRecordFieldValues() if value being assigned is null

• equivalent of removeRecordField() when used with delete operator