package com.idega.content.lucid.business;
import java.io.Serializable;
import java.rmi.RemoteException;
import java.util.Collection;
import java.util.List;
import javax.faces.model.SelectItem;
import org.jdom.Document;
import com.idega.content.lucid.bean.LucidApplicationInfo;
import com.idega.content.themes.helpers.bean.PageAccessibilityProperty;
import com.idega.content.themes.helpers.bean.TreeNodeStructure;
import com.idega.core.builder.business.BuilderService;
import com.idega.core.builder.data.ICDomain;
import com.idega.idegaweb.IWMainApplicationSettings;
public interface LucidEngine extends Serializable {
public static final String SPRING_BEAN_IDENTIFIER = "lucidEngine";
public String getJavaScriptResources();
public String getStyleSheetResources();
public String getJavaScriptResourcesForThemes();
public String getStyleSheetResourcesForThemes();
public List<String> getPermissionWindowResources();
public List<String> getPropertiesWindowResources();
public boolean isContentEditor();
public boolean isSuperAdmin();
public boolean setLocale(String locale);
public Collection<SelectItem> getAvailableLocales();
public String getCurrentLocaleValue();
/** From ThemesEngine **/
public String changePageUri(String pageKey, String pageTitle, boolean needSetPageTitle) throws RemoteException;
public boolean setNewLinkInArticleFile(String pageKey, String moduleClass, String pageUri) throws RemoteException;
public String savePageInfo(String pageKey, String[] keywords, String[] values) throws RemoteException;
public String[] getPageInfoValues(String pageKey, String[] keywords) throws RemoteException;
public String[] getPageInfoElements() throws RemoteException;
public String[] getSiteInfoElements() throws RemoteException;
public String[] getSiteInfoValues(String[] keywords, String language) throws RemoteException;
public String getSiteInfoValue(String keyword, String language, IWMainApplicationSettings settings, ICDomain domain);
public boolean saveSiteInfoValue(String keyword, String value) throws RemoteException;
public List<String> createPage(List<TreeNodeStructure> struct, Boolean isTopLevelPage, String numberInLevel, List<String> followingNodes) throws RemoteException;
public boolean deletePage(String pageKey, boolean deleteChildren) throws RemoteException;
public boolean deletePageAndDecrease(String pageKey, boolean deleteChildren, List<String> followingNodes) throws RemoteException;
public String getPageId() throws RemoteException;
public boolean setPageId(String id) throws RemoteException;
public boolean movePage(int newParentId, int nodeId, int numberInLevel, List<String> nodesToIncrease, List<String> nodesToDecrease) throws RemoteException;
public String getPathToImageFolder() throws RemoteException;
public boolean saveSiteInfo(String language, String[] keywords, String[] values);
public boolean isStartPage(String pageKey) throws RemoteException;
public boolean setAsStartPage(String pageKey) throws RemoteException;
public String createRootTemplate(ICDomain domain, BuilderService builder, int domainID, String format);
public boolean initializeCachedDomain(String domainName, ICDomain domain);
public boolean canUserActAsBuilderUser();
public String getPageUri(String pageKey);
public boolean changePageName(int id, String newName);
public boolean deleteArticlesFromDeletedPages(String pageKey);
public boolean deleteArticle(String resourcePath);
public Document getRenderedPageInfo(String pageKey, String id, String styleClass);
public String changePageUriAfterPageWasMoved(String pageKey);
public Document getReRenderedSiteInfo(String id, String styleClass);
public String getPageIdByUri(String uri);
public List<PageAccessibilityProperty> getPageAccessibilityProperties(String pageKey);
public boolean setPageAccessibilityProperty(String pageKey, String code, String value, String columnName);
/** END from ThemesEngine **/
public LucidApplicationInfo getStartInfo(Boolean fullInfo);
}