/* * Copyright 2015 ArcBees Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of * the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the * License for the specific language governing permissions and limitations under * the License. */ package com.gwtplatform.dispatch.rest.client.core; import com.gwtplatform.dispatch.rest.client.RestDispatch; import com.gwtplatform.dispatch.rest.client.filter.DefaultRestFilterChain; import com.gwtplatform.dispatch.rest.client.filter.RestFilterChain; import com.gwtplatform.dispatch.rest.client.gin.BaseRestDispatchModuleBuilder; public class CoreModuleBuilder extends BaseRestDispatchModuleBuilder<CoreModuleBuilder> { private Class<? extends BodyFactory> bodyFactory = DefaultBodyFactory.class; private Class<? extends CookieManager> cookieManager = DefaultCookieManager.class; private Class<? extends DispatchCallFactory> dispatchCallFactory = DefaultDispatchCallFactory.class; private Class<? extends HeaderFactory> headerFactory = DefaultHeaderFactory.class; private Class<? extends RequestBuilderFactory> requestBuilderFactory = DefaultRequestBuilderFactory.class; private Class<? extends ResponseDeserializer> responseDeserializer = DefaultResponseDeserializer.class; private Class<? extends RestDispatch> restDispatch = DefaultRestDispatch.class; private Class<? extends UriFactory> uriFactory = DefaultUriFactory.class; private Class<? extends RestFilterChain> filterChain = DefaultRestFilterChain.class; public CoreModuleBuilder(BaseRestDispatchModuleBuilder<?> baseBuilder) { super(baseBuilder); } public CoreModuleBuilder bodyFactory(Class<? extends BodyFactory> bodyFactory) { this.bodyFactory = bodyFactory; return self(); } public CoreModuleBuilder cookieManager(Class<? extends CookieManager> cookieManager) { this.cookieManager = cookieManager; return self(); } public CoreModuleBuilder dispatchCallFactory(Class<? extends DispatchCallFactory> dispatchCallFactory) { this.dispatchCallFactory = dispatchCallFactory; return self(); } public CoreModuleBuilder headerFactory(Class<? extends HeaderFactory> headerFactory) { this.headerFactory = headerFactory; return self(); } public CoreModuleBuilder requestBuilderFactory(Class<? extends RequestBuilderFactory> requestBuilderFactory) { this.requestBuilderFactory = requestBuilderFactory; return self(); } public CoreModuleBuilder responseDeserializer(Class<? extends ResponseDeserializer> responseDeserializer) { this.responseDeserializer = responseDeserializer; return self(); } public CoreModuleBuilder restDispatch(Class<? extends RestDispatch> restDispatch) { this.restDispatch = restDispatch; return self(); } public CoreModuleBuilder uriFactory(Class<? extends UriFactory> uriFactory) { this.uriFactory = uriFactory; return self(); } public CoreModuleBuilder filterChain(Class<? extends RestFilterChain> filterChain) { this.filterChain = filterChain; return self(); } @Override public CoreModule getCoreModule() { return new CoreModule(this); } @Override protected CoreModuleBuilder self() { return this; } Class<? extends BodyFactory> getBodyFactory() { return bodyFactory; } Class<? extends CookieManager> getCookieManager() { return cookieManager; } Class<? extends DispatchCallFactory> getDispatchCallFactory() { return dispatchCallFactory; } Class<? extends HeaderFactory> getHeaderFactory() { return headerFactory; } Class<? extends RequestBuilderFactory> getRequestBuilderFactory() { return requestBuilderFactory; } Class<? extends ResponseDeserializer> getResponseDeserializer() { return responseDeserializer; } Class<? extends RestDispatch> getRestDispatch() { return restDispatch; } Class<? extends UriFactory> getUriFactory() { return uriFactory; } Class<? extends RestFilterChain> getFilterChain() { return filterChain; } }