All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.backendless.async.message.AsyncMessage Maven / Gradle / Ivy

The newest version!
/*
 * ********************************************************************************************************************
 *  

* BACKENDLESS.COM CONFIDENTIAL *

* ******************************************************************************************************************** *

* Copyright 2012 BACKENDLESS.COM. All Rights Reserved. *

* NOTICE: All information contained herein is, and remains the property of Backendless.com and its suppliers, * if any. The intellectual and technical concepts contained herein are proprietary to Backendless.com and its * suppliers and may be covered by U.S. and Foreign Patents, patents in process, and are protected by trade secret * or copyright law. Dissemination of this information or reproduction of this material is strictly forbidden * unless prior written permission is obtained from Backendless.com. *

* ******************************************************************************************************************** */ package com.backendless.async.message; import com.backendless.async.callback.AsyncCallback; import com.backendless.exceptions.BackendlessFault; final public class AsyncMessage implements IAsyncMessage { private IHandler handler; public AsyncMessage( E response, AsyncCallback callback ) { handler = new ResponseHandler( response, callback ); } public AsyncMessage( BackendlessFault fault, AsyncCallback callback ) { handler = new FaultHandler( fault, callback ); } @Override public void handleCallback() { handler.handle(); } private static interface IHandler { void handle(); } private static class ResponseHandler implements IHandler { private AsyncCallback callback; private E response; private ResponseHandler( E response, AsyncCallback callback ) { this.response = response; this.callback = callback; } @Override public void handle() { if( callback != null ) callback.handleResponse( response ); } } private static class FaultHandler implements IHandler { private AsyncCallback callback; private BackendlessFault fault; private FaultHandler( BackendlessFault fault, AsyncCallback callback ) { this.fault = fault; this.callback = callback; } @Override public void handle() { if( callback != null ) callback.handleFault( fault ); } } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy