1 /*
2 * Copyright (C) 1998-2000 Semiotek Inc. All Rights Reserved.
3 *
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted under the terms of either of the following
6 * Open Source licenses:
7 *
8 * The GNU General Public License, version 2, or any later version, as
9 * published by the Free Software Foundation
10 * (http://www.fsf.org/copyleft/gpl.html);
11 *
12 * or
13 *
14 * The Semiotek Public License (http://webmacro.org/LICENSE.)
15 *
16 * This software is provided "as is", with NO WARRANTY, not even the
17 * implied warranties of fitness to purpose, or merchantability. You
18 * assume all risks and liabilities associated with its use.
19 *
20 * See www.webmacro.org for more information on the WebMacro project.
21 */
22
23
24 package org.webmacro;
25
26 import org.webmacro.broker.ContextObjectFactory;
27
28 /***
29 * This class is used as a base class for legacy context tools so they can fit into the ContextObjectFactory
30 * framework.
31 */
32 public abstract class ContextTool implements ContextObjectFactory
33 {
34
35 /***
36 * A new tool object will be instantiated per-request by calling
37 * this method. A ContextTool is effectively a factory used to
38 * create objects for use in templates. Some tools may simply return
39 * themselves from this method; others may instantiate new objects
40 * to hold the per-request state.
41 */
42 public abstract Object init (Context c) throws PropertyException;
43
44 public Object get(Context c) throws PropertyException {
45 return init(c);
46 }
47 }