All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.kaltura.client.ObjectFactory Maven / Gradle / Ivy

Go to download

KalturaClient is a library of Java classes that can be used to interact with the Kaltura REST API. More information about the REST API can be found at http://corp.kaltura.com/Products/Kaltura-API Many of the Java classes in this library are auto-generated from a schema that defines the objects that are used to interect with the API. The current schema can be found at http://www.kaltura.com/api_v3/api_schema.php

There is a newer version: 19.3.0
Show newest version
// ===================================================================================================
//                           _  __     _ _
//                          | |/ /__ _| | |_ _  _ _ _ __ _
//                          | ' .
//
// @ignore
// ===================================================================================================
package com.kaltura.client;

import com.kaltura.client.types.APIException;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;

import java.lang.reflect.Constructor;

/**
 * This class was generated using generate.php
 * against an XML schema provided by Kaltura.
 * @date Thu, 09 Feb 12 10:24:52 +0200
 * 
 * MANUAL CHANGES TO THIS CLASS WILL BE OVERWRITTEN.
 */

public class ObjectFactory {
    
    @SuppressWarnings("unchecked")
	public static  T create(Element xmlElement, Class fallbackClazz) throws APIException {
    	NodeList objectTypeNodes = xmlElement.getElementsByTagName("objectType");
        Node objectTypeNode = objectTypeNodes.item(0);    

		Class clazz = null;
        if (objectTypeNode != null) {
	        String objectType = objectTypeNode.getTextContent();
	        
			try {
				clazz = (Class) Class.forName("com.kaltura.client.types." + objectType);
			} catch (ClassNotFoundException e1) {
				clazz = null;
			}
        }
        
        if(clazz == null){
			if(fallbackClazz != null) {
				clazz = fallbackClazz;
			} else {
				throw new APIException("Invalid object type" );
			}
        }

        try {
            Constructor ctor = clazz.getConstructor(Element.class);
            return (T) ctor.newInstance(xmlElement);
        } catch (Exception e) {
        	 throw new APIException("Failed to construct object");
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy