// Copyright (c) 2011 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. package org.chromium.sdk.wip; /** * Abstract interface to WIP implementation, that is delivered in a separate library. * It allows to have several versions of implementation in the system at the same time, * which may be needed because WIP is not stable yet and is evolving quite rapidly. * <p> * A particular set-up should choose it's own way to get backed instances. For example * Eclipse may use its extension point mechanism. Other frameworks can dynamically instantiate * {@link Factory}. */ public interface WipBackend { /** * @return a unique name of backend implementation */ String getId(); /** * @return a human-readable implementation description that should help to tell what protocol * version it supports */ String getDescription(); /** * Used to dynamically instantiate {@link WipBackend}. Instance of {@link Factory} should be * available via {@link ClassLoader}. */ interface Factory { WipBackend create(); } }