Sie befinden sich hier:
Verwalten von Apex-Klassen
Eine Apex-Klasse ist eine Vorlage oder ein Entwurf zum Erstellen von Apex-Objekten. Klassen bestehen aus anderen Klassen, benutzerdefinierten Methoden, Variablen, Ausnahmetypen und statischem Initialisierungscode.
Erforderliche Editionen
| Verfügbarkeit: Performance, Unlimited, Developer und Enterprise Edition |
Klassenmethoden oder Variablen können, wenn sie erfolgreich gespeichert wurden, von anderen Apex-Codes oder über die SOAP-API (bzw. das AJAX Toolkit) aufgerufen werden, um Methoden abzufragen, die mit dem Stichwort "webService" erstellt wurden.
Mit der Seite "Apex-Klassen" können Sie Apex-Klassen erstellen und verwalten. Um die Seite "Apex-Klassen" aufzurufen, geben Sie unter "Setup" im Feld Schnellsuche den Text Apex-Klassen ein und wählen Sie dann Apex-Klassen aus. Zusätzliche Entwicklungsfunktionen bietet die Developer Console.
Klicken Sie zum Erstellen einer Apex-Klasse auf der Seite "Apex-Klassen" auf Neu und geben Sie im Editor den Apex-Code ein.
Entwickler können zwar Klassenmethoden gemäß der im Dokument Apex Code Developer's Guide beschriebenen Syntax schreiben, Klassen können jedoch auch automatisch mithilfe eines auf der lokalen Festplatte oder in einem lokalen Netzwerk gespeicherten WSDL-Dokuments generiert werden. Wenn Sie eine Klasse mithilfe eines WSDL-Dokuments erstellen, können die Entwickler in Apex Callouts zum externen Webservice vornehmen. Klicken Sie auf der Seite "Apex-Klassen" auf Aus WSDL generieren, um eine Apex-Klasse aus einem WSDL-Dokument zu erstellen.
Dynamische Apex-Klassen werden dynamisch generiert, um verbesserten Zugriff auf vorhandene Plattformfunktionen bereitzustellen. Wenn Sie beispielsweise eine API-Spezifikation bei externen Services registrieren, werden alle dynamisch generierten Klassen auf der Seite "Apex-Klassen" unter der Überschrift Dynamische Apex-Klassen aufgeführt. Klicken Sie für die ursprüngliche Quelle auf Öffnen. Dynamische Apex-Klassen haben keinen Einfluss auf die Obergrenze, die unter Maximum amount of code used by all Apex code in an org (Maximale Codemenge, die von allen Apex-Codes in einer Organisation verwendet wird) aufgeführt wird. Sie sind auch von den Anforderungen für die Codeabdeckung ausgenommen.
Sie können Apex nur in einer Organisation mit einer Developer Edition, einer Testorganisation mit Salesforce Enterprise Edition oder einer Organisation mit Sandbox über die Salesforce-Benutzeroberfläche hinzufügen, bearbeiten oder löschen. In einer Salesforce-Produktionsorganisation können Sie Apex nur mit dem Metadaten-API-Aufruf "deploy", Salesforce-Erweiterungen für Visual Studio Code oder dem Ant-Migrationstool ändern. Die Salesforce-Erweiterungen für Visual Studio Code und das Ant-Migrationstool sind kostenlose Ressourcen, die von Salesforce zur Unterstützung der Benutzer und Partner zur Verfügung gestellt werden, gelten jedoch gemäß dem Rahmen-Abonnementvertrag (MSA) von Salesforce nicht als Teil der Salesforce-Services.
Sobald Sie eine Apex-Klasse erstellt haben, können Sie verschiedene Aktionen durchführen.
- Neben dem Klassennamen auf Bearbeiten klicken, um den Inhalt der Klasse in einem einfachen Editor zu bearbeiten.
- Neben dem Klassennamen auf Entf klicken, um die Klasse aus der Organisation zu löschen.
Hinweis- Eine Klasse, die als Steuerfeld für eine Visualforce-Seite oder -Komponente festgelegt ist, kann nicht gelöscht werden.
- Ein
gibt an, dass eine Apex-Klasse in einem verwalteten Paket veröffentlicht wurde. Für Apex-Klassen in Paketen gelten spezielle Überlegungen. Weitere Informationen finden Sie unter Verwenden von verwalteten Paketen zur Entwicklung Ihrer AppExchange-Lösung. - Ein
gibt an, dass sich eine Apex-Klasse in einem installierten verwalteten Paket befindet. Klassen in verwalteten Paketen können nicht bearbeitet oder gelöscht werden. - Ein
gibt an, dass eine Apex-Klasse in einem zuvor veröffentlichten verwalteten Paket beim nächsten Paket-Upload gelöscht wird. Sie können das Löschen der Apex-Klasse über die Paketdetailseite rückgängig machen.
- Wenn bei einer Apex-Klasse Methoden als "
webService" definiert sind, können Sie neben dem Klassennamen auf WSDL klicken, um ein WSDL-Dokument aus den Klasseninhalten zu generieren. Dieses Dokument enthält alle für einen Client für Apex-Webservice-Methoden erforderlichen Informationen. Alle Klassenmethoden mit dem Stichwort "webService" werden in das resultierende WSDL-Dokument aufgenommen. - Klicken Sie neben dem Namen der Klasse auf Sicherheit, um die Profile auszuwählen, die berechtigt sind, Methoden in der Klasse ausgehend von Eingangspunkten der höchsten Ebene, wie Webservice-Methoden, auszuführen. Bei Klassen, die in Ihrer Organisation als Teil eines verwalteten Pakets installiert sind, wird dieser Link nur für als "
global" definierte Klassen angezeigt. - Klicken Sie auf Codeabdeckung meiner Organisation abschätzen, um zu ermitteln, welcher Prozentsatz des Apex-Codes in Ihrer Organisation derzeit von Einheitentests abgedeckt wird. Dieser Prozentsatz basiert auf den aktuellen Ergebnissen von bereits ausgeführten Tests. Wenn keine Testergebnisse vorliegen, beläuft sich die Codeabdeckung auf 0 %.
- Wenn Sie in mindestens einer Apex-Klasse Einheitentests haben, klicken Sie auf Alle Tests ausführen, um alle Einheitentests in Ihrem Unternehmen auszuführen.
- Klicken Sie auf Alle Klassen kompilieren, um alle Apex-Klassen in Ihrer Organisation zu kompilieren. Wenn Klassen vorliegen, die aus einem verwalteten Paket installiert werden und die Testmethoden aufweisen bzw. Testklassen sind, müssen diese Klassen kompiliert werden, bevor Sie sie über die Apex-Testausführungsseite anzeigen und deren Testmethoden ausführen können. Verwaltete Paketklassen können nur über den Link Alle Klassen kompilieren kompiliert werden, da sie nicht gespeichert werden können. Das Speichern von Apex-Klassen, die nicht aus verwalteten Paketen stammen, führt sonst zum Neukompilieren der Klassen. Mit dem Link werden alle Apex-Klassen in Ihrer Organisation unabhängig davon kompiliert, ob sie aus verwalteten Paketen stammen.

