*/ public function findAll(SearchCriteria $criteria): array; /** * Get unique persistence identifier for a new form in this storage * * @param string $formIdentifier The form identifier (e.g., "contact-form") * @param string $storageLocation The save path (e.g., "1:/forms/" for filemount, pid for database) * @return string Unique persistence identifier * @throws NoUniquePersistenceIdentifierException */ public function getUniquePersistenceIdentifier(string $formIdentifier, string $storageLocation): string; /** * Check if a storage location is allowed for this adapter * * For database storage: storageLocation is a PID * For file storage: storageLocation is a folder path (e.g., "1:/forms/") * * @param string $storageLocation The storage location to check * @return bool True if the storage location is allowed */ public function isAllowedStorageLocation(string $storageLocation): bool; /** * Check if a persistence identifier is allowed for this adapter * * For database storage: identifier is a UID or NEW* * For file storage: identifier is a full file path (e.g., "1:/forms/contact.form.yaml") * * @param string $persistenceIdentifier The persistence identifier to check * @return bool True if the persistence identifier is allowed */ public function isAllowedPersistenceIdentifier(string $persistenceIdentifier): bool; }