001/*
002 * This library is part of OpenCms -
003 * the Open Source Content Management System
004 *
005 * Copyright (c) Alkacon Software GmbH & Co. KG (http://www.alkacon.com)
006 *
007 * This library is free software; you can redistribute it and/or
008 * modify it under the terms of the GNU Lesser General Public
009 * License as published by the Free Software Foundation; either
010 * version 2.1 of the License, or (at your option) any later version.
011 *
012 * This library is distributed in the hope that it will be useful,
013 * but WITHOUT ANY WARRANTY; without even the implied warranty of
014 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
015 * Lesser General Public License for more details.
016 *
017 * For further information about Alkacon Software, please see the
018 * company website: http://www.alkacon.com
019 *
020 * For further information about OpenCms, please see the
021 * project website: http://www.opencms.org
022 *
023 * You should have received a copy of the GNU Lesser General Public
024 * License along with this library; if not, write to the Free Software
025 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
026 */
027
028package org.opencms.ade.galleries.shared;
029
030import org.opencms.ade.galleries.shared.I_CmsGalleryProviderConstants.GalleryMode;
031
032import java.util.List;
033
034/**
035 * The gallery configuration interface.<p>
036 */
037public interface I_CmsGalleryConfiguration {
038
039    /**
040     * Returns the currently selected element.<p>
041     *
042     * @return the currently selected element
043     */
044    String getCurrentElement();
045
046    /**
047     * Returns the gallery mode.<p>
048     *
049     * @return the gallery mode
050     */
051    GalleryMode getGalleryMode();
052
053    /**
054     * Returns the start gallery path.<p>
055     *
056     * @return the start gallery path
057     */
058    String getGalleryPath();
059
060    /**
061     * Gets the prefix for the key used to store the last selected gallery.<p>
062     *
063     * @return the prefix for the key used to store the last selected gallery
064     */
065    String getGalleryStoragePrefix();
066
067    /**
068     * Returns the gallery type name.<p>
069     *
070     * @return the gallery type name
071     */
072    String getGalleryTypeName();
073
074    /**
075     * Returns the available gallery types.<p>
076     *
077     * @return the available gallery types
078     */
079    String[] getGalleryTypes();
080
081    /**
082     * Returns the image format names.<p>
083     *
084     * @return the image format names
085     */
086    String getImageFormatNames();
087
088    /**
089     * Returns the image formats.<p>
090     *
091     * @return the image formats
092     */
093    String getImageFormats();
094
095    /**
096     * Returns the content locale.<p>
097     *
098     * @return the content locale
099     */
100    String getLocale();
101
102    /**
103     * Gets the page id.
104     *
105     * @return the page id
106     */
107    String getPageId();
108
109    /**
110     * Returns the path of the edited resource.<p>
111     *
112     * @return the path of the edited resource
113     */
114    String getReferencePath();
115
116    /**
117     * Returns the available resource types.<p>
118     *
119     * @return the available resource types
120     */
121    List<String> getResourceTypes();
122
123    /**
124     * Returns the searchable types.<p>
125     *
126     * @return the searchable types
127     */
128    List<String> getSearchTypes();
129
130    /**
131     * Returns the start folder.<p>
132     *
133     * @return the start folder
134     */
135    String getStartFolder();
136
137    /**
138     * Returns the start site.<p>
139     *
140     * @return the start site
141     */
142    String getStartSite();
143
144    /**
145     * Gets the tab configuration.<p>
146     *
147     * @return the gallery tab configuration
148     */
149    CmsGalleryTabConfiguration getTabConfiguration();
150
151    /**
152     * Gets the tree token.<p>
153     *
154     * The tree token is used to save/load tree opening states for tree tabs in the gallery
155     * dialog. If two widget instances use different tree tokens, opening or closing tree entries
156     * in one will not effect the tree opening state of the other.
157     *
158     * @return the tree token
159     */
160    String getTreeToken();
161
162    /**
163     * Returns the upload folder.<p>
164     *
165     * @return the upload folder
166     */
167    String getUploadFolder();
168
169    /**
170     * Returns true if the galleries should be selectable.<p>
171     *
172     * @return true if the galleries should be selectable
173     */
174    boolean isGalleriesSelectable();
175
176    /**
177     * Returns if files are selectable.<p>
178     *
179     * @return <code>true</code> if files are selectable
180     */
181    boolean isIncludeFiles();
182
183    /**
184     * Returns false if the results should not be selectable.<p>
185     *
186     * @return false if the results should not be selectable
187     */
188    boolean isResultsSelectable();
189
190    /**
191     * Returns if the site selector should be shown.<p>
192     *
193     * @return <code>true</code> if the site selector should be shown
194     */
195    boolean isShowSiteSelector();
196
197    /**
198     * Returns if image formats should be used in preview.<p>
199     *
200     * @return <code>true</code> if image format should be used in preview
201     */
202    boolean isUseFormats();
203
204    /**
205     * Sets the currentElement.<p>
206     *
207     * @param currentElement the currentElement to set
208     */
209    void setCurrentElement(String currentElement);
210
211    /**
212     * Sets the start folder.<p>
213     *
214     * @param startFolder the start folder
215     */
216    void setStartFolder(String startFolder);
217}