---
schema_version: "1"
id: a6ceb91981cbeb76dce60adfc656369d062690a1a83129cd6185bdb08b4c5278
title: Programming Objects
collection: legacydeveloper
version: current
locale: en-us
portal_url: https://docs.salesforce.com/legacydeveloper/current/en-us/api_tooling/reference_objects_programming.md
canonical_url: https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/reference_objects_programming.htm
source_site: developer.salesforce.com
content_type: documentation
content_hash: 53d049afaf72d9a70ac0bf7187744e2d7aefd570d9d3b1c0c8d92cf7c48aae09
description: "Use programming objects to interact with programmatic artifacts: Apex, Visualforce, and Lightning."
---
# Programming Objects

Use programming objects to interact with programmatic artifacts: Apex, Visualforce, and Lightning.

- **[ApexClass](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_apexclass.htm)**: Represents the saved copy of an Apex class. ApexClass uses the cached version of the class unless one is unavailable.
- **[ApexClassMember](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_apexclassmember.htm)**: Represents the working copy of an Apex class for editing, saving, or compiling in a MetadataContainer.
- **[ApexComponent](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_apexcomponent.htm)**: Represents the saved copy of a Visualforce component. ApexComponent uses the cached version of the class unless one is unavailable.
- **[ApexComponentMember](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_apexcomponentmember.htm)**: Represents the working copy of a Visualforce component for editing, saving, or compiling in a MetadataContainer.
- **[ApexPage](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_apexpage.htm)**: Represents the saved copy of a Visualforce page. ApexPage uses the cached version of the page unless one is unavailable.
- **ApexExecutionOverlayAction**: Specifies an Apex code snippet or SOQL query to execute at a specific line of code in an Apex class or trigger. Optionally, generates a heap dump.
- **[ApexPageMember](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_apexpagemember.htm)**: Represents the working copy of a Visualforce page for editing, saving, or compiling in a MetadataContainer.
- **[ApexTrigger](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_apextrigger.htm)**: Represents the saved copy of an Apex trigger. ApexTrigger uses the cached version of the class unless one is unavailable.
- **[ApexTriggerMember](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_apextriggermember.htm)**: Represents the working copy of an Apex trigger for editing, saving, or compiling in a MetadataContainer.
- **[AuraDefinition](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_auradefinition.htm)**: Represents an Aura component definition, such as component markup, a client-side controller, or an event.
- **[AuraDefinitionBundle](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_auradefinitionbundle.htm)**: Represents a Lightning Aura component definition bundle, such as a component or application bundle. A bundle contains a Lightning Aura component definition and all its related resources.
- **[LightningComponentBundle](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_lightningcomponentbundle.htm)**: Represents a Lightning web component bundle. A bundle contains a Lightning web component and its related resources.
- **[LightningComponentResource](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_lightningcomponentresource.htm)**: Represents a Lightning web component resource, such as HTML markup, JavaScript code, a CSS file, an SVG resource, or an XML configuration file.
- **[StaticResource](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_staticresource.htm)**: Represents the working copy of a static resource file for editing or saving. Static resources allow you to upload content that you can reference in a Visualforce page, including images, stylesheets, JavaScript, and other files.