package dmg.util.cdb ; public class CdbElementHandle implements CdbLockable { private String _name; private CdbContainable _container; private CdbElementable _element; public CdbElementHandle( String name , CdbContainable container , CdbElementable element ){ _name = name ; _container = container ; _element = element ; } public String getName(){ return _name ; } public CdbContainable getContainer(){ return _container ; } public CdbElementable getElement(){ return _element ; } @Override public void open( int flags ) throws CdbLockException, InterruptedException { _element.open( flags ) ; } @Override public void close( int flags ) throws CdbLockException { _element.close( flags ) ; } @Override protected void finalize() throws Throwable { // System.out.println( "Decrementing "+_name ) ; _container.unlinkElement( _name ) ; super.finalize(); } }