01: package org.contineo.core.document.dao;
02:
03: import java.util.Collection;
04: import java.util.Set;
05:
06: import org.contineo.core.document.Document;
07:
08: /**
09: * This class is a DAO-service for documents.
10: *
11: * @author Michael Scholz
12: * @author Marco Meschieri
13: * @version 1.0
14: */
15: public interface DocumentDAO {
16: /**
17: * This method persists a document object.
18: *
19: * @param doc Document to be stored.
20: * @return True if successfully stored in a database.
21: */
22: public boolean store(Document doc);
23:
24: /**
25: * This method deletes a document.
26: *
27: * @param docId DocID of the document which should be delete.
28: */
29: public boolean delete(int docId);
30:
31: /**
32: * This method deletes a document.
33: *
34: * @param menuId of the document which should be deleted.
35: */
36: public boolean deleteByMenuId(int menuId);
37:
38: /**
39: * This method finds a document by primarykey.
40: *
41: * @param docId Primarykey of the document.
42: * @return Document with given primarykey.
43: */
44: public Document findByPrimaryKey(int docId);
45:
46: /**
47: * This method finds a document by its menuId.
48: *
49: * @param menuId MenuId of the document.
50: * @return Document with specified menuId.
51: */
52: public Document findByMenuId(int menuId);
53:
54: /**
55: * This method selects all documents.
56: */
57: public Collection<Document> findAll();
58:
59: /**
60: * Finds all documents for an user.
61: *
62: * @param username Name of the user.
63: * @return Collection of all documentId required for the specified user.
64: */
65: public Collection<Integer> findByUserName(String username);
66:
67: /**
68: * This method finds all MenuIds by a keyword.
69: *
70: * @param keyword Keyword of the document.
71: * @return Document with specified keyword.
72: */
73: public Collection<Integer> findMenuIdByKeyword(String keyword);
74:
75: /**
76: * Converts the passed string into a collection of keywords
77: *
78: * @param words the string to be considered
79: * @return The resulting keywords collection
80: */
81: public Set<String> toKeywords(String words);
82:
83: /**
84: * This method selects all keywords starting with a specified letter.
85: *
86: * @param letter - First letter of the wanted keywords.
87: */
88: public Collection<String> findKeywords(String firstLetter,
89: String username);
90: }
|