01: /*
02: * Copyright 2006-2007 Pentaho Corporation. All rights reserved.
03: * This software was developed by Pentaho Corporation and is provided under the terms
04: * of the Mozilla Public License, Version 1.1, or any later version. You may not use
05: * this file except in compliance with the license. If you need a copy of the license,
06: * please go to http://www.mozilla.org/MPL/MPL-1.1.txt.
07: *
08: * Software distributed under the Mozilla Public License is distributed on an "AS IS"
09: * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. Please refer to
10: * the license for the specific language governing your rights and limitations.
11: *
12: * Additional Contributor(s): Martin Schmid gridvision engineering GmbH
13: */
14: package org.pentaho.reportdesigner.crm.report.templateplugin;
15:
16: import org.jetbrains.annotations.NotNull;
17:
18: import java.util.LinkedHashSet;
19:
20: /**
21: * User: Martin
22: * Date: 27.02.2006
23: * Time: 09:43:01
24: */
25: public class LayoutPluginRegistry {
26: @NotNull
27: private static final LayoutPluginRegistry instance = new LayoutPluginRegistry();
28:
29: @NotNull
30: public static LayoutPluginRegistry getInstance() {
31: return instance;
32: }
33:
34: @NotNull
35: private LinkedHashSet<LayoutPlugin> layoutPlugins;
36:
37: private LayoutPluginRegistry() {
38: layoutPlugins = new LinkedHashSet<LayoutPlugin>();
39: }
40:
41: public void registerLayoutPlugin(@NotNull
42: LayoutPlugin layoutPlugin) {
43: layoutPlugins.add(layoutPlugin);
44: }
45:
46: @NotNull
47: public LinkedHashSet<LayoutPlugin> getLayoutPlugins() {
48: return new LinkedHashSet<LayoutPlugin>(layoutPlugins);
49: }
50:
51: }
|