View Javadoc

1   package twcsckernel.projectbase.io;
2   
3   import java.io.File;
4   import java.io.IOException;
5   
6   /***
7    * Interfejs mededżera bezpieczeństwa plików, który sprawdza czy podana zdalnie
8    * ścieżka jest poprawna i czy użytkownik ma do niej prawa.
9    * 
10   * @author VMD Group
11   * 
12   */
13  public interface FileSecurityManager {
14  	public static final int ACC_OK = 0;
15  
16  	public static final int ACC_NOT_FOUND = 1;
17  
18  	public static final int ACC_ILLEGAL = 2;
19  
20  	/***
21  	 * Sprawdza, czy użytkownik ma prawa do podanej ścieżki (kanoniczna ścieżka
22  	 * <i>root path</i> użytkownika zawiera się w kanonicznej ścieżce obiektu
23  	 * file) oraz jeśli prawa są sprawdza czy podany plik istnieje.
24  	 * 
25  	 * @param file
26  	 *            sprawdzany obiekt pliku
27  	 * @return
28  	 *            <ul>
29  	 *            <li><i>ACC_OK</i> - są prawa oraz plik istnieje
30  	 *            <li><i>ACC_NOT_FOUND</i> - są prawa, ale plik nie istnieje
31  	 *            lub niepoprawna ścieżka (w ramach praw)
32  	 *            <li><i>ACC_ILLEGAL</i> - brak praw lub niepoprawna ścieżka
33  	 *            </ul>
34  	 */
35  	public int checkReadAccess(File file);
36  
37  	/***
38  	 * Sprawdza, czy użytkownik ma prawa do pliku o podanej ścieżce (kanoniczna
39  	 * ścieżka <i>root path</i> użytkownika zawiera się w kanonicznej ścieżce
40  	 * obiektu file) oraz jeśli prawa są sprawdza czy podany plik jest plikiem
41  	 * poprawnym systemu plików.
42  	 * 
43  	 * @param file
44  	 *            sprawdzany obiekt pliku
45  	 * @return
46  	 *            <ul>
47  	 *            <li><i>ACC_OK</i> - są prawa oraz nazwa pliku jest poprawna
48  	 *            <li><i>ACC_NOT_FOUND</i> - są prawa, ale nazwa pliku nie
49  	 *            jest poprawna lub niepoprawna ścieżka (w ramach praw)
50  	 *            <li><i>ACC_ILLEGAL</i> - brak praw lub niepoprawna ścieżka
51  	 *            </ul>
52  	 */
53  	public int checkWriteAccess(File file);
54  
55  	/***
56  	 * Sprawdza, czy użytkownik ma prawa do ścieżki podanego pliku (kanoniczna
57  	 * ścieżka <i>root path</i> użytkownika zawiera się w kanonicznej ścieżce
58  	 * obiektu file) - używana przez
59  	 * {@link #checkReadAccess(File) checkReadAccess} oraz
60  	 * {@link #checkWriteAccess(File) checkWriteAccess}.
61  	 * 
62  	 * @param file
63  	 *            sprawdzany obiekt pliku
64  	 * @return
65  	 *            <ul>
66  	 *            <li><i>ACC_OK</i> - są prawa = root path użytkownika zawiera
67  	 *            się w filePath
68  	 *            <li><i>ACC_ILLEGAL</i> - brak praw lub niepoprawna ścieżka
69  	 *            </ul>
70  	 */
71  	public int checkRootPath(File file);
72  
73  	/***
74  	 * @return menedżer ścieżki root praw użytkownika
75  	 */
76  	public UserRootPathManager getUserRootPathManager();
77  
78  	/***
79  	 * Ustawienie ścieżki root security managera
80  	 * 
81  	 * @param userRootPath -
82  	 *            ścieżka root użytkownika
83  	 * @throws IOException -
84  	 *             ew. wyjątek rzucany przy pobieraniu ścieżki kanonicznej pliku
85  	 */
86  	public void setRootPath(String userRootPath) throws IOException;
87  
88  }