...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
DocumentFinder documentFinder=FinderFactory.getDocumentFinder(); Map<Long, Object> idx = new HashMap<Long, Object>(); idx.put( 1L, "wartość tekstowa" ); idx.put( 2L, 555 ); idx.put( 3L, new Date() );//wartości indeksów po których chcemy wyszukiwać List<Sorter> sorters=new ArrayList<Sorter>(); sorters.add( new Sorter("3",SortDirection.DESC) );//sorujemy malejąco po indeksie o id 3 CountedResult<WfDocument> result=documentFinder.findByIndexes( idx, sorters, documentClassId, start, limit ); long total=result.getTotal();//liczba wszystkich pasujących dokumentów List<WfDocument> documents=result.getData();//lista znalezionych dokumentów ograniczona przez start i limit |
Info | ||
---|---|---|
| ||
Metoda getDocumentsFromProcess pobiera dokumenty dołączone tylko do ostatniego zadania procesu tj. takiego, które ostatnie zmieniło swój stan. Co może to mieć znaczenie w przypadku występowania zadań równoległych. Bowiem dokumenty zostaną pobrane tylko z jednego zadania tj. tego które było zmienione ostatnie. Natomiast możliwość pobrania dokumentów z więcej niż jednego zadania daje metoda getDocumentsFromOpenedActivities, która pobiera dokumenty z podanego procesu podłączone do wszystkich otwartych zadań. |
Przedstawiona wyżej metoda wyszukuje dokumenty o indeksach równych (operator '=' ) podanym wartościom i wszystkie warunki łączy operatorem logicznym AND. Jeżeli chcemy stworzyć bardziej zaawansowane warunki wyszukiwania możemy wykorzystać następującą metodę:
...