01: /*
02: * This file is part of "SnipSnap Radeox Rendering Engine".
03: *
04: * Copyright (c) 2002 Stephan J. Schmidt, Matthias L. Jugel
05: * All Rights Reserved.
06: *
07: * Please visit http://radeox.org/ for updates and contact.
08: *
09: * --LICENSE NOTICE--
10: * Licensed under the Apache License, Version 2.0 (the "License");
11: * you may not use this file except in compliance with the License.
12: * You may obtain a copy of the License at
13: *
14: * http://www.apache.org/licenses/LICENSE-2.0
15: *
16: * Unless required by applicable law or agreed to in writing, software
17: * distributed under the License is distributed on an "AS IS" BASIS,
18: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19: * See the License for the specific language governing permissions and
20: * limitations under the License.
21: * --LICENSE NOTICE--
22: */
23:
24: package org.radeox.macro;
25:
26: import java.io.IOException;
27: import java.io.Writer;
28:
29: import org.apache.commons.logging.Log;
30: import org.apache.commons.logging.LogFactory;
31: import org.radeox.Messages;
32: import org.radeox.api.macro.MacroParameter;
33:
34: /*
35: * Macro to display quotations from other sources. The output is wrapped usually
36: * in <blockquote> to look like a quotation. @author stephan @team sonicteam
37: *
38: * @version $Id: QuoteMacro.java 29159 2007-04-19 01:46:15Z ajpoland@iupui.edu $
39: */
40:
41: public class QuoteMacro extends LocalePreserved {
42: private static Log log = LogFactory.getLog(QuoteMacro.class);
43:
44: private String[] paramDescription = {
45: Messages.getString("QuoteMacro.0"), //$NON-NLS-1$
46: Messages.getString("QuoteMacro.1") }; //$NON-NLS-1$
47:
48: public String[] getParamDescription() {
49: return paramDescription;
50: }
51:
52: public QuoteMacro() {
53: }
54:
55: public String getLocaleKey() {
56: return "macro.quote"; //$NON-NLS-1$
57: }
58:
59: public void execute(Writer writer, MacroParameter params)
60: throws IllegalArgumentException, IOException {
61:
62: writer
63: .write("<blockquote class=\"quote\"><p class=\"paragraph\">"); //$NON-NLS-1$
64: writer.write(params.getContent());
65: String source = Messages.getString("QuoteMacro.4"); // i18n //$NON-NLS-1$
66: if (params.getLength() == 2) {
67: source = params.get(1);
68: }
69: // if more than one was present, we
70: // should show a description for the link
71: if (params.getLength() > 0) {
72: writer.write("<a href=\"" + params.get(0) + "\">"); //$NON-NLS-1$ //$NON-NLS-2$
73: writer.write(source);
74: writer.write("</a>"); //$NON-NLS-1$
75: }
76: writer.write("</p></blockquote>"); //$NON-NLS-1$
77: return;
78: }
79: }
|