001    /**
002     * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
003     *
004     * This library is free software; you can redistribute it and/or modify it under
005     * the terms of the GNU Lesser General Public License as published by the Free
006     * Software Foundation; either version 2.1 of the License, or (at your option)
007     * any later version.
008     *
009     * This library is distributed in the hope that it will be useful, but WITHOUT
010     * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
011     * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
012     * details.
013     */
014    
015    package com.liferay.portal.kernel.plugin;
016    
017    import java.util.Date;
018    import java.util.List;
019    import java.util.Properties;
020    
021    /**
022     * @author Jorge Ferrer
023     * @author Brian Wing Shun Chan
024     */
025    public interface PluginPackage {
026    
027            public String getArtifactId();
028    
029            public String getArtifactURL();
030    
031            public String getAuthor();
032    
033            public String getChangeLog();
034    
035            public String getContext();
036    
037            public Properties getDeploymentSettings();
038    
039            public String getDownloadURL();
040    
041            public String getGroupId();
042    
043            public List<License> getLicenses();
044    
045            public List<String> getLiferayVersions();
046    
047            public String getLongDescription();
048    
049            public Date getModifiedDate();
050    
051            public String getModuleId();
052    
053            public String getName();
054    
055            public String getPackageId();
056    
057            public String getPageURL();
058    
059            public String getRecommendedDeploymentContext();
060    
061            public RemotePluginPackageRepository getRepository();
062    
063            public String getRepositoryURL();
064    
065            List<String> getRequiredDeploymentContexts();
066    
067            public List<Screenshot> getScreenshots();
068    
069            public String getShortDescription();
070    
071            public List<String> getTags();
072    
073            public List<String> getTypes();
074    
075            public String getVersion();
076    
077            public boolean isLaterVersionThan(PluginPackage pluginPackage);
078    
079            public boolean isPreviousVersionThan(PluginPackage pluginPackage);
080    
081            public boolean isSameVersionAs(PluginPackage pluginPackage);
082    
083            public void setAuthor(String author);
084    
085            public void setChangeLog(String changeLog);
086    
087            public void setContext(String context);
088    
089            public void setDeploymentSettings(Properties properties);
090    
091            public void setDownloadURL(String downloadURL);
092    
093            public void setLicenses(List<License> licenses);
094    
095            public void setLiferayVersions(List<String> liferayVersions);
096    
097            public void setLongDescription(String longDescription);
098    
099            public void setModifiedDate(Date modifiedDate);
100    
101            public void setName(String name);
102    
103            public void setPageURL(String pageURL);
104    
105            public void setRecommendedDeploymentContext(String deploymentContext);
106    
107            public void setRepository(RemotePluginPackageRepository repository);
108    
109            public void setRequiredDeploymentContexts(
110                    List<String> requiredDeploymentContexts);
111    
112            public void setScreenshots(List<Screenshot> screenshots);
113    
114            public void setShortDescription(String shortDescription);
115    
116            public void setTags(List<String> tags);
117    
118            public void setTypes(List<String> types);
119    
120    }