コード例 #1
0
ファイル: Jreport.php プロジェクト: backstageel/JasperPHP
 static function convertValue($value, $className)
 {
     // if we are a string, just use the normal conversion
     // methods from the java extension...
     //Revisar http://byte-consult.be/2008/08/16/phpjava-bridge-jasperreports/
     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;
                 } else {
                     if ($className == 'java.util.Locale') {
                         $value_arr = explode("_", $value);
                         $temp = new \java($className, $value_arr[0], $value_arr[1]);
                         return $temp;
                     } else {
                         if ($className == "java.util.Date") {
                             $temp = new \java('java.text.DateFormat');
                             $javaObject = $temp->parse($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;
 }