001/* 002 * Copyright (c) 2006-2013 Nuxeo SA (http://nuxeo.com/) and others. 003 * 004 * All rights reserved. This program and the accompanying materials 005 * are made available under the terms of the Eclipse Public License v1.0 006 * which accompanies this distribution, and is available at 007 * http://www.eclipse.org/legal/epl-v10.html 008 * 009 * Contributors: 010 * Vladimir Pasquier <vpasquier@nuxeo.com> 011 */ 012package org.nuxeo.ecm.automation.client.adapters; 013 014import org.nuxeo.ecm.automation.client.AdapterFactory; 015import org.nuxeo.ecm.automation.client.Session; 016 017/** 018 * @since 5.7 019 */ 020public class BusinessServiceFactory implements AdapterFactory<BusinessService<?>> { 021 022 @Override 023 public BusinessService<?> getAdapter(Session session, Class<BusinessService<?>> clazz) { 024 try { 025 return clazz.getDeclaredConstructor(Session.class).newInstance(session); 026 } catch (Exception e) { // Java 6 doesn't have ReflectiveOperationException 027 throw new IllegalArgumentException("Cannot instantiate bo service " + clazz.getName(), e); 028 } 029 } 030 031}