1   /**
2    * Copyright (c) 2000-2010 Liferay, Inc. All rights reserved.
3    *
4    * This library is free software; you can redistribute it and/or modify it under
5    * the terms of the GNU Lesser General Public License as published by the Free
6    * Software Foundation; either version 2.1 of the License, or (at your option)
7    * any later version.
8    *
9    * This library is distributed in the hope that it will be useful, but WITHOUT
10   * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11   * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
12   * details.
13   */
14  
15  package com.liferay.portal.kernel.lar;
16  
17  import com.liferay.portal.kernel.exception.PortalException;
18  import com.liferay.portal.kernel.exception.SystemException;
19  import com.liferay.portal.kernel.util.KeyValuePair;
20  import com.liferay.portal.kernel.zip.ZipReader;
21  import com.liferay.portal.kernel.zip.ZipWriter;
22  import com.liferay.portal.model.Lock;
23  import com.liferay.portlet.messageboards.model.MBMessage;
24  import com.liferay.portlet.ratings.model.RatingsEntry;
25  
26  import java.io.InputStream;
27  import java.io.Serializable;
28  
29  import java.util.Date;
30  import java.util.List;
31  import java.util.Map;
32  import java.util.Set;
33  
34  /**
35   * <a href="PortletDataContext.java.html"><b><i>View Source</i></b></a>
36   *
37   * <p>
38   * Holds context information that is used during exporting and importing portlet
39   * data.
40   * </p>
41   *
42   * @author Brian Wing Shun Chan
43   * @author Raymond Augé
44   */
45  public interface PortletDataContext extends Serializable {
46  
47      public static final String ROOT_PATH_GROUPS = "/groups/";
48  
49      public static final String ROOT_PATH_LAYOUTS = "/layouts/";
50  
51      public static final String ROOT_PATH_PORTLETS = "/portlets/";
52  
53      public void addAssetCategories(Class<?> classObj, long classPK)
54          throws SystemException;
55  
56      public void addAssetCategories(
57          String className, long classPK, long[] assetCategoryIds);
58  
59      public void addAssetTags(Class<?> classObj, long classPK)
60          throws SystemException;
61  
62      public void addAssetTags(
63          String className, long classPK, String[] assetTagNames);
64  
65      public void addComments(Class<?> classObj, long classPK)
66          throws SystemException;
67  
68      public void addComments(
69          String className, long classPK, List<MBMessage> messages);
70  
71      public void addLocks(Class<?> classObj, String key)
72          throws PortalException, SystemException;
73  
74      public void addLocks(String className, String key, Lock lock);
75  
76      public void addPermissions(Class<?> classObj, long classPK)
77          throws PortalException, SystemException;
78  
79      public void addPermissions(String resourceName, long resourcePK)
80          throws PortalException, SystemException;
81  
82      public void addPermissions(
83          String resourceName, long resourcePK, List<KeyValuePair> permissions);
84  
85      public boolean addPrimaryKey(Class<?> classObj, String primaryKey);
86  
87      public void addRatingsEntries(Class<?> classObj, long classPK)
88          throws SystemException;
89  
90      public void addRatingsEntries(
91          String className, long classPK, List<RatingsEntry> ratingsEntries);
92  
93      public void addZipEntry(String path, byte[] bytes) throws SystemException;
94  
95      public void addZipEntry(String path, InputStream is) throws SystemException;
96  
97      public void addZipEntry(String path, Object object) throws SystemException;
98  
99      public void addZipEntry(String path, String s) throws SystemException;
100 
101     public void addZipEntry(String name, StringBuilder sb)
102         throws SystemException;
103 
104     public Object fromXML(byte[] bytes);
105 
106     public Object fromXML(String xml);
107 
108     public long[] getAssetCategoryIds(Class<?> classObj, long classPK);
109 
110     public Map<String, long[]> getAssetCategoryIdsMap();
111 
112     public Map<String, String[]> getAssetCategoryUuidsMap();
113 
114     public String[] getAssetTagNames(Class<?> classObj, long classPK);
115 
116     public String[] getAssetTagNames(String className, long classPK);
117 
118     public Map<String, String[]> getAssetTagNamesMap();
119 
120     public boolean getBooleanParameter(String namespace, String name);
121 
122     public ClassLoader getClassLoader();
123 
124     public Map<String, List<MBMessage>> getComments();
125 
126     public long getCompanyId();
127 
128     public String getDataStrategy();
129 
130     public Date getEndDate();
131 
132     public long getGroupId();
133 
134     public String getLayoutPath(long layoutId);
135 
136     public Map<String, Lock> getLocks();
137 
138     public Map<?, ?> getNewPrimaryKeysMap(Class<?> classObj);
139 
140     public long getOldPlid();
141 
142     public Map<String, String[]> getParameterMap();
143 
144     public Map<String, List<KeyValuePair>> getPermissions();
145 
146     public long getPlid();
147 
148     public String getPortletPath(String portletId);
149 
150     public Set<String> getPrimaryKeys();
151 
152     public Map<String, List<RatingsEntry>> getRatingsEntries();
153 
154     public String getRootPath();
155 
156     public long getScopeGroupId();
157 
158     public long getScopeLayoutId();
159 
160     public long getSourceGroupId();
161 
162     public String getSourceLayoutPath(long layoutId);
163 
164     public String getSourcePortletPath(String portletId);
165 
166     public String getSourceRootPath();
167 
168     public Date getStartDate();
169 
170     public long getUserId(String userUuid) throws SystemException;
171 
172     public UserIdStrategy getUserIdStrategy() throws SystemException;
173 
174     public List<String> getZipEntries();
175 
176     public byte[] getZipEntryAsByteArray(String path);
177 
178     public InputStream getZipEntryAsInputStream(String path);
179 
180     public Object getZipEntryAsObject(String path);
181 
182     public String getZipEntryAsString(String path);
183 
184     public List<String> getZipFolderEntries();
185 
186     public List<String> getZipFolderEntries(String path);
187 
188     public ZipReader getZipReader();
189 
190     public ZipWriter getZipWriter();
191 
192     public boolean hasDateRange();
193 
194     public boolean hasNotUniquePerLayout(String dataKey);
195 
196     public boolean hasPrimaryKey(Class<?> classObj, String primaryKey);
197 
198     public void importComments(
199             Class<?> classObj, long classPK, long newClassPK, long groupId)
200         throws PortalException, SystemException;
201 
202     public void importLocks(Class<?> classObj, String key, String newKey)
203         throws PortalException, SystemException;
204 
205     public void importPermissions(
206             Class<?> classObj, long classPK, long newClassPK)
207         throws PortalException, SystemException;
208 
209     public void importPermissions(
210             String resourceObj, long resourcePK, long newResourcePK)
211         throws PortalException, SystemException;
212 
213     public void importRatingsEntries(
214             Class<?> classObj, long classPK, long newClassPK)
215         throws PortalException, SystemException;
216 
217     public boolean isPathNotProcessed(String path);
218 
219     public boolean isPrivateLayout();
220 
221     public boolean isWithinDateRange(Date modifiedDate);
222 
223     public void putNotUniquePerLayout(String dataKey);
224 
225     public void setClassLoader(ClassLoader classLoader);
226 
227     public void setGroupId(long groupId);
228 
229     public void setOldPlid(long oldPlid);
230 
231     public void setPlid(long plid);
232 
233     public void setPortetDataContextListener(
234         PortletDataContextListener portletDataContextListener);
235 
236     public void setPrivateLayout(boolean privateLayout);
237 
238     public void setScopeGroupId(long scopeGroupId);
239 
240     public void setScopeLayoutId(long scopeLayoutId);
241 
242     public void setSourceGroupId(long sourceGroupId);
243 
244     public String toXML(Object object);
245 
246 }