/** * Called by generated subclasses to enqueue a method invocation. */ public void addInvocation(AbstractRequest<?, ?> request) { state.invocations.add(request); for (Object arg : request.getRequestData().getOrderedParameters()) { retainArg(arg); } }
/** * Called by generated subclasses to enqueue a method invocation. */ public void addInvocation(AbstractRequest<?, ?> request) { /* * TODO(bobv): Support for multiple invocations per request needs to be ironed out. Once this * is done, addInvocation() can be removed from the DialectImpl interface and restored to to * AbstractRequestContext. */ if (!state.invocations.isEmpty()) { throw new RuntimeException("Only one invocation per request, pending backend support"); } state.invocations.add(request); for (Object arg : request.getRequestData().getOrderedParameters()) { retainArg(arg); } }
/** * This method comes from the {@link InstanceRequest} * interface. Instance methods place the instance in the first parameter slot. */ public Request<T> using(P instanceObject) { getRequestData().getOrderedParameters()[0] = instanceObject; /* * Instance methods enqueue themselves when their using() method is called. * This ensures that the instance parameter will have been set when * AbstractRequestContext.retainArg() is called. */ requestContext.addInvocation(this); return this; }
/** * Create an InvocationMessage for each remote method call being made by the context. */ private List<InvocationMessage> makePayloadInvocations() { MessageFactory f = MessageFactoryHolder.FACTORY; List<InvocationMessage> invocationMessages = new ArrayList<InvocationMessage>(); for (AbstractRequest<?, ?> invocation : state.invocations) { // RequestData is produced by the generated subclass RequestData data = invocation.getRequestData(); InvocationMessage message = f.invocation().as(); // Operation; essentially a method descriptor message.setOperation(data.getOperation()); // The arguments to the with() calls Set<String> refsToSend = data.getPropertyRefs(); if (!refsToSend.isEmpty()) { message.setPropertyRefs(refsToSend); } // Parameter values or references List<Splittable> parameters = new ArrayList<Splittable>(data.getOrderedParameters().length); for (Object param : data.getOrderedParameters()) { parameters.add(EntityCodex.encode(this, param)); } if (!parameters.isEmpty()) { message.setParameters(parameters); } invocationMessages.add(message); } return invocationMessages; }
/** * Called by generated subclasses to enqueue a method invocation. */ public void addInvocation(AbstractRequest<?, ?> request) { state.invocations.add(request); for (Object arg : request.getRequestData().getOrderedParameters()) { retainArg(arg); } }
/** * Called by generated subclasses to enqueue a method invocation. */ public void addInvocation(AbstractRequest<?, ?> request) { state.invocations.add(request); for (Object arg : request.getRequestData().getOrderedParameters()) { retainArg(arg); } }
/** * Called by generated subclasses to enqueue a method invocation. */ public void addInvocation(AbstractRequest<?, ?> request) { state.invocations.add(request); for (Object arg : request.getRequestData().getOrderedParameters()) { retainArg(arg); } }
/** * Called by generated subclasses to enqueue a method invocation. */ public void addInvocation(AbstractRequest<?, ?> request) { /* * TODO(bobv): Support for multiple invocations per request needs to be ironed out. Once this * is done, addInvocation() can be removed from the DialectImpl interface and restored to to * AbstractRequestContext. */ if (!state.invocations.isEmpty()) { throw new RuntimeException("Only one invocation per request, pending backend support"); } state.invocations.add(request); for (Object arg : request.getRequestData().getOrderedParameters()) { retainArg(arg); } }
/** * Called by generated subclasses to enqueue a method invocation. */ public void addInvocation(AbstractRequest<?, ?> request) { /* * TODO(bobv): Support for multiple invocations per request needs to be ironed out. Once this * is done, addInvocation() can be removed from the DialectImpl interface and restored to to * AbstractRequestContext. */ if (!state.invocations.isEmpty()) { throw new RuntimeException("Only one invocation per request, pending backend support"); } state.invocations.add(request); for (Object arg : request.getRequestData().getOrderedParameters()) { retainArg(arg); } }
/** * Called by generated subclasses to enqueue a method invocation. */ public void addInvocation(AbstractRequest<?, ?> request) { /* * TODO(bobv): Support for multiple invocations per request needs to be ironed out. Once this * is done, addInvocation() can be removed from the DialectImpl interface and restored to to * AbstractRequestContext. */ if (!state.invocations.isEmpty()) { throw new RuntimeException("Only one invocation per request, pending backend support"); } state.invocations.add(request); for (Object arg : request.getRequestData().getOrderedParameters()) { retainArg(arg); } }
/** * This method comes from the {@link InstanceRequest} * interface. Instance methods place the instance in the first parameter slot. */ public Request<T> using(P instanceObject) { getRequestData().getOrderedParameters()[0] = instanceObject; /* * Instance methods enqueue themselves when their using() method is called. * This ensures that the instance parameter will have been set when * AbstractRequestContext.retainArg() is called. */ requestContext.addInvocation(this); return this; }
/** * This method comes from the {@link InstanceRequest} * interface. Instance methods place the instance in the first parameter slot. */ public Request<T> using(P instanceObject) { getRequestData().getOrderedParameters()[0] = instanceObject; /* * Instance methods enqueue themselves when their using() method is called. * This ensures that the instance parameter will have been set when * AbstractRequestContext.retainArg() is called. */ requestContext.addInvocation(this); return this; }
/** * This method comes from the {@link InstanceRequest} * interface. Instance methods place the instance in the first parameter slot. */ public Request<T> using(P instanceObject) { getRequestData().getOrderedParameters()[0] = instanceObject; /* * Instance methods enqueue themselves when their using() method is called. * This ensures that the instance parameter will have been set when * AbstractRequestContext.retainArg() is called. */ requestContext.addInvocation(this); return this; }
/** * Create an InvocationMessage for each remote method call being made by the context. */ private List<InvocationMessage> makePayloadInvocations() { MessageFactory f = MessageFactoryHolder.FACTORY; List<InvocationMessage> invocationMessages = new ArrayList<InvocationMessage>(); for (AbstractRequest<?, ?> invocation : state.invocations) { // RequestData is produced by the generated subclass RequestData data = invocation.getRequestData(); InvocationMessage message = f.invocation().as(); // Operation; essentially a method descriptor message.setOperation(data.getOperation()); // The arguments to the with() calls Set<String> refsToSend = data.getPropertyRefs(); if (!refsToSend.isEmpty()) { message.setPropertyRefs(refsToSend); } // Parameter values or references List<Splittable> parameters = new ArrayList<Splittable>(data.getOrderedParameters().length); for (Object param : data.getOrderedParameters()) { parameters.add(EntityCodex.encode(this, param)); } if (!parameters.isEmpty()) { message.setParameters(parameters); } invocationMessages.add(message); } return invocationMessages; }
/** * Create an InvocationMessage for each remote method call being made by the context. */ private List<InvocationMessage> makePayloadInvocations() { MessageFactory f = MessageFactoryHolder.FACTORY; List<InvocationMessage> invocationMessages = new ArrayList<InvocationMessage>(); for (AbstractRequest<?, ?> invocation : state.invocations) { // RequestData is produced by the generated subclass RequestData data = invocation.getRequestData(); InvocationMessage message = f.invocation().as(); // Operation; essentially a method descriptor message.setOperation(data.getOperation()); // The arguments to the with() calls Set<String> refsToSend = data.getPropertyRefs(); if (!refsToSend.isEmpty()) { message.setPropertyRefs(refsToSend); } // Parameter values or references List<Splittable> parameters = new ArrayList<Splittable>(data.getOrderedParameters().length); for (Object param : data.getOrderedParameters()) { parameters.add(EntityCodex.encode(this, param)); } if (!parameters.isEmpty()) { message.setParameters(parameters); } invocationMessages.add(message); } return invocationMessages; }
/** * Create an InvocationMessage for each remote method call being made by the context. */ private List<InvocationMessage> makePayloadInvocations() { MessageFactory f = MessageFactoryHolder.FACTORY; List<InvocationMessage> invocationMessages = new ArrayList<InvocationMessage>(); for (AbstractRequest<?, ?> invocation : state.invocations) { // RequestData is produced by the generated subclass RequestData data = invocation.getRequestData(); InvocationMessage message = f.invocation().as(); // Operation; essentially a method descriptor message.setOperation(data.getOperation()); // The arguments to the with() calls Set<String> refsToSend = data.getPropertyRefs(); if (!refsToSend.isEmpty()) { message.setPropertyRefs(refsToSend); } // Parameter values or references List<Splittable> parameters = new ArrayList<Splittable>(data.getOrderedParameters().length); for (Object param : data.getOrderedParameters()) { parameters.add(EntityCodex.encode(this, param)); } if (!parameters.isEmpty()) { message.setParameters(parameters); } invocationMessages.add(message); } return invocationMessages; }