blob: e548c33875e721a5bdadbc11d6bf0a97530647bd [file] [log] [blame]
// Copyright 2019 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.components.module_installer.builder;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* Denotes an interface to be the interface of a feature module. For a module with name foo, this
* annotation will generate a class FooModule that offers the same functionality as {@link Module}.
*/
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.CLASS)
public @interface ModuleInterface {
/** The name of the module. */
String module();
/** The fully qualified name of the module's interface implementation. */
String impl();
}