    001package com.hammurapi.common;
    002
    003
    004/**
    005 * Classes which have multiple dynamic facets (adapters) shall implement this interface.
    006 * This interface similar to Context.lookup() service loading.
    007 * @author Pavel Vlasov
    008 *
    009 */
    010public interface Adaptable {
    011
    012        /**
    013         * Retrieves adapter of given type from adaptable.
    014         * @param <T> Adapter type.
    015         * @param type Adapter type.
    016         * @param context Adapter context.
    017         * @return Adapter or null if adapter type is not supported.
    018         */
    019        <T> T getAdapter(Class<T> type, Context context);
    020}