
package ebxml.publicprivate;

import java.lang.reflect.Field;
import org.apache.beehive.controls.api.ControlException;
import org.apache.beehive.controls.api.bean.Controls;
import org.apache.beehive.controls.api.versioning.VersionRequired;
import org.apache.beehive.controls.api.context.ControlBeanContext;
import org.apache.beehive.controls.runtime.bean.EventAdaptor;
import org.apache.beehive.controls.runtime.bean.AdaptorPersistenceDelegate;

@SuppressWarnings("all")
public class PrivateBuyerClientInitializer
extends org.apache.beehive.controls.runtime.bean.ClientInitializer
{
    static final Field _publicBuyerPControlField;
    static
    {
        try
        {
            _publicBuyerPControlField = ebxml.publicprivate.PrivateBuyer.class.getDeclaredField("publicBuyerPControl");
            _publicBuyerPControlField.setAccessible(true);
        }
        catch (NoSuchFieldException __bc_nsfe)
        {
            throw new ExceptionInInitializerError(__bc_nsfe);
        }
    }
    
    public static class PublicBuyerPControlCallbackEventAdaptor 
    implements ebxml.publicprivate.PublicBuyerPControl.Callback, 
    EventAdaptor, java.io.Serializable
    {
        private static final long serialVersionUID = 1L;
        
        ebxml.publicprivate.PrivateBuyer __bc_client;
        
        public PublicBuyerPControlCallbackEventAdaptor(ebxml.publicprivate.PrivateBuyer client) { __bc_client = client; }
        
        public Object getClient() { return __bc_client; }
        
        public void onAsyncFailure(java.lang.String arg0, java.lang.Object[] arg1) 
        {
        }
        public void onBuyerComplete(com.bea.tutorial.invoice.InvoiceDocument x0) 
        {
            __bc_client.publicBuyerPControl_onBuyerComplete(x0);
        }
        
    }
    
    
    
    private static void initializeFields(ControlBeanContext cbc,
    ebxml.publicprivate.PrivateBuyer client)
    {
        try
        {
            String __bc_id;
            //
            // Initialize any nested controls used by the client
            //
            __bc_id = "publicBuyerPControl";
            ebxml.publicprivate.PublicBuyerPControlBean _publicBuyerPControl = (cbc == null ? null : (ebxml.publicprivate.PublicBuyerPControlBean)cbc.getBean(__bc_id));
            if (_publicBuyerPControl == null)
            _publicBuyerPControl = (ebxml.publicprivate.PublicBuyerPControlBean) Controls.instantiate(ebxml.publicprivate.PublicBuyerPControlBean.class, getAnnotationMap(cbc, _publicBuyerPControlField), cbc, __bc_id );
            _publicBuyerPControl.addCallbackListener(new PublicBuyerPControlCallbackEventAdaptor(client));
            
            
            _publicBuyerPControlField.set(client, _publicBuyerPControl);
        }
        catch (RuntimeException __bc_re) { throw __bc_re; }
        catch (Exception __bc_e)
        {
            __bc_e.printStackTrace();
            throw new ControlException("Initializer failure", __bc_e);
        }
    }
    
    public static void initialize(ControlBeanContext cbc, ebxml.publicprivate.PrivateBuyer client)
    {
        
        initializeFields( cbc, client );
    }
}
