Show/Hide Toolbars

The following samples show how to search documents by name, parent folder, date last modified, and author.

Code Snippet

\\for this sample it is assumed that a Date variable, date, exists representing a past date

protected DocumentRepository documentRepository;

StringFieldCriterion fieldCriterion1 = new StringFieldCriterion();

fieldCriterion1.setComparator(StringComparator.CONTAINS);

LegacySearchFieldPathExpression fieldPathExpression1 = new LegacySearchFieldPathExpression();

fieldPathExpression1.setSearchKeyPath("name");

fieldCriterion1.setFieldPath(fieldPathExpression);

fieldCriterion1.getValue().add("Invoice_10508");

StringFieldCriterion fieldCriterion2 = new StringFieldCriterion();

fieldCriterion2.setComparator(StringComparator.EQUALS);

LegacySearchFieldPathExpression fieldPathExpression2 = new LegacySearchFieldPathExpression();

fieldPathExpression2.setSearchKeyPath("parentFolder.uniqueKey");

fieldCriterion2.setFieldPath(fieldPathExpression);

fieldCriterion2.getValue().add("DOCU_1099");

DateFieldCriterion fieldCriterion3 = new DateFieldCriterion();

fieldCriterion3.setComparator(DateComparator.EQUALS);

LegacySearchFieldPathExpression fieldPathExpression3 = new LegacySearchFieldPathExpression();

fieldPathExpression3.setSearchKeyPath("modifiedOn");

fieldCriterion3.setFieldPath(fieldPathExpression);

fieldCriterion3.getValue().add(date);

StringFieldCriterion fieldCriterion4 = new StringFieldCriterion();

fieldCriterion4.setComparator(StringComparator.EQUALS);

LegacySearchFieldPathExpression fieldPathExpression4 = new LegacySearchFieldPathExpression();

fieldPathExpression4.setSearchKeyPath("author.uniqueKey");

fieldCriterion4.setFieldPath(fieldPathExpression);

fieldCriterion4.getValue().add("CONT_1015");

FieldSearchClause searchCriteria = new FieldSearchClause();

searchCriteria.setOperator(LogicOperator.AND);

searchCriteria.getCriteria().add(fieldCriterion1);

searchCriteria.getCriteria().add(fieldCriterion2);

searchCriteria.getCriteria().add(fieldCriterion3);

searchCriteria.getCriteria().add(fieldCriterion4);

List<Document> searchDocument = documentRepository.readDocumentsByCriteria(searchCriteria, 100, getPropertiesToRead());

private List<String> getPropertiesToRead() {

List<String> props = new List<String>();

//the list of all available properties displays below but to increase efficiency in your searches, you can omit unnecessary properties from your application and those values will not be returned

props.add("version");

props.add("subject");

props.add("categories");

props.add("createdOn");

props.add("createdBy");

props.add("modifiedBy");

props.add("modifiedOn");

props.add("name");

props.add("author");

props.add("authorDate");

props.add("size");

//the contentType is only relevant to a document of type FILE

props.add("contentType");

//the contentType is only relevant to a document of type FILE

props.add("content");

props.add("type");

props.add("parentFolder");

props.add("checkedOutBy");

props.add("checkedOutOn");

props.add("checkedInBy");

props.add("checkedInOn");

props.add("versionText");

//the url is only relevant to a document of type HYPERLINK

props.add("url");

//the contentType is only relevant to a document of type SHORTCUT

props.add("shortcutToDocument");

return props;

}