Menü der Dokumentation

Verwenden der Klasse "DocumentSearchOptions.Builder"

Die Klasse dvelop_docs_dev.DocumentSearchOptions.Builder erleichtert die Erstellung von Suchparametern durch die Implementierung von verkettbaren Methoden.

Inhalt
Grundlagen

Das Builder-Entwurfsmuster ist ein häufig verwendetes Muster der Softwareentwicklung, um komplexe Datentypen mithilfe einfacher, kompakter Befehle und Methoden zu erstellen. Mit einem Builder (dt. "Erbauer") kannst du unter anderem Methodenaufrufe verketten und so dein Produkt – also eine Instanz des komplexen Datentypen – in einem einzigen Statement erstellen.

Die Klasse DocumentSearchOptions.Builder implementiert das Builder-Entwurfsmuster. Die Klasse kannst du über die Methode buildOptions() der Oberklasse erstellen. Der Builder kann mithilfe von beliebig vielen verketteten Methoden eine Instanz von DocumentSearchOptions konfigurieren.

Du erhältst das Ergebnis ("Produkt") des Builders anschließend über einen Aufruf von getResult()

Beispiel

Folge nachstehendem Beispiel, um mit dem Builder eine Instanz von DocumentSearchOptions zu erstellen:

dvelop_docs_dev.DocumentSearchOptions searchOptions =
    dvelop_docs_dev.DocumentSearchOptions.buildOptions()    // Create an instance of the builder
    .withRecordContext('001AP000003aVJhYAM')                // Configure options - here: record context
    ...                                                     // Configure further options if necessary
    .getResult();                                           // Get the result - A completely configured instance of dvelop_docs_dev.DocumentSearchOptions
Methoden

Die Klasse DocumentSearchOptions.Builder bietet folgende Methoden als entsprechende Gegenstücke zu Methoden der Basisklasse:

Methode (Builder)

Methode(n) (Basisklasse)

withRecordContext(recordId)

useRecordContext(recordId)

withObjectContext(objectApiName)

useObjectContext(objectApiName)

withObjectContext(objectApiName, recordTypeId)

useObjectContext(objectApiName, recordTypeId)

withSearchAttribute(attributeKey, value)

addSearchAttribute(attributeKey, value)

withSearchAttribute(attributeKey, values)

addSearchAttribute(attributeKey, values)

withoutSearchAttributes()

ignoreSearchAttributes()

withSearchCategory(categoryKey)

addSearchCategory(categoryKey)

withSearchCategories(categoryKeys)

addSearchCategories(categoryKeys)

withoutSearchCategories()

ignoreSearchCategories()

withFolders()

showFolders()

withoutFolders()

hideFolders()

sortedAscendingBy(sortAttribute)

sortByAttribute(attributeKey)

sortAscending()

sortedDescendingBy(sortAttribute)

sortByAttribute(attributeKey)

sortDescending()

withSearchText(searchText)

setSearchText(searchText)

withMaxAgeInDays(maxAgeInDays)

setMaxAgeInDays(maxAgeInDays)

withPageIndex(pageIndex)

setPageIndex(pageIndex)

withPageSize(pageSize)

setPageSize(pageSize)

Verwendung

Hier erfährst du, wie du den Builder verwendest, um die Anwendungsfälle aus DocumentSearchOptions > Verwendung umzusetzen.

Ermitteln aller Dokumente an einem Datensatz (mit globalen Einstellungen) 

dvelop_docs_dev.DocumentSearchOptions searchOptions =
    dvelop_docs_dev.DocumentSearchOptions.buildOptions()
    .withRecordContext('001AP000003aVJhYAM')
    .getResult();

Ermitteln aller Dokumente an Accounts (ohne globale Einstellungen) 

dvelop_docs_dev.DocumentSearchOptions searchOptions =
    dvelop_docs_dev.DocumentSearchOptions.buildOptions()
    .withObjectContext('Account')
    .withoutSearchAttributes()
    .withoutSearchCategories()
    .getResult();

Ermitteln aller Dokumente an Accounts mit passender Eigenschaft "accountnumber", Dokumentart "Schriftverkehr Kunde" oder "Unbestimmte Dokumentart", ohne Akten 

dvelop_docs_dev.DocumentSearchOptions searchOptions =
    dvelop_docs_dev.DocumentSearchOptions.buildOptions()
    .withObjectContext('Account')
    .withSearchAttribute('accountnumber', '001AP000003aVJhYAM')
    .withSearchCategory('Schriftverkehr_Kunde')
    .withSearchCategory('Unbestimmte_Dokumentart')
	.withoutFolders()
    .getResult();

Komplexer Anwendungsfall 

dvelop_docs_dev.DocumentSearchOptions searchOptions = dvelop_docs_dev.DocumentSearchOptions
	.buildOptions()
	.withRecordContext('001AP000003aVJhYAM')
	.withSearchCategories(new List{ 'Schriftverkehr_Kunde', 'Eingangsrechnung', 'Unbestimmte_Dokumentart' })
	.withSearchAttribute('accountnumber', '001AP000003aVJhYAM')
	.withSearchAttribute('objecttitle', 'Testaccount')
	.withSearchAttribute('published', 'Ja')
	.sortedAscendingBy('createddate')
	.withSearchText('Produkt')
	.withMaxAgeInDays(1)
	.withPageIndex(1)
	.withPageSize(500)
	.getResult();