<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Java_bridge {

    public function checkJavaExtension()
    {
		if(!extension_loaded('java'))
		{
			$sapi_type = php_sapi_name();
			$port = (isset($_SERVER['SERVER_PORT']) 
			&& (($_SERVER['SERVER_PORT'])>1024)) 
			? $_SERVER['SERVER_PORT'] : '8080';
			if ($sapi_type == "cgi" || $sapi_type == "cgi-fcgi" 
			|| $sapi_type == "cli")
			{
				if(!(PHP_SHLIB_SUFFIX=="so" 
				&& @dl('java.so'))
				&&!(PHP_SHLIB_SUFFIX=="dll" 
				&& @dl('php_java.dll'))
				&&!(@include_once("java/Java.inc"))
				&&!(
				require_once("http://127.0.0.1:$port/JavaBridge/java/Java.inc")))
				#require_once("java/Java.inc");
				{
					return "java extension not installed.";
				}
			}
			else
			{
				if(!(@include_once("java/Java.inc")))
				{
					require_once("http://127.0.0.1:$port/JavaBridge/java/Java.inc");
				}
			}
		}
		if(!function_exists("java_get_server_name"))
		{
			return "The loaded java extension is not the PHP/Java Bridge";
		}

		return true;

		
    }
	
	function convertValue($value, $className)
	{
		// if we are a string, just use the normal conversion
		// methods from the java extension...
		try
		{
			if ($className == 'java.lang.String')
			{
				$temp = new Java('java.lang.String', $value);
				return $temp;
			}
			else if ($className == 'java.lang.Boolean' ||
				$className == 'java.lang.Integer' ||
				$className == 'java.lang.Long' ||
				$className == 'java.lang.Short' ||
				$className == 'java.lang.Double' ||
				$className == 'java.math.BigDecimal')
			{
				$temp = new Java($className, $value);
				return $temp;
			}
			else if ($className == 'java.sql.Timestamp' ||
				$className == 'java.sql.Time')
			{
				$temp = new Java($className);
				$javaObject = $temp->valueOf($value);
				return $javaObject;
			}
		}
		catch (Exception $err)
		{
			echo (  'unable to convert value, ' . $value .
					' could not be converted to ' . $className);
			return false;
		}

		echo (  'unable to convert value, class name '.$className.
				' not recognised');
		return false;
	}
}

/* End of file Someclass.php */