com.kaltura.client.ObjectFactory Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of kalturaApiClient Show documentation
Show all versions of kalturaApiClient Show documentation
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
// ===================================================================================================
// _ __ _ _
// | |/ /__ _| | |_ _ _ _ _ __ _
// | ' .
//
// @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");
}
}
}