package org.flymine.objectstore.proxy;

/*
 * Copyright (C) 2002-2003 FlyMine
 *
 * This code may be freely distributed and modified under the
 * terms of the GNU Lesser General Public Licence.  This should
 * be distributed with the code.  See the LICENSE file for more
 * information or http://www.gnu.org/copyleft/lesser.html.
 *
 */

import org.flymine.objectstore.ObjectStore;

/**
 * LazyReference
 * This the interface a proxy implements so that its objectstore can be set by the
 * results object before being returned to the client.
 *
 * @author Mark Woodbridge
 */
public interface LazyReference
{
    /**
     * set the objectstore used to run the proxy's embedded query
     *
     * @param os the ObjectStore
     */
    public void setObjectStore(ObjectStore os);

    /**
     * check whether the proxy has been materialised
     *
     * @return true if the proxy has been materialised
     */
    public boolean isMaterialised();
}

@@ -374,16 +374,67 @@
 ctStore;
+%0Aimport org.flymine.objectstore.query.fql.FqlQuery;
 %0A%0A/**%0A *
@@ -668,17 +668,385 @@
 %0A     * 
-s
+Return the query that will be used to retrieve the real object%0A     * @return the query%0A     */%0A    public FqlQuery getFqlQuery();%0A%0A    /**%0A     * Get the type of the real object%0A     * @return the type%0A     */%0A    public Class getType();%0A%0A    /**%0A     * Get the internal id of the real object%0A     * @return the id%0A     */%0A    public Integer getId();%0A%0A    /**%0A     * S
 et the o
@@ -1207,17 +1207,17 @@
 %0A     * 
-c
+C
 heck whe

add getType getFqlQuery and getId methods