001: /*
002: * Copyright 2004 Outerthought bvba and Schaubroeck nv
003: *
004: * Licensed under the Apache License, Version 2.0 (the "License");
005: * you may not use this file except in compliance with the License.
006: * You may obtain a copy of the License at
007: *
008: * http://www.apache.org/licenses/LICENSE-2.0
009: *
010: * Unless required by applicable law or agreed to in writing, software
011: * distributed under the License is distributed on an "AS IS" BASIS,
012: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013: * See the License for the specific language governing permissions and
014: * limitations under the License.
015: */
016: package org.outerj.daisy.frontend.components.siteconf;
017:
018: import org.outerj.daisy.repository.VariantKey;
019: import org.outerj.daisy.repository.VersionState;
020: import org.outerj.daisy.repository.LockType;
021: import org.outerj.daisy.repository.schema.DocumentType;
022: import org.outerj.daisy.navigation.LookupAlternative;
023: import org.outerj.daisy.frontend.WikiVersionMode;
024: import org.apache.cocoon.xml.SaxBuffer;
025:
026: import java.io.File;
027: import java.util.List;
028:
029: public interface SiteConf {
030: VariantKey getNavigationDoc();
031:
032: String getNavigationDocId();
033:
034: /**
035: *
036: * @return null if there is no homepage document ID specified.
037: */
038: String getHomePageDocId();
039:
040: String getHomePage();
041:
042: long getCollectionId();
043:
044: boolean contextualizedTree();
045:
046: int getNavigationDepth();
047:
048: String getName();
049:
050: String getTitle();
051:
052: String getDescription();
053:
054: String getSkin();
055:
056: String getCocoonSitemapLocation();
057:
058: String getGlobalCocoonSitemapLocation();
059:
060: VersionState getNewVersionStateDefault();
061:
062: boolean getAutomaticLocking();
063:
064: LockType getLockType();
065:
066: /**
067: * Default lock time in milliseconds.
068: */
069: long getDefaultLockTime();
070:
071: boolean getAutoExtendLock();
072:
073: /**
074: * A SaxBuffer containing XML configuration data intended to customise the skin.
075: * The SaxBuffer does not contain startDocument and endDocument events.
076: */
077: SaxBuffer getSkinConf();
078:
079: long getBranchId();
080:
081: long getLanguageId();
082:
083: long getDefaultReferenceLanguageId();
084:
085: File getDirectory();
086:
087: /**
088: * Returns -1 if no default configured.
089: */
090: long getDefaultDocumentTypeId();
091:
092: /*
093: * Filters the list of document types to those that should be visible within the current site.
094: */
095: List<DocumentType> filterDocumentTypes(
096: List<DocumentType> documentTypes);
097:
098: String getPublisherRequestSet();
099:
100: /**
101: * Returns the lookup alternatives for navigation lookups. This list should
102: * contain at least one entry, the first entry should always represent the current
103: * site.
104: */
105: LookupAlternative[] getNavigationLookupAlternatives(
106: WikiVersionMode versionMode);
107: }
|