The Table class represents a possible source or target for a Link. It is analogous to a database table or Salesforce object.
Keep in mind that a Table doesn’t have to correspond to an actual database table. You can create Table instances as logical constructs, perhaps to represent different parts of the same API.
A Table can be specified in a Link as either the source or target of records. However, this is not required for a Link to function, and in fact it’s perfectly fine for an Adapter to be “schema-less”. Creating Table instances goes hand-in-hand with the SchemaAdapter interface.
You get a TableBuilder by calling Table.create() and passing the API name of the Table you are constructing. This is the only required property, but it’s an important one. This string value is used when asking your Adapter for the Fields that be found for a given table. You will also likely use this table name value when your Adapter is figuring out which table the user wants to get records from, or send records to.
Simple Table Example¶
valence.Table companiesTable = valence.Table.create('company').withLabel('Companies').build();
|Data Type||Class Property||Builder Method||Description|
|String||name||Required. Used to retrieve lists of Fields.|
|String||label||withLabel||User-friendly label for this table.|
|String||description||withDescription||Description of the table’s use.|
|Boolean||isCreateable||setCreateable||True if new records can be created in this table (default: false).|
|Boolean||isReadable||setReadable||True if records can be read from this table (default: true).|
|Boolean||isUpdateable||setUpdateable||True if existing records can be updated in this table (default: false).|
|Boolean||isDeletable||setDeletable||True if records can be deleted from this table (default: false).|
|Boolean||isEditable||setEditable||True if either isCreateable or isUpdateable have been set. Can also be set independently (default: false).|