/*
 * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
 *
 * WSO2 Inc. licenses this file to you under the Apache License,
 * Version 2.0 (the "License"); you may not use this file except
 * in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */

package org.wso2.carbon.uuf.internal.deployment;

import org.wso2.carbon.uuf.api.reference.ComponentReference;

import java.util.Dictionary;

/**
 * A provider that gives the class loader for a given component.
 *
 * @since 1.0.0
 */
public interface ClassLoaderProvider {

    /**
     * Returns class loader of the given component.
     *
     * @param componentName      full component name
     * @param componentVersion   component version
     * @param componentReference component reference
     * @return class loader for specified component
     */
    ClassLoader getClassLoader(String componentName, String componentVersion, ComponentReference componentReference);

    /**
     * Deploys an API as a MSF4J service.
     *
     * @param serviceImplementation service object which implements the interface
     * @param properties            service specific properties
     */
    void deployAPI(Object serviceImplementation, Dictionary<String, ?> properties);
}

@@ -836,20 +836,16 @@
 t gives 
-the 
 class lo
@@ -852,20 +852,17 @@
 ader
+s
  for 
-a given
+UUF
  com
@@ -867,16 +867,17 @@
 omponent
+s
 .%0A *%0A * 
@@ -956,16 +956,18 @@
 Returns 
+a 
 class lo
@@ -982,13 +982,21 @@
 the 
-given
+specified UUF
  com
@@ -1047,16 +1047,39 @@
     full
+y qualified name of the
  compone
@@ -1080,21 +1080,16 @@
 omponent
- name
 %0A     * 
@@ -1114,16 +1114,31 @@
 rsion   
+version of the 
 componen
@@ -1138,24 +1138,16 @@
 omponent
- version
 %0A     * 
@@ -1176,27 +1176,34 @@
 nce 
-component reference
+reference to the component
 %0A   
@@ -1231,16 +1231,20 @@
 der for 
+the 
 specifie

fix javadoc in ClassLoaderProvider interface