1   /**
2    * Copyright (c) 2000-2009 Liferay, Inc. All rights reserved.
3    *
4    *
5    *
6    *
7    * The contents of this file are subject to the terms of the Liferay Enterprise
8    * Subscription License ("License"). You may not use this file except in
9    * compliance with the License. You can obtain a copy of the License by
10   * contacting Liferay, Inc. See the License for the specific language governing
11   * permissions and limitations under the License, including but not limited to
12   * distribution rights of the Software.
13   *
14   * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15   * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16   * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17   * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18   * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19   * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20   * SOFTWARE.
21   */
22  
23  package com.liferay.documentlibrary.util;
24  
25  import com.liferay.portal.PortalException;
26  import com.liferay.portal.SystemException;
27  import com.liferay.portal.kernel.search.SearchException;
28  
29  import java.io.File;
30  import java.io.InputStream;
31  
32  import java.util.Date;
33  
34  /**
35   * <a href="Hook.java.html"><b><i>View Source</i></b></a>
36   *
37   * @author Brian Wing Shun Chan
38   */
39  public interface Hook {
40  
41      public static final double DEFAULT_VERSION = 1.0;
42  
43      public void addDirectory(long companyId, long repositoryId, String dirName)
44          throws PortalException, SystemException;
45  
46      public void addFile(
47              long companyId, String portletId, long groupId, long repositoryId,
48              String fileName, String properties, Date modifiedDate,
49              String[] tagsEntries, byte[] bytes)
50          throws PortalException, SystemException;
51  
52      public void addFile(
53              long companyId, String portletId, long groupId, long repositoryId,
54              String fileName, String properties, Date modifiedDate,
55              String[] tagsEntries, File file)
56          throws PortalException, SystemException;
57  
58      public void addFile(
59              long companyId, String portletId, long groupId, long repositoryId,
60              String fileName, String properties, Date modifiedDate,
61              String[] tagsEntries, InputStream is)
62          throws PortalException, SystemException;
63  
64      public void checkRoot(long companyId) throws SystemException;
65  
66      public void deleteDirectory(
67              long companyId, String portletId, long repositoryId, String dirName)
68          throws PortalException, SystemException;
69  
70      public void deleteFile(
71              long companyId, String portletId, long repositoryId,
72              String fileName)
73          throws PortalException, SystemException;
74  
75      public void deleteFile(
76              long companyId, String portletId, long repositoryId,
77              String fileName, double versionNumber)
78          throws PortalException, SystemException;
79  
80      public byte[] getFile(long companyId, long repositoryId, String fileName)
81          throws PortalException, SystemException;
82  
83      public byte[] getFile(
84              long companyId, long repositoryId, String fileName,
85              double versionNumber)
86          throws PortalException, SystemException;
87  
88      public InputStream getFileAsStream(
89              long companyId, long repositoryId, String fileName)
90          throws PortalException, SystemException;
91  
92      public InputStream getFileAsStream(
93              long companyId, long repositoryId, String fileName,
94              double versionNumber)
95          throws PortalException, SystemException;
96  
97      public String[] getFileNames(
98              long companyId, long repositoryId, String dirName)
99          throws PortalException, SystemException;
100 
101     public long getFileSize(
102             long companyId, long repositoryId, String fileName)
103         throws PortalException, SystemException;
104 
105     public boolean hasFile(
106             long companyId, long repositoryId, String fileName,
107             double versionNumber)
108         throws PortalException, SystemException;
109 
110     public void move(String srcDir, String destDir) throws SystemException;
111 
112     public void reIndex(String[] ids) throws SearchException;
113 
114     public void updateFile(
115             long companyId, String portletId, long groupId, long repositoryId,
116             String fileName, double versionNumber, String sourceFileName,
117             String properties, Date modifiedDate, String[] tagsEntries,
118             byte[] bytes)
119         throws PortalException, SystemException;
120 
121     public void updateFile(
122             long companyId, String portletId, long groupId, long repositoryId,
123             String fileName, double versionNumber, String sourceFileName,
124             String properties, Date modifiedDate, String[] tagsEntries,
125             File file)
126         throws PortalException, SystemException;
127 
128     public void updateFile(
129             long companyId, String portletId, long groupId, long repositoryId,
130             String fileName, double versionNumber, String sourceFileName,
131             String properties, Date modifiedDate, String[] tagsEntries,
132             InputStream is)
133         throws PortalException, SystemException;
134 
135     public void updateFile(
136             long companyId, String portletId, long groupId, long repositoryId,
137             long newRepositoryId, String fileName)
138         throws PortalException, SystemException;
139 
140 }