001    /**
002     * Copyright (c) 2000-2010 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            public List<Screenshot> getScreenshots();
066    
067            public String getShortDescription();
068    
069            public List<String> getTags();
070    
071            public List<String> getTypes();
072    
073            public String getVersion();
074    
075            public boolean isLaterVersionThan(PluginPackage pluginPackage);
076    
077            public boolean isPreviousVersionThan(PluginPackage pluginPackage);
078    
079            public boolean isSameVersionAs(PluginPackage pluginPackage);
080    
081            public void setAuthor(String author);
082    
083            public void setChangeLog(String changeLog);
084    
085            public void setContext(String context);
086    
087            public void setDeploymentSettings(Properties properties);
088    
089            public void setDownloadURL(String downloadURL);
090    
091            public void setLicenses(List<License> licenses);
092    
093            public void setLiferayVersions(List<String> liferayVersions);
094    
095            public void setLongDescription(String longDescription);
096    
097            public void setModifiedDate(Date modifiedDate);
098    
099            public void setName(String name);
100    
101            public void setPageURL(String pageURL);
102    
103            public void setRecommendedDeploymentContext(String deploymentContext);
104    
105            public void setRepository(RemotePluginPackageRepository repository);
106    
107            public void setScreenshots(List<Screenshot> screenshots);
108    
109            public void setShortDescription(String shortDescription);
110    
111            public void setTags(List<String> tags);
112    
113            public void setTypes(List<String> types);
114    
115    }