01: /*
02: * Licensed to the Apache Software Foundation (ASF) under one or more
03: * contributor license agreements. The ASF licenses this file to You
04: * under the Apache License, Version 2.0 (the "License"); you may not
05: * use this file except in compliance with the License.
06: * You may obtain a copy of the License at
07: *
08: * http://www.apache.org/licenses/LICENSE-2.0
09: *
10: * Unless required by applicable law or agreed to in writing, software
11: * distributed under the License is distributed on an "AS IS" BASIS,
12: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13: * See the License for the specific language governing permissions and
14: * limitations under the License. For additional information regarding
15: * copyright in this work, please see the NOTICE file in the top level
16: * directory of this distribution.
17: */
18:
19: package org.apache.roller.ui.rendering;
20:
21: import org.apache.roller.pojos.Template;
22:
23: /**
24: * A factory for Renderer objects.
25: *
26: * Implementations of this interface are used to handle the actual lookup of
27: * what Renderer object should be used to render a given resource.
28: */
29: public interface RendererFactory {
30:
31: /**
32: * Get a Renderer that will handle the given Template.
33: * If a RendererFactory does not have a Renderer which can handle the
34: * content then it may return null.
35: *
36: * This method purposely does not throw exceptions because the rendering
37: * system as a whole does not care if a given factory generates an exception
38: * while trying to find a renderer. It is up to the factory itself to
39: * report any relevant exceptions itself.
40: */
41: public Renderer getRenderer(Template template);
42:
43: }
|