import java.rmi.*;
import java.rmi.server.UnicastRemoteObject;

public class HelloImpl
        extends UnicastRemoteObject
        implements Hello {
        private String name;

        public HelloImpl(String s) throws RemoteException {
		System.out.println(
		   "\tHelloImpl: HelloImpl(String s)");
                name = s;
        }

        public String sayHello() throws RemoteException {
                return  "Hello World my friend.";
        }

        public static void main(String args[])
        {
                System.setSecurityManager(new RMISecurityManager());

                try {
                    HelloImpl obj = new HelloImpl("HelloServer");
                    Naming.rebind("//yps/HelloServer", obj);
                    System.out.println("HelloServer bound in registry");
                } catch (Exception e) {
                    System.out.println("HelloImpl err: " + e.getMessage());
                    e.printStackTrace();
                }
        }
}

