01: /*
02: * Copyright 2005 Sun Microsystems, Inc. All rights reserved.
03: *
04: * Redistribution and use in source and binary forms, with or without
05: * modification, are permitted provided that the following conditions
06: * are met:
07: *
08: * - Redistributions of source code must retain the above copyright
09: * notice, this list of conditions and the following disclaimer.
10: *
11: * - Redistribution in binary form must reproduce the above copyright
12: * notice, this list of conditions and the following disclaimer in
13: * the documentation and/or other materials provided with the
14: * distribution.
15: *
16: * Neither the name of Sun Microsystems, Inc. or the names of
17: * contributors may be used to endorse or promote products derived
18: * from this software without specific prior written permission.
19: *
20: * This software is provided "AS IS," without a warranty of any
21: * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
22: * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
23: * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
24: * EXCLUDED. SUN AND ITS LICENSORS SHALL NOT BE LIABLE FOR ANY DAMAGES
25: * SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR
26: * DISTRIBUTING THE SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN
27: * OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR
28: * FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR
29: * PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF
30: * LIABILITY, ARISING OUT OF THE USE OF OR INABILITY TO USE SOFTWARE,
31: * EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
32: *
33: * You acknowledge that Software is not designed, licensed or intended
34: * any nuclear facility.
35: */
36:
37: package com.sun.portal.community.template;
38:
39: import java.util.Set;
40: import java.util.Map;
41: import java.util.Properties;
42: import java.util.Locale;
43: import java.util.ResourceBundle;
44:
45: public interface TemplateManager {
46:
47: /**
48: * Initialize TemplateManager from a servlet where is only one portal
49: * running.
50: *
51: * @param request
52: * @param response
53: * @throws com.sun.portal.community.manager.CommunityManagerException
54: */
55: public void init() throws TemplateException;
56:
57: /**
58: * Initialize CommunityManager from non-servlet environment (i.e. cacao)
59: * where there are more than one portal accessible.
60: *
61: * @param username
62: * @param password
63: * @param portalId
64: * @throws com.sun.portal.community.manager.CommunityManagerException
65: */
66: public void init(String portalId) throws TemplateException;
67:
68: /**
69: * Get the <code>TemplateDescriptor</code> corresponding to the template ID
70: * supplied.
71: *
72: * @param templateId ID of the template that you want to retrieve
73: * @param locale
74: * @return a template
75: */
76: public TemplateDescriptor getTemplateDescriptor(String templateId,
77: Locale locale) throws TemplateException;
78:
79: /**
80: * Get the template corresponding to the template ID supplied.
81: * Tokens are replaced by the actual value as provided in the token map.
82: *
83: * @param templateId ID of the template that you want to retrieve
84: * @param tokenMappings a map mapping role to its corresponding token mapping.
85: * (token mapping maps the token to its value to be substituted)
86: * @return a template
87: */
88: public Template getTemplate(String templateId, Map tokenMappings)
89: throws TemplateException;
90:
91: /**
92: * Get ID's of all existing templates in some logical order (the actual
93: * ordering is determined by the implementation)
94: * @return ID's of the existing templates
95: */
96: public Set getAllTemplateIds() throws TemplateException;
97: }
|