001    /**
002     * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
003     *
004     * This library is free software; you can redistribute it and/or modify it under
005     * the terms of the GNU Lesser General Public License as published by the Free
006     * Software Foundation; either version 2.1 of the License, or (at your option)
007     * any later version.
008     *
009     * This library is distributed in the hope that it will be useful, but WITHOUT
010     * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
011     * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
012     * details.
013     */
014    
015    package com.liferay.portal.kernel.lar;
016    
017    import com.liferay.portal.kernel.security.pacl.permission.PortalRuntimePermission;
018    
019    import java.util.List;
020    
021    /**
022     * Provides a utility facade to the staged model data handler registry
023     * framework.
024     *
025     * @author Mate Thurzo
026     * @author Brian Wing Shun Chan
027     * @since  6.2
028     */
029    public class StagedModelDataHandlerRegistryUtil {
030    
031            /**
032             * Returns the registered staged model data handler with the class name.
033             *
034             * @param  className the name of the staged model class
035             * @return the registered staged model data handler with the class name, or
036             *         <code>null</code> if none are registered with the class name
037             */
038            public static StagedModelDataHandler<?> getStagedModelDataHandler(
039                    String className) {
040    
041                    return getStagedModelDataHandlerRegistry().getStagedModelDataHandler(
042                            className);
043            }
044    
045            /**
046             * Returns the staged model data handler registry.
047             *
048             * @return the staged model data handler registry
049             */
050            public static StagedModelDataHandlerRegistry
051                    getStagedModelDataHandlerRegistry() {
052    
053                    PortalRuntimePermission.checkGetBeanProperty(
054                            StagedModelDataHandlerRegistryUtil.class);
055    
056                    return _stagedModelDataHandlerRegistry;
057            }
058    
059            /**
060             * Returns all the registered staged model data handlers.
061             *
062             * @return the registered staged model data handlers
063             */
064            public static List<StagedModelDataHandler<?>> getStagedModelDataHandlers() {
065                    return getStagedModelDataHandlerRegistry().getStagedModelDataHandlers();
066            }
067    
068            /**
069             * Registers the staged model data handler.
070             *
071             * @param stagedModelDataHandler the staged model data handler to register
072             */
073            public static void register(
074                    StagedModelDataHandler<?> stagedModelDataHandler) {
075    
076                    getStagedModelDataHandlerRegistry().register(stagedModelDataHandler);
077            }
078    
079            /**
080             * Unregisters the staged model data handlers.
081             *
082             * @param stagedModelDataHandlers the staged model data handlers to
083             *        unregister
084             */
085            public static void unregister(
086                    List<StagedModelDataHandler<?>> stagedModelDataHandlers) {
087    
088                    for (StagedModelDataHandler<?> stagedModelDataHandler :
089                                    stagedModelDataHandlers) {
090    
091                            unregister(stagedModelDataHandler);
092                    }
093            }
094    
095            /**
096             * Unregisters the staged model data handler.
097             *
098             * @param stagedModelDataHandler the staged model data handler to unregister
099             */
100            public static void unregister(
101                    StagedModelDataHandler<?> stagedModelDataHandler) {
102    
103                    getStagedModelDataHandlerRegistry().unregister(stagedModelDataHandler);
104            }
105    
106            /**
107             * Sets the staged model data handler registry.
108             *
109             * @param stagedModelDataHandlerRegistry the staged model data handler
110             *        registry
111             */
112            public void setStagedModelDataHandlerRegistry(
113                    StagedModelDataHandlerRegistry stagedModelDataHandlerRegistry) {
114    
115                    PortalRuntimePermission.checkSetBeanProperty(getClass());
116    
117                    _stagedModelDataHandlerRegistry = stagedModelDataHandlerRegistry;
118            }
119    
120            private static StagedModelDataHandlerRegistry
121                    _stagedModelDataHandlerRegistry;
122    
123    }