1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70:
<?php /*-*- mode: php; tab-width:4 -*-*/
/** java_GlobalRef.php -- a map which keeps a reference to the
* PHP instances which have been passed to Java.
*
* Copyright (C) 2003-2007 Jost Boekemeier
*
* This file is part of the PHP/Java Bridge.
*
* The PHP/Java Bridge ("the library") is free software; you can
* redistribute it and/or modify it under the terms of the GNU General
* Public License as published by the Free Software Foundation; either
* version 2, or (at your option) any later version.
*
* The library is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with the PHP/Java Bridge; see the file COPYING. If not, write to the
* Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
* 02111-1307 USA.
*
* Linking this file statically or dynamically with other modules is
* making a combined work based on this library. Thus, the terms and
* conditions of the GNU General Public License cover the whole
* combination.
*
* As a special exception, the copyright holders of this library give you
* permission to link this library with independent modules to produce an
* executable, regardless of the license terms of these independent
* modules, and to copy and distribute the resulting executable under
* terms of your choice, provided that you also meet, for each linked
* independent module, the terms and conditions of the license of that
* module. An independent module is a module which is not derived from
* or based on this library. If you modify this library, you may extend
* this exception to your version of the library, but you are not
* obligated to do so. If you do not wish to do so, delete this
* exception statement from your version.
*
* @author Jost Boekemeier
* @license GPL
* @link http://php-java-bridge.sf.net
*/
/**
* This class implements a global map which references PHP objects passed to Java
* In case "java_session()" was called, PHP objects backing the Java proxies are
* stored in the session allocated from PHP.
* @access private
*/
class java_GlobalRef {
public $map;
function __construct() {
$this->map = array();
}
function add($object) {
if(is_null($object)) return 0;
return array_push($this->map, $object);
}
function get($id) {
if(!$id) return 0;
return $this->map[--$id];
}
}
?>