/* * This file is part of the HyperGraphDB source distribution. This is copyrighted * software. For permitted uses, licensing options and redistribution, please see * the LicensingInformation file at the root level of the distribution. * * Copyright (c) 2005-2010 Kobrix Software, Inc. All rights reserved. */ package org.hypergraphdb; /** * <p> * A <code>HGHandle</code> represents a reference to a hypergraph atom. {@link HyperGraph} references * are completely managed by HyperGraphDB and should be treated by applications as abstract * reference types. * </p> * * <p> * A handle holds the system-level identity of an atom. HyperGraphDB will return * concrete implementations of this interface depending on configuration, context of usage * and similar considerations. In other words, a handle is essentially a reference token. One can * think of a handle as a memory location, or simply a unique identifier. * </p> * * <p> * Generally, handles are only valid during the run-time of a system. To obtain a permanent handle, * one which transcends system startup and shutdown, the <code>HyperGraph.getPersistentHandle</code> * method should be used. Persistent handles are generated by a {@link HGHandleFactory} configured * when the database is open. * </p> * * @author Borislav Iordanov */ public interface HGHandle { HGPersistentHandle getPersistent(); }