Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

Source code: com/opencms/file/I_CmsRegistry.java


1   /*
2    * File   : $Source: /usr/local/cvs/opencms/src/com/opencms/file/Attic/I_CmsRegistry.java,v $
3    * Date   : $Date: 2003/03/04 18:48:06 $
4    * Version: $Revision: 1.40 $
5    *
6    * This library is part of OpenCms -
7    * the Open Source Content Mananagement System
8    *
9    * Copyright (C) 2001  The OpenCms Group
10   *
11   * This library is free software; you can redistribute it and/or
12   * modify it under the terms of the GNU Lesser General Public
13   * License as published by the Free Software Foundation; either
14   * version 2.1 of the License, or (at your option) any later version.
15   *
16   * This library is distributed in the hope that it will be useful,
17   * but WITHOUT ANY WARRANTY; without even the implied warranty of
18   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
19   * Lesser General Public License for more details.
20   *
21   * For further information about OpenCms, please see the
22   * OpenCms Website: http://www.opencms.org
23   *
24   * You should have received a copy of the GNU Lesser General Public
25   * License along with this library; if not, write to the Free Software
26   * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
27   */
28  
29  package com.opencms.file;
30  
31  import java.util.*;
32  import com.opencms.core.*;
33  import com.opencms.report.I_CmsReport;
34  
35  /**
36   * This interface describes the registry for OpenCms.
37   *
38   * @author Andreas Schouten
39   * @author Thomas Weckert (t.weckert@alkacon.com)
40   * @version $Revision: 1.40 $ $Date: 2003/03/04 18:48:06 $
41   */
42  public interface I_CmsRegistry extends Cloneable {
43  
44      public static final int C_ANY_VERSION = -1;
45  
46      /** The name of the folder to extend the exportpath */
47      public static final String C_MODULE_PATH = "modules/";
48  
49      /** Type identificator for "traditional" modules */
50      public static final String C_MODULE_TYPE_TRADITIONAL = "traditional";
51  
52      /** Type identificator for "simple" (5.0 style) modules */
53      public static final String C_MODULE_TYPE_SIMPLE = "simple";
54  
55      /**
56       * This method clones the registry.
57       *
58       * @param CmsObject the current cms-object for the user.
59       * @return the cloned registry.
60       */
61      public I_CmsRegistry clone(CmsObject cms);
62  
63      /**
64       * This method creates a new module in the repository.
65       *
66       * @param modulename the name of the module
67       * @param niceModulename another name of the module
68       * @param description the description of the module
69       * @param author the name of the author
70       * @param type the type of the module
71       * @param exportPoints a map of all export points of the module 
72       * @param createDate the creation date of the module
73       * @param version the version number of the module
74       * @throws CmsException if the user has no right to create a new module
75       */
76      public void createModule(
77          String modulename,
78          String niceModulename,
79          String description,
80          String author,
81          String type,
82          Map exportPoints,
83          long createDate,
84          float version)
85          throws CmsException;
86  
87      /**
88       * This method creates a new module in the repository.
89       *
90       * @param modulename the name of the module
91       * @param niceModulename another name of the module
92       * @param description the description of the module
93       * @param author the name of the author
94       * @param type the type of the module
95       * @param exportPoints a map of all export points of the module 
96       * @param createDate the creation date of the module in the format: mm.dd.yyyy
97       * @param version the version number of the module
98       * @throws CmsException if the user has no right to create a new module
99       */
100     public void createModule(
101         String modulename,
102         String niceModulename,
103         String description,
104         String author,
105         String type,
106         Map exportPoints,
107         String createDate,
108         float version)
109         throws CmsException;
110     
111     /**
112      * Checks which modules depend on this module.<p>
113      * 
114      * If a module depends on this module, the name will be returned in the vector.<p>
115      * 
116      * @param replaceMode if <code>true</code> this is for module replacement, 
117      * if <code>false</code> it is form module deletion
118      * @return a Vector with modulenames that depends on the overgiven module.
119      */
120     public Vector deleteCheckDependencies(String modulename, boolean replaceMode) throws CmsException;
121     
122     /**
123      * This method checks for conflicting files before the deletion of a module.
124      * It uses several Vectors to return the different conflicting files.
125      *
126      * @param modulename the name of the module that should be deleted.
127      * @param filesWithProperty a return value. The files that are marked with the module-property for this module.
128      * @param missingFiles a return value. The files that are missing.
129      * @param wrongChecksum a return value. The files that should be deleted but have another checksum as at import-time.
130      * @param filesInUse a return value. The files that should be deleted but are in use by other modules.
131      * @param resourcesForProject a return value. The files that should be copied to a project to delete.
132      */
133     public void deleteGetConflictingFileNames(
134         String modulename,
135         Vector filesWithProperty,
136         Vector missingFiles,
137         Vector wrongChecksum,
138         Vector filesInUse,
139         Vector resourcesForProject)
140         throws CmsException;
141         
142     /**
143      * Deletes a module.<p>
144      * 
145      * This method is synchronized, so only one module can be deleted at a time.
146      *
147      * @param module the name of the module to be deleted
148      * @param exclusion a Vector with resource names that should be excluded from this deletion
149      * @param replaceMode if <code>true</code> this is for module replacement, so no dependencies will be checked
150      * @param report a report for the output
151      * 
152      * @throws CmsException in case of an error during deletion
153      */
154     public void deleteModule(String module, Vector exclusion, boolean replaceMode, I_CmsReport report) throws CmsException;
155     
156     /**
157      * Deletes the view for a module.
158      *
159      * @param String the name of the module.
160      */
161     public void deleteModuleView(String modulename) throws CmsException;
162     
163     /**
164      * This method exports a module to the filesystem.
165      *
166      * @param moduleName the name of the module to be exported.
167      * @param String[] an array of resources to be exported.
168      * @param fileName the name of the file to write the export to.
169      */
170     public void exportModule(String moduleName, String[] resources, String fileName, I_CmsReport report)
171         throws CmsException;
172         
173     /**
174      * This method returns the author of the module.
175      *
176      * @param String the name of the module.
177      * @return java.lang.String the author of the module.
178      */
179     public String getModuleAuthor(String modulename);
180     
181     /**
182      * This method returns the email of author of the module.
183      *
184      * @param String the name of the module.
185      * @return java.lang.String the email of author of the module.
186      */
187     public String getModuleAuthorEmail(String modulename);
188     
189     /**
190      * Gets the create date of the module.
191      *
192      * @param String the name of the module.
193      * @return long the create date of the module.
194      */
195     public long getModuleCreateDate(String modulname);
196     
197     /**
198      * Returns the module dependencies for the module.
199      *
200      * @param module String the name of the module to check.
201      * @param modules Vector in this parameter the names of the dependend modules will be returned.
202      * @param minVersions Vector in this parameter the minimum versions of the dependend modules will be returned.
203      * @param maxVersions Vector in this parameter the maximum versions of the dependend modules will be returned.
204      * @return int the amount of dependencies for the module will be returned.
205      */
206     public int getModuleDependencies(String modulename, Vector modules, Vector minVersions, Vector maxVersions);
207     
208     /**
209      * Returns the description of the module.
210      *
211      * @param String the name of the module.
212      * @return java.lang.String the description of the module.
213      */
214     public String getModuleDescription(String module);
215     
216     /**
217      * Gets the url to the documentation of the module.
218      *
219      * @param String the name of the module.
220      * @return java.lang.String the url to the documentation of the module.
221      */
222     public String getModuleDocumentPath(String modulename);
223     
224     /**
225      * Returns all filenames and hashcodes belonging to the module.
226      *
227      * @param String modulname the name of the module.
228      * @param retNames the names of the resources belonging to the module.
229      * @param retCodes the hashcodes of the resources belonging to the module.
230      * @return the amount of entrys.
231      */
232     public int getModuleFiles(String modulename, Vector retNames, Vector retCodes);
233     
234     /**
235      * Returns the class, that receives all maintenance-events for the module.
236      *
237      * @param String the name of the module.
238      * @return java.lang.Class that receives all maintenance-events for the module.
239      */
240     public Class getModuleMaintenanceEventClass(String modulname);
241     
242     /**
243      * Returns the name of the class, that receives all maintenance-events for the module.
244      *
245      * @param String the name of the module.
246      * @return java.lang.Class that receives all maintenance-events for the module.
247      */
248     public String getModuleMaintenanceEventName(String modulname);
249     
250     /**
251      * Returns the names of all available modules.
252      *
253      * @return String[] the names of all available modules.
254      */
255     public Enumeration getModuleNames();
256     
257     /**
258      * Gets the nice name of the module.
259      *
260      * @param String the name of the module.
261      * @return String the nice name of the module.
262      */
263     public String getModuleNiceName(String module);
264     
265     /**
266      * Gets a parameter for a module.
267      *
268      * @param modulename java.lang.String the name of the module.
269      * @param parameter java.lang.String the name of the parameter to set.
270      * @return value java.lang.String the value to set for the parameter.
271      */
272     public String getModuleParameter(String modulename, String parameter);
273     
274     /**
275      * Returns a parameter for a module.
276      *
277      * @param modulname String the name of the module.
278      * @param parameter String the name of the parameter.
279      * @return boolean the value for the parameter in the module.
280      */
281     public boolean getModuleParameterBoolean(String modulname, String parameter);
282     
283     /**
284      * Returns a parameter for a module.
285      *
286      * @param modulname String the name of the module.
287      * @param parameter String the name of the parameter.
288      * @param default the default value.
289      * @return boolean the value for the parameter in the module.
290      */
291     public Boolean getModuleParameterBoolean(String modulname, String parameter, Boolean defaultValue);
292     
293     /**
294      * Returns a parameter for a module.
295      *
296      * @param modulname String the name of the module.
297      * @param parameter String the name of the parameter.
298      * @param default the default value.
299      * @return boolean the value for the parameter in the module.
300      */
301     public boolean getModuleParameterBoolean(String modulname, String parameter, boolean defaultValue);
302     
303     /**
304      * Returns a parameter for a module.
305      *
306      * @param modulname String the name of the module.
307      * @param parameter String the name of the parameter.
308      * @param default the default value.
309      * @return boolean the value for the parameter in the module.
310      */
311     byte getModuleParameterByte(String modulname, String parameter);
312     
313     /**
314      * Returns a parameter for a module.
315      *
316      * @param modulname String the name of the module.
317      * @param parameter String the name of the parameter.
318      * @param default the default value.
319      * @return boolean the value for the parameter in the module.
320      */
321     public byte getModuleParameterByte(String modulname, String parameter, byte defaultValue);
322     
323     /**
324      * Returns a parameter for a module.
325      *
326      * @param modulname String the name of the module.
327      * @param parameter String the name of the parameter.
328      * @param default the default value.
329      * @return boolean the value for the parameter in the module.
330      */
331     public Byte getModuleParameterByte(String modulname, String parameter, Byte defaultValue);
332     
333     /**
334      * Returns a description for parameter in a module.
335      *
336      * @param modulname String the name of the module.
337      * @param parameter String the name of the parameter.
338      * @return String the description for the parameter in the module.
339      */
340     public String getModuleParameterDescription(String modulname, String parameter);
341     
342     /**
343      * Returns a parameter for a module.
344      *
345      * @param modulname String the name of the module.
346      * @param parameter String the name of the parameter.
347      * @return boolean the value for the parameter in the module.
348      */
349     public double getModuleParameterDouble(String modulname, String parameter);
350     
351     /**
352      * Returns a parameter for a module.
353      *
354      * @param modulname String the name of the module.
355      * @param parameter String the name of the parameter.
356      * @param default the default value.
357      * @return boolean the value for the parameter in the module.
358      */
359     public double getModuleParameterDouble(String modulname, String parameter, double defaultValue);
360     
361     /**
362      * Returns a parameter for a module.
363      *
364      * @param modulname String the name of the module.
365      * @param parameter String the name of the parameter.
366      * @param default the default value.
367      * @return boolean the value for the parameter in the module.
368      */
369     public Double getModuleParameterDouble(String modulname, String parameter, Double defaultValue);
370     
371     /**
372      * Returns a parameter for a module.
373      *
374      * @param modulname String the name of the module.
375      * @param parameter String the name of the parameter.
376      * @param default the default value.
377      * @return boolean the value for the parameter in the module.
378      */
379     public float getModuleParameterFloat(String modulname, String parameter);
380     
381     /**
382      * Returns a parameter for a module.
383      *
384      * @param modulname String the name of the module.
385      * @param parameter String the name of the parameter.
386      * @param default the default value.
387      * @return boolean the value for the parameter in the module.
388      */
389     public float getModuleParameterFloat(String modulname, String parameter, float defaultValue);
390     
391     /**
392      * Returns a parameter for a module.
393      *
394      * @param modulname String the name of the module.
395      * @param parameter String the name of the parameter.
396      * @param default the default value.
397      * @return boolean the value for the parameter in the module.
398      */
399     public Float getModuleParameterFloat(String modulname, String parameter, Float defaultValue);
400     
401     /**
402      * Returns a parameter for a module.
403      *
404      * @param modulname String the name of the module.
405      * @param parameter String the name of the parameter.
406      * @return boolean the value for the parameter in the module.
407      */
408     public int getModuleParameterInteger(String modulname, String parameter);
409     
410     /**
411      * Returns a parameter for a module.
412      *
413      * @param modulname String the name of the module.
414      * @param parameter String the name of the parameter.
415      * @param default the default value.
416      * @return boolean the value for the parameter in the module.
417      */
418     public int getModuleParameterInteger(String modulname, String parameter, int defaultValue);
419     
420     /**
421      * Returns a parameter for a module.
422      *
423      * @param modulname String the name of the module.
424      * @param parameter String the name of the parameter.
425      * @param default the default value.
426      * @return boolean the value for the parameter in the module.
427      */
428     public Integer getModuleParameterInteger(String modulname, String parameter, Integer defaultValue);
429     
430     /**
431      * Returns a parameter for a module.
432      *
433      * @param modulname String the name of the module.
434      * @param parameter String the name of the parameter.
435      * @param default the default value.
436      * @return boolean the value for the parameter in the module.
437      */
438     public long getModuleParameterLong(String modulname, String parameter);
439     
440     /**
441      * Returns a parameter for a module.
442      *
443      * @param modulname String the name of the module.
444      * @param parameter String the name of the parameter.
445      * @param default the default value.
446      * @return boolean the value for the parameter in the module.
447      */
448     public long getModuleParameterLong(String modulname, String parameter, long defaultValue);
449     
450     /**
451      * Returns a parameter for a module.
452      *
453      * @param modulname String the name of the module.
454      * @param parameter String the name of the parameter.
455      * @param default the default value.
456      * @return boolean the value for the parameter in the module.
457      */
458     public Long getModuleParameterLong(String modulname, String parameter, Long defaultValue);
459     /**
460      * Gets all parameter-names for a module.
461      *
462      * @param modulename String the name of the module.
463      * @return value String[] the names of the parameters for a module.
464      */
465     public String[] getModuleParameterNames(String modulename);
466     
467     /**
468      * Returns a parameter for a module.
469      *
470      * @param modulname String the name of the module.
471      * @param parameter String the name of the parameter.
472      * @return boolean the value for the parameter in the module.
473      */
474     public String getModuleParameterString(String modulname, String parameter);
475     
476     /**
477      * Returns a parameter for a module.
478      *
479      * @param modulname String the name of the module.
480      * @param parameter String the name of the parameter.
481      * @param default the default value.
482      * @return boolean the value for the parameter in the module.
483      */
484     public String getModuleParameterString(String modulname, String parameter, String defaultValue);
485     
486     /**
487      * This method returns the type of a parameter in a module.
488      *
489      * @param modulename the name of the module.
490      * @param parameter the name of the parameter.
491      * @return the type of the parameter.
492      */
493     public String getModuleParameterType(String modulename, String parameter);
494     
495     /**
496      * Returns all repositories for a module.
497      *
498      * @param String modulname the name of the module.
499      * @return java.lang.String[] the reprositories of a module.
500      */
501     public String[] getModuleRepositories(String modulename);
502     
503     /**
504      * Returns the upload-date for the module.
505      *
506      * @param String the name of the module.
507      * @return java.lang.String the upload-date for the module.
508      */
509     public long getModuleUploadDate(String modulename);
510     
511     /**
512      * Returns the user-name of the user who had uploaded the module.
513      *
514      * @param String the name of the module.
515      * @return java.lang.String the user-name of the user who had uploaded the module.
516      */
517     public String getModuleUploadedBy(String module);
518     
519     
520     /**
521      * This method returns the version of the module.
522      *
523      * @param String the name of the module.
524      * @return java.lang.String the version of the module.
525      */
526     public float getModuleVersion(String modulename);
527     
528     /**
529      * Returns the name of the view, that is implemented by the module.
530      *
531      * @param String the name of the module.
532      * @return java.lang.String the name of the view, that is implemented by the module.
533      */
534     public String getModuleViewName(String modulename);
535     
536     /**
537      * Returns the url to the view-url for the module within the system.
538      *
539      * @param String the name of the module.
540      * @return java.lang.String the view-url to the module.
541      */
542     public String getModuleViewUrl(String modulename);
543     
544 
545     /**
546      * Returns all lifecycle classes for all modules.
547      *
548      * @param Vector classes in this parameter the classes will be returned.
549      * @return int the amount of classes.
550      */
551     public int getModuleLifeCycle(Vector classes);
552     
553 
554     /**
555      * Returns the name of the class, that contains the publish method of the module.
556      *
557      * @param String the name of the module.
558      * @return java.lang.Class that contains the publish method of the module.
559      */
560     public String getModulePublishClass(String modulname);
561 
562     /**
563      * Returns all publishable classes for all modules.
564      *
565      * @param Vector classes in this parameter the classess will be returned.
566      * @param String requiredMethod The value of the methodTag for the different
567      *      methods useable after publish.
568      *          null means the standard publish method
569      *          "linkpublish" means the method that needs the changed links as parameter (i.e. search)
570      * @return int the amount of classess.
571      */
572     public int getModulePublishables(Vector classes, String requiredMethod);
573 
574     /**
575      * Returns all exportable classes for all modules.
576      *
577      * @param Hashtable classes in this parameter the classes will be returned.
578      * @return int the amount of classes.
579      */
580     public int getModuleExportables(Hashtable classes);
581 
582     /**
583      * Returns all repositories for all modules.
584      *
585      * @return java.lang.String[] the reprositories of all modules.
586      */
587     public String[] getRepositories();
588 
589     /**
590      * Returns all Resourcetypes and korresponding parameter for System and all modules.
591      *
592      * @param Vector names in this parameter the names of the Resourcetypes will be returned.
593      * @param Vector launcherTypes in this parameters the launcherType will be returned(int).
594      * @param Vector launcherClass in this parameters the launcherClass will be returned.
595      * @param Vector resourceClass in this parameters the resourceClass will be returned.
596      * @return int the amount of resourcetypes.
597      */
598     public int getResourceTypes(Vector names, Vector launcherTypes, Vector launcherClass, Vector resourceClass);
599 
600     /**
601      * Returns a value for a system-key.
602      * E.g. <code>&lt;system&gt;&lt;mailserver&gt;mail.server.com&lt;/mailserver&gt;&lt;/system&gt;</code>
603      * can be requested via <code>getSystemValue("mailserver");</code> and returns "mail.server.com.
604      *
605      * @param String the key of the system-value.
606      * @return the value for that system-key.
607      */
608     public String getSystemValue(String key);
609 
610     /**
611      * Returns a vector of value for a system-key.
612      *
613      * @param String the key of the system-value.
614      * @return the values for that system-key.
615      */
616     public Hashtable getSystemValues(String key);
617 
618     /**
619      * Return the XML "system" node Element from the registry for further 
620      * processing in another class.
621      * @return the system node.
622      */
623     public org.w3c.dom.Element getSystemElement();
624 
625     /**
626      * Returns all views and korresponding urls for all modules.
627      *
628      * @param String[] views in this parameter the views will be returned.
629      * @param String[] urls in this parameters the urls vor the views will be returned.
630      * @return int the amount of views.
631      */
632     public int getViews(Vector views, Vector urls);
633 
634     /**
635      * Checks the dependencies for a new or replaced module.<p>
636      * 
637      * @param moduleZip the name of the zipfile for the new module.
638      * @param replaceMode if <code>true</code> this is for module replacement, 
639      * if <code>false</code> it is form module deletion
640      * @return a Vector with dependencies that are not fullfilled.
641      */
642     public Vector importCheckDependencies(String moduleZip, boolean replaceMode) throws CmsException;
643     
644     /**
645      *  Checks for files that already exist in the system but should be replaced by the module.
646      *
647      *  @param moduleZip The name of the zip-file to import.
648      *  @return The complete paths to the resources that have conflicts.
649      */
650     public Vector importGetConflictingFileNames(String moduleZip) throws CmsException;
651     
652     /**
653      *  Returns the name of the module to be imported.
654      *
655      *  @param moduleZip the name of the zip-file to import from.
656      *  @return The name of the module to be imported.
657      */
658     public Map importGetModuleInfo(String moduleZip);   
659     
660     /**
661      *  Returns all files that are needed to create a project for the module-import.
662      *
663      *  @param moduleZip The name of the zip-file to import.
664      *  @return The complete paths for resources that should be in the import-project.
665      */
666     public Vector importGetResourcesForProject(String moduleZip) throws CmsException;
667     
668     /**
669      *  Imports a module. This method is synchronized, so only one module can be imported at on time.
670      *
671      *  @param moduleZip the name of the zip-file to import from.
672      *  @param exclusion a Vector with resource-names that should be excluded from this import.
673      */
674     public void importModule(String moduleZip, Vector exclusion, I_CmsReport report) throws CmsException;
675     
676     /**
677      * Checks if the module exists already in the repository.
678      *
679      * @param String the name of the module.
680      * @return true if the module exists, else false.
681      */
682     public boolean moduleExists(String modulename);
683     
684     /**
685      * This method sets the author of the module.
686      *
687      * @param String the name of the module.
688      * @param String the name of the author.
689      */
690     public void setModuleAuthor(String modulename, String author) throws CmsException;
691     
692     /**
693      * This method sets the email of author of the module.
694      *
695      * @param String the name of the module.
696      * @param String the email of author of the module.
697      */
698     public void setModuleAuthorEmail(String modulename, String email) throws CmsException;
699     
700     /**
701      * Sets the create date of the module.
702      *
703      * @param String the name of the module.
704      * @param long the create date of the module.
705      */
706     public void setModuleCreateDate(String modulname, long createdate) throws CmsException;
707     
708     /**
709      * Sets the create date of the module.
710      *
711      * @param String the name of the module.
712      * @param String the create date of the module. Format: mm.dd.yyyy
713      */
714     public void setModuleCreateDate(String modulname, String createdate) throws CmsException;
715     
716     /**
717      * Sets the module dependencies for the module.
718      *
719      * @param module String the name of the module to check.
720      * @param modules Vector in this parameter the names of the dependend modules will be returned.
721      * @param minVersions Vector in this parameter the minimum versions of the dependend modules will be returned.
722      * @param maxVersions Vector in this parameter the maximum versions of the dependend modules will be returned.
723      */
724     public void setModuleDependencies(String modulename, Vector modules, Vector minVersions, Vector maxVersions)
725         throws CmsException;
726         
727     /**
728      * Sets the description of the module.
729      *
730      * @param String the name of the module.
731      * @param String the description of the module.
732      */
733     public void setModuleDescription(String module, String description) throws CmsException;
734     
735     /**
736      * Sets the url to the documentation of the module.
737      *
738      * @param String the name of the module.
739      * @param java.lang.String the url to the documentation of the module.
740      */
741     public void setModuleDocumentPath(String modulename, String url) throws CmsException;
742     
743     /**
744      * Sets the classname, that receives all maintenance-events for the module.
745      *
746      * @param String the name of the module.
747      * @param java.lang.Class that receives all maintenance-events for the module.
748      */
749     public void setModuleMaintenanceEventClass(String modulname, String classname) throws CmsException;
750     
751 
752     /**
753      * Sets the classname, that contains the publish method of the module.
754      *
755      * @param String the name of the module.
756      * @param String the name of the class that contains the publish method of the module.
757      */
758     public void setModulePublishClass(String modulname, String classname) throws CmsException;
759 
760     /**
761      * Sets the description of the module.
762      *
763      * @param String the name of the module.
764      * @param String the nice name of the module.
765      */
766     public void setModuleNiceName(String module, String nicename) throws CmsException;
767     
768     /**
769      * Sets a parameter for a module.
770      *
771      * @param modulename java.lang.String the name of the module.
772      * @param parameter java.lang.String the name of the parameter to set.
773      * @param the value to set for the parameter.
774      */
775     public void setModuleParameter(String modulename, String parameter, byte value) throws CmsException;
776     
777     /**
778      * Sets a parameter for a module.
779      *
780      * @param modulename java.lang.String the name of the module.
781      * @param parameter java.lang.String the name of the parameter to set.
782      * @param the value to set for the parameter.
783      */
784     public void setModuleParameter(String modulename, String parameter, double value) throws CmsException;
785     
786     /**
787      * Sets a parameter for a module.
788      *
789      * @param modulename java.lang.String the name of the module.
790      * @param parameter java.lang.String the name of the parameter to set.
791      * @param the value to set for the parameter.
792      */
793     public void setModuleParameter(String modulename, String parameter, float value) throws CmsException;
794     
795     /**
796      * Sets a parameter for a module.
797      *
798      * @param modulename java.lang.String the name of the module.
799      * @param parameter java.lang.String the name of the parameter to set.
800      * @param the value to set for the parameter.
801      */
802     public void setModuleParameter(String modulename, String parameter, int value) throws CmsException;
803     
804     /**
805      * Sets a parameter for a module.
806      *
807      * @param modulename java.lang.String the name of the module.
808      * @param parameter java.lang.String the name of the parameter to set.
809      * @param the value to set for the parameter.
810      */
811     public void setModuleParameter(String modulename, String parameter, long value) throws CmsException;
812     
813     /**
814      * Sets a parameter for a module.
815      *
816      * @param modulename java.lang.String the name of the module.
817      * @param parameter java.lang.String the name of the parameter to set.
818      * @param the value to set for the parameter.
819      */
820     public void setModuleParameter(String modulename, String parameter, Boolean value) throws CmsException;
821     
822     /**
823      * Sets a parameter for a module.
824      *
825      * @param modulename java.lang.String the name of the module.
826      * @param parameter java.lang.String the name of the parameter to set.
827      * @param the value to set for the parameter.
828      */
829     public void setModuleParameter(String modulename, String parameter, Byte value) throws CmsException;
830     
831     /**
832      * Sets a parameter for a module.
833      *
834      * @param modulename java.lang.String the name of the module.
835      * @param parameter java.lang.String the name of the parameter to set.
836      * @param the value to set for the parameter.
837      */
838     public void setModuleParameter(String modulename, String parameter, Double value) throws CmsException;
839     
840     /**
841      * Sets a parameter for a module.
842      *
843      * @param modulename java.lang.String the name of the module.
844      * @param parameter java.lang.String the name of the parameter to set.
845      * @param the value to set for the parameter.
846      */
847     public void setModuleParameter(String modulename, String parameter, Float value) throws CmsException;
848     
849     /**
850      * Sets a parameter for a module.
851      *
852      * @param modulename java.lang.String the name of the module.
853      * @param parameter java.lang.String the name of the parameter to set.
854      * @param the value to set for the parameter.
855      */
856     public void setModuleParameter(String modulename, String parameter, Integer value) throws CmsException;
857     
858     /**
859      * Sets a parameter for a module.
860      *
861      * @param modulename java.lang.String the name of the module.
862      * @param parameter java.lang.String the name of the parameter to set.
863      * @param the value to set for the parameter.
864      */
865     public void setModuleParameter(String modulename, String parameter, Long value) throws CmsException;
866     
867     /**
868      * Sets a parameter for a module.
869      *
870      * @param modulename java.lang.String the name of the module.
871      * @param parameter java.lang.String the name of the parameter to set.
872      * @param value java.lang.String the value to set for the parameter.
873      */
874     public void setModuleParameter(String modulename, String parameter, String value) throws CmsException;
875     
876     /**
877      * Sets a parameter for a module.
878      *
879      * @param modulename java.lang.String the name of the module.
880      * @param parameter java.lang.String the name of the parameter to set.
881      * @param the value to set for the parameter.
882      */
883     public void setModuleParameter(String modulename, String parameter, boolean value) throws CmsException;
884     
885     /**
886      * Sets the module dependencies for the module.
887      *
888      * @param module String the name of the module to check.
889      * @param names Vector with parameternames
890      * @param descriptions Vector with parameterdescriptions
891      * @param types Vector with parametertypes (string, float,...)
892      * @param values Vector with defaultvalues for parameters
893      */
894     public void setModuleParameterdef(
895         String modulename,
896         Vector names,
897         Vector descriptions,
898         Vector types,
899         Vector values)
900         throws CmsException;
901         
902     /**
903      * Sets all repositories for a module.
904      *
905      * @param String modulname the name of the module.
906      * @param String[] the reprositories of a module.
907      */
908     public void setModuleRepositories(String modulename, String[] repositories) throws CmsException;
909     
910     /**
911      * This method sets the version of the module.
912      *
913      * @param modulename the name of the module.
914      * @param version the version of the module.
915      */
916     public void setModuleVersion(String modulename, String version) throws CmsException;
917     
918     /**
919      * Sets a view for a module
920      *
921      * @param String the name of the module.
922      * @param String the name of the view, that is implemented by the module.
923      * @param String the url of the view, that is implemented by the module.
924      */
925     public void setModuleView(String modulename, String viewname, String viewurl) throws CmsException;
926 
927     /**
928      * Public method to set system values.
929      *
930      * @param String dataName the name of the tag to set the data for.
931      * @param String the value to be set.
932      */
933     public void setSystemValue(String dataName, String value) throws CmsException;
934 
935     /**
936      * Public method to set system values with hashtable.
937      *
938      * @param String dataName the name of the tag to set the data for.
939      * @param Hashtable the value to be set.
940      */
941     public void setSystemValues(String dataName, Hashtable values) throws CmsException;
942 
943     /**
944      * Returns all exportpoints and paths.
945      *
946      *
947      * @return Hashtable The exportpoints and the paths.
948      */
949     public Hashtable getExportpoints();
950 
951     /**
952      * Returns the value of the "type" node of a module subtree in the registry.
953      * @return the value of the "type" node of a module
954      */
955     public String getModuleType(String theModulename);
956 
957     /**
958      * Sets the type for a given module.
959      * @param theModuleName the name of the module
960      * @param theModuleType the new type of the module
961      */
962     public void setModuleType(String theModulename, String theModuleType);
963 }