} else { if (is_null($object)) { return null; } else { throw new PHPJAOMarshallingException("can't transform object to TreeMap"); } } } } /* * TODO add test, */ public static function fromJson($object) { # transform to TreeMap if (is_array($object)) { $l = $object['map']; return PHPJAO::fromJson($l); } else { throw new PHPJAOMarshallingException("can't transform TreeMap from JSON"); } } static $instance; } JavaMap::$phpjaoClassDescription = new JavaMapPHPJAOClassDescription(); PHPJAO::registerType('java.util.Map', JavaMap::$phpjaoClassDescription); JavaTreeMap::$phpjaoClassDescription = new JavaTreeMapPHPJAOClassDescription(); PHPJAO::registerType('java.util.TreeMap', JavaTreeMap::$phpjaoClassDescription); MapPHPJAOHelper::$instance = new MapPHPJAOHelper(); PHPJAO::registerCustomType('JavaMap', MapPHPJAOHelper::$instance); PHPJAO::registerCustomType('JavaTreeMap', MapPHPJAOHelper::$instance);
<?php require_once 'PHPJAO.php'; class E1PHPJAOClassDescription extends PHPJAOClassDescription { public function __construct() { parent::__construct(); $this->javaClass = 'ua.gradsoft.t1.E1'; $this->phpClass = 'E1'; $this->typesOfFields = array('name' => 'java.lang.String', 'value' => 'java.lang.String', 'truth' => 'java.lang.Boolean'); } public function newInstance() { return new E1(); } } class E1 extends PHPJAOPOJOBase { static $phpjaoClassDescription; public function getPHPJAOClassDescription() { return self::$phpjaoClassDescription; } public $name; public $value; public $truth; } E1::$phpjaoClassDescription = new E1PHPJAOClassDescription(); PHPJAO::registerType('ua.gradsoft.t1.E1', E1::$phpjaoClassDescription);