001    /**
002     * Copyright 2005-2012 The Kuali Foundation
003     *
004     * Licensed under the Educational Community License, Version 2.0 (the "License");
005     * you may not use this file except in compliance with the License.
006     * You may obtain a copy of the License at
007     *
008     * http://www.opensource.org/licenses/ecl2.php
009     *
010     * Unless required by applicable law or agreed to in writing, software
011     * distributed under the License is distributed on an "AS IS" BASIS,
012     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013     * See the License for the specific language governing permissions and
014     * limitations under the License.
015     */
016    package org.kuali.rice.ksb.api;
017    
018    import org.kuali.rice.core.api.CoreConstants;
019    
020    /**
021     * Defines various constants that are used by or in conjunction with the KSB api.
022     * 
023     * @author Kuali Rice Team (rice.collab@kuali.org)
024     *
025     */
026    public final class KsbApiConstants {
027    
028            /**
029             * The name of the KSB module
030             */
031            public static final String KSB_MODULE_NAME = "ksb";
032    
033        public final static String SERVICE_PATH_SOAP = "soap/" + Namespaces.MODULE_NAME + "/" + CoreConstants.Versions.VERSION_2_0;
034            
035            /**
036             * Defines the set of out-of-the-box service types that the KSB understands.
037             */
038            public static final class ServiceTypes {
039                    
040                    /**
041                     * The service type for services that use Spring's Http Invoker to perform Java Serialization over HTTP
042                     */
043                    public static final String HTTP_INVOKER = "httpInvoker";
044                    
045                    /**
046                     * The service type for services that use SOAP
047                     */
048                    public static final String SOAP = "SOAP";
049                    
050                    /**
051                     * The service type for services that use a REST-style approach 
052                     */
053                    public static final String REST = "REST";
054                    
055            }
056            
057            /**
058             * Defines various namespace-related constants for the KSB.
059             */
060            public static final class Namespaces {
061                     public static final String MODULE_NAME = "ksb";
062                    /**
063                     * The KSB namespace for version 2.x of Kuali Rice
064                     */
065            public static final String KSB_NAMESPACE_2_0 = CoreConstants.Namespaces.ROOT_NAMESPACE_PREFIX + "/" + MODULE_NAME + "/" + CoreConstants.Versions.VERSION_2_0;
066            
067            }
068            
069            private KsbApiConstants() {
070                    throw new UnsupportedOperationException("Should never be called!");
071            }
072            
073    }