1 /* 2 * Copyright (c) 2006-2007 Creative Sphere Limited. 3 * All rights reserved. This program and the accompanying materials 4 * are made available under the terms of the Eclipse Public License v1.0 5 * which accompanies this distribution, and is available at 6 * http://www.eclipse.org/legal/epl-v10.html 7 * 8 * Contributors: 9 * 10 * Creative Sphere - initial API and implementation 11 * 12 */ 13 package org.abstracthorizon.danube.adapter; 14 15 /** 16 * This interface is insipired by the similar from eclipse project 17 * 18 * @author Daniel Sendula 19 */ 20 public interface AdapterFactory { 21 22 /** 23 * Adopts given object to the instance of the asked class 24 * @param object object to he adopted 25 * @param cls asked class 26 * @return adopted given object to the instance of the asked class 27 */ 28 <T> T adapt(T object, Class<T> cls); 29 30 /** 31 * Returns list of classes to which given object can be adopted to by this adopter factory 32 * @return list of classes to which given object can be adopted to 33 */ 34 <T> Class<T>[] getAdaptingClasses(T object); 35 36 }