Hello world again

Our original hello world was a client of a hello world service. Here it is again, and we'll discuss it after. First, the imports:


package org.jtrix.project.helloworld;

import org.jtrix.base.*;
import org.jtrix.project.libjtrix.netlet.NullService;

/** Netlet which accesses a hello world service using a warrant
 * read from an incoming parameter.
 */
public class Hello1Client implements INetlet
{

The initialise() method does the main work:


    public byte[] initialise(INode node, Object param, byte[] unsigned)
        throws InitialiseException
    {
        try
        {
            // Get the warrant, use it bind the service, and then get the facet
            Warrant warrant = (Warrant)param;
            IService service = node.bindService(warrant, new NullService());
            String hf_name = IHelloFacet.class.getName();
            IHelloFacet facet = (IHelloFacet) service.bindFacet(hf_name);

            // Use the facet
            System.out.println(facet.getMessage());
            return null;
        }
        catch (Throwable e)
        {
            System.out.println("Sorry, no message available");
            e.printStackTrace();
            throw new InitialiseException(e.toString());
        }
    }

The class ends with minimal implementations of the rest of the INetlet methods:


    public void terminate(long date, INetlet.IShutdownProgress progress)
    {
        // Nothing to clean up when we terminate
    }

    public IService bindService(Warrant warrant, IService consumer)
        throws ServiceBindException
    {
        // This netlet offers no services to other netlets using warrants
        throw new ServiceBindException();
    }

    public String[] getFacets()
    {
        // This netlet offers no facets to the node
        return new String[0];
    }

    public IRemote bindFacet(String facet) throws FacetBindException
    {
        // The node shouldn't try to bind facets from here
        throw new FacetBindException();
    }
} // Hello1Client



Subsections
Nik Silver 2002-03-09