Examples of BodyBuilder


Examples of org.apache.hivemind.service.BodyBuilder

        Class remoteInterface,
        String jndiName)
    {
        String homeInterfaceName = homeInterface.getName();

        BodyBuilder builder = new BodyBuilder();

        builder.begin();

        builder.addln("if (_remote != null)");
        builder.addln("  return _remote;");

        builder.add(homeInterfaceName);
        builder.add(" home = (");
        builder.add(homeInterfaceName);
        builder.add(") _lookup(");
        builder.addQuoted(jndiName);
        builder.addln(");");

        builder.add("try");
        builder.begin();
        builder.add("_remote = home.create();");
        builder.end();
        builder.add("catch (javax.ejb.CreateException ex)");
        builder.begin();
        builder.add("throw new java.rmi.RemoteException(ex.getMessage(), ex);");
        builder.end();

        builder.add("return _remote;");

        builder.end();

        classFab.addMethod(
            Modifier.SYNCHRONIZED + Modifier.PRIVATE,
            new MethodSignature(
                remoteInterface,
                "_lookupRemote",
                null,
                new Class[] { RemoteException.class }),
            builder.toString());

    }
View Full Code Here

Examples of org.apache.hivemind.service.BodyBuilder

    {
        String methodName = m.getName();

        boolean isVoid = m.getReturnType().equals(Void.TYPE);

        BodyBuilder builder = new BodyBuilder();

        builder.begin();

        builder.addln("boolean first = true;");
        builder.add("while (true)");
        builder.begin();

        builder.add("try");
        builder.begin();

        if (!isVoid)
            builder.add("return ");

        builder.add("_lookupRemote().");
        builder.add(methodName);
        builder.addln("($$);");

        if (isVoid)
            builder.addln("return;");

        builder.end(); // try

        builder.add("catch (java.rmi.RemoteException ex)");
        builder.begin();

        builder.addln("if (first)");
        builder.begin();

        builder.addln("_handleRemoteException(ex);");
        builder.addln("first = false;");

        builder.end(); // if
        builder.addln("else");
        builder.add("  throw ex;");
        builder.end(); // catch
        builder.end(); // while
        builder.end();

        classFab.addMethod(Modifier.PUBLIC, new MethodSignature(m), builder.toString());
    }
View Full Code Here

Examples of org.apache.hivemind.service.BodyBuilder

        else
        {
            classFab.addMethod(Modifier.PUBLIC | Modifier.FINAL, new MethodSignature(void.class,
                    "registryDidShutdown", null, null), "{ _delegate = null; _shutdown = true; }");
        }
        BodyBuilder builder = new BodyBuilder();

        builder.begin();

        builder.addln("if (_shutdown)");
        builder.addln("  throw org.apache.hivemind.HiveMind#createRegistryShutdownException();");

        builder.add("return _delegate;");

        builder.end();

        classFab.addMethod(Modifier.FINAL | Modifier.PRIVATE, new MethodSignature(delegateClass,
                DELEGATE_ACCESSOR_METHOD_NAME, null, null), builder.toString());
    }
View Full Code Here

Examples of org.apache.hivemind.service.BodyBuilder

    {
        Class serviceInterface = servicePoint.getServiceInterface();

        classFab.addField(SERVICE_ACCESSOR_METHOD_NAME, serviceInterface);

        BodyBuilder builder = new BodyBuilder();
        builder.begin();

        builder.add("return (");
        builder.add(serviceInterface.getName());
        builder.add(") _serviceModel.");
        builder.add(serviceModelMethodName);
        builder.add("();");

        builder.end();

        classFab.addMethod(Modifier.PRIVATE | Modifier.FINAL, new MethodSignature(serviceInterface,
                SERVICE_ACCESSOR_METHOD_NAME, null, null), builder.toString());
    }
View Full Code Here

Examples of org.apache.hivemind.service.BodyBuilder

    /** @since 1.1 */
    private void addSerializable()
    {
        _classFab.addInterface(Serializable.class);

        BodyBuilder bb = new BodyBuilder();

        bb.add(
                "return {0}.getServiceSerializationSupport().getServiceTokenForService(_extensionPointId);",
                ServiceSerializationHelper.class.getName());

        MethodSignature sig = new MethodSignature(Object.class, "writeReplace", null, null);

        _classFab.addMethod(Modifier.PRIVATE, sig, bb.toString());
    }
View Full Code Here

Examples of org.apache.hivemind.service.BodyBuilder

     * @param addToString if true, a implementation of the toString method is generated that
     *    returns some info about the proxy
     */
    public void addServiceMethods(String indirection, boolean addToString)
    {
        BodyBuilder builder = new BodyBuilder();

        MethodIterator mi = new MethodIterator(_serviceInterface);
        while (mi.hasNext())
        {
            MethodSignature m = mi.next();
            if( !_classFab.containsMethod( m ) )
            {
                builder.clear();
                builder.begin();
                builder.add("return ($r) ");
                builder.add(indirection);
                builder.add(".");
                builder.add(m.getName());
                builder.addln("($$);");
                builder.end();
                _classFab.addMethod(Modifier.PUBLIC, m, builder.toString());
            }
        }

        if (!mi.getToString() && addToString)
            ClassFabUtils.addToStringMethod(_classFab, "<" + _type + " for \" + _extensionPointId + \""
View Full Code Here

Examples of org.apache.hivemind.service.BodyBuilder

        cf.addConstructor(
            new Class[] { targetServiceClass },
            null,
            "{ super(); _targetService = $1; }");

        BodyBuilder b = new BodyBuilder();

        b.begin();
        b.addln(
            "{0} property = _targetService.{1}();",
            serviceInterface.getName(),
            readPropertyMethodName);

        b.addln("if (property == null)");
        b.add("  throw new java.lang.NullPointerException(");
        b.addQuoted(ImplMessages.servicePropertyWasNull(propertyName, targetService));
        b.addln(");");

        b.addln("return property;");

        b.end();

        MethodSignature sig =
            new MethodSignature(serviceInterface, "_targetServiceProperty", null, null);
        cf.addMethod(Modifier.FINAL | Modifier.PRIVATE, sig, b.toString());
    }
View Full Code Here

Examples of org.apache.hivemind.service.BodyBuilder

        String message = PipelineMessages.unmatchedServiceMethod(ms, _filterInterface);

        _errorLog.error(message, null, null);

        BodyBuilder b = new BodyBuilder();

        b.add("throw new org.apache.hivemind.ApplicationRuntimeException(");
        b.addQuoted(message);
        b.addln(");");

        _classFab.addMethod(Modifier.PUBLIC, ms, b.toString());
    }
View Full Code Here

Examples of org.apache.hivemind.service.BodyBuilder

        cf.addField("_targetService", targetServiceClass);

        cf.addConstructor(new Class[]
        { targetServiceClass }, null, "{ super(); _targetService = $1; }");

        BodyBuilder b = new BodyBuilder();

        b.begin();
        b.addln(
                "{0} property = _targetService.{1}();",
                serviceInterface.getName(),
                readPropertyMethodName);

        b.addln("if (property == null)");
        b.add("  throw new java.lang.NullPointerException(");
        b.addQuoted(ImplMessages.servicePropertyWasNull(propertyName, targetService));
        b.addln(");");

        b.addln("return property;");

        b.end();

        MethodSignature sig = new MethodSignature(serviceInterface, "_targetServiceProperty", null,
                null);
        cf.addMethod(Modifier.FINAL | Modifier.PRIVATE, sig, b.toString());
    }
View Full Code Here

Examples of org.apache.hivemind.service.BodyBuilder

        cf.addInterface(commandInterface);
        cf.addField("_commands", array);
        cf.addField("_toString", String.class);

        BodyBuilder builder = new BodyBuilder();

        builder.begin();
        builder.addln("_commands = ({0}[]) $1.toArray(new {0}[0]);", commandInterface.getName());
        builder.addln("_toString = $2;");
        builder.end();

        cf.addConstructor(new Class[]
        { List.class, String.class }, null, builder.toString());
    }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.