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.radeox.Messages;
30: import org.radeox.api.macro.MacroParameter;
31: import org.radeox.macro.book.BookServices;
32:
33: /*
34: * Macro for displaying links to external book services, book dealers or
35: * intranet libraries. IsbnMacro reads the mapping from names to urls from a
36: * configuration file and then maps an ISBN number like {isbn:1234} to the book
37: * e.g. on Amazon. @author stephan @team sonicteam
38: *
39: * @version $Id: IsbnMacro.java 29159 2007-04-19 01:46:15Z ajpoland@iupui.edu $
40: */
41:
42: public class IsbnMacro extends BaseLocaleMacro {
43: private String[] paramDescription = { Messages
44: .getString("IsbnMacro.0") }; //$NON-NLS-1$
45:
46: private String NEEDS_ISBN_ERROR;
47:
48: public String[] getParamDescription() {
49: return paramDescription;
50: }
51:
52: public String getLocaleKey() {
53: return "macro.isbn"; //$NON-NLS-1$
54: }
55:
56: public void execute(Writer writer, MacroParameter params)
57: throws IllegalArgumentException, IOException {
58:
59: if (params.getLength() == 1) {
60: BookServices.getInstance().appendUrl(writer,
61: params.get("0")); //$NON-NLS-1$
62: return;
63: } else {
64: throw new IllegalArgumentException(Messages
65: .getString("IsbnMacro.3")); //$NON-NLS-1$
66: }
67: }
68: }
|