001: /**********************************************************************************
002: * $URL:
003: * $Id:
004: ***********************************************************************************
005: *
006: * Copyright (c) 2006 The Sakai Foundation.
007: *
008: * Licensed under the Educational Community License, Version 1.0 (the "License");
009: * you may not use this file except in compliance with the License.
010: * You may obtain a copy of the License at
011: *
012: * http://www.opensource.org/licenses/ecl1.php
013: *
014: * Unless required by applicable law or agreed to in writing, software
015: * distributed under the License is distributed on an "AS IS" BASIS,
016: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
017: * See the License for the specific language governing permissions and
018: * limitations under the License.
019: *
020: **********************************************************************************/package org.sakaiproject.citation.api;
021:
022: import java.util.List;
023: import org.sakaiproject.citation.util.api.OsidConfigurationException;
024:
025: /**
026: * Repository OSID configuration
027: */
028: public interface ConfigurationService {
029: /**
030: * Fetch the appropriate XML configuration document for this user
031: * @return Configuration XML (eg file:///tomcat-home/sakai/config.xml)
032: */
033: public String getConfigurationXml()
034: throws OsidConfigurationException;
035:
036: /**
037: * Is the configuration XML file provided and readable
038: * @return true If the XML file is provided and readable, false otherwise
039: */
040: public boolean isConfigurationXmlAvailable();
041:
042: /**
043: * Fetch the appropriate XML database hierarchy document for this user
044: * @return Hierarchy XML (eg file:///tomcat-home/sakai/database.xml)
045: */
046: public String getDatabaseHierarchyXml()
047: throws OsidConfigurationException;
048:
049: /**
050: * Is the database hierarchy XML file provided and readable
051: * @return true If the XML file is provided and readable, false otherwise
052: */
053: public boolean isDatabaseHierarchyXmlAvailable();
054:
055: /**
056: * Fetch this user's group affiliations
057: * @return A list of group IDs (empty if no IDs exist)
058: */
059: public List<String> getGroupIds() throws OsidConfigurationException;
060:
061: /**
062: * Fetch the site specific Repository OSID package name
063: * @return Repository Package (eg org.sakaibrary.osid.repository.xserver)
064: */
065: public String getSiteConfigOsidPackageName();
066:
067: /**
068: * Fetch the meta-search username
069: * @return the username
070: */
071: public String getSiteConfigMetasearchUsername();
072:
073: /**
074: * Fetch the meta-search password
075: * @return the username
076: */
077: public String getSiteConfigMetasearchPassword();
078:
079: /**
080: * Fetch the meta-search base-URL
081: * @return the base URL
082: */
083: public String getSiteConfigMetasearchBaseUrl();
084:
085: /**
086: * Fetch the OpenURL label
087: * @return the label text
088: */
089: public String getSiteConfigOpenUrlLabel();
090:
091: /**
092: * Fetch the OpenURL resolver address
093: * @return the address (domain name or IP)
094: */
095: public String getSiteConfigOpenUrlResolverAddress();
096:
097: /**
098: * Fetch the Google base-URL
099: * @return the URL
100: */
101: public String getSiteConfigGoogleBaseUrl();
102:
103: /**
104: * Fetch the Sakai server key
105: * @return the key text
106: */
107: public String getSiteConfigSakaiServerKey();
108:
109: /**
110: * Enable/disable Citations Helper by default
111: * @param state true to set default 'On'
112: */
113: public void setCitationsEnabledByDefault(boolean state);
114:
115: /**
116: * Is Citations Helper by default enabled?
117: * @return true if so
118: */
119: public boolean isCitationsEnabledByDefault();
120:
121: /**
122: * Enable/disable site by site Citations Helper override
123: * @param state true to enable site by site Citations Helper
124: */
125: public void setAllowSiteBySiteOverride(boolean state);
126:
127: /**
128: * Is site by site Citations Helper enabled?
129: * @return true if so
130: */
131: public boolean isAllowSiteBySiteOverride();
132:
133: /**
134: * Enable/disable Google support
135: * @param state true to enable Google support
136: */
137: public void setGoogleScholarEnabled(boolean state);
138:
139: /**
140: * Is Google search enabled?
141: * @return true if so
142: */
143: public boolean isGoogleScholarEnabled();
144:
145: /**
146: * Enable/disable library search support
147: * @param state true to enable support
148: */
149: public void setLibrarySearchEnabled(boolean state);
150:
151: /**
152: * Is library search enabled?
153: * @return true if so
154: */
155: public boolean isLibrarySearchEnabled();
156:
157: }
|