Annotation Type Implements


  • @Documented
    @Retention(RUNTIME)
    @Target(TYPE)
    public @interface Implements
    Indicates that a class declaration is intended to shadow an Android class declaration. The Robolectric runtime searches classes with this annotation for methods with the Implementation annotation and calls them in place of the methods on the Android class.
    • Optional Element Summary

      Optional Elements 
      Modifier and Type Optional Element Description
      boolean callThroughByDefault
      If true, Robolectric will invoke the actual Android code for any method that isn't shadowed.
      String className
      Android class name (if the Class object is not accessible).
      boolean isInAndroidSdk
      Denotes that this type exists in the public Android SDK.
      boolean looseSignatures
      If true, when an exact method signature match isn't found, Robolectric will look for a method with the same name but with all argument types replaced with java.lang.Object.
      int maxSdk
      If specified, the shadow class will be applied only for this SDK or lesser.
      int minSdk
      If specified, the shadow class will be applied only for this SDK or greater.
      Class<? extends ShadowPicker<?>> shadowPicker
      If specified, the picker will be instantiated and called from within the newly-created Robolectric classloader.
      Class<?> value
      The Android class to be shadowed.
    • Element Detail

      • value

        Class<?> value
        The Android class to be shadowed.
        Returns:
        Android class to shadow.
        Default:
        void.class
      • className

        String className
        Android class name (if the Class object is not accessible).
        Returns:
        Android class name.
        Default:
        ""
      • isInAndroidSdk

        boolean isInAndroidSdk
        Denotes that this type exists in the public Android SDK. When this value is true, the annotation processor will generate a shadowOf method.
        Returns:
        True if the type is exposed in the Android SDK.
        Default:
        true
      • callThroughByDefault

        boolean callThroughByDefault
        If true, Robolectric will invoke the actual Android code for any method that isn't shadowed.
        Returns:
        True to invoke the underlying method.
        Default:
        true
      • looseSignatures

        boolean looseSignatures
        If true, when an exact method signature match isn't found, Robolectric will look for a method with the same name but with all argument types replaced with java.lang.Object.
        Returns:
        True to disable strict signature matching.
        Default:
        false
      • minSdk

        int minSdk
        If specified, the shadow class will be applied only for this SDK or greater.
        Default:
        -1
      • maxSdk

        int maxSdk
        If specified, the shadow class will be applied only for this SDK or lesser.
        Default:
        -1
      • shadowPicker

        Class<? extends ShadowPicker<?>> shadowPicker
        If specified, the picker will be instantiated and called from within the newly-created Robolectric classloader. All shadow classes implementing the same Android class must use the same ShadowPicker.
        Default:
        org.robolectric.annotation.Implements.DefaultShadowPicker.class