com.sun.jdi

## Interface InterfaceType

- All Superinterfaces:
    Accessible, Comparable<ReferenceType>, Mirror, ReferenceType, Type

      public interface InterfaceType
      extends ReferenceType

  A mirror of an interface in the target VM. An InterfaceType is a refinement of `ReferenceType` that applies to true interfaces in the JLS sense of the definition (not a class, not an array type). An interface type will never be returned by `ObjectReference.referenceType()`, but it may be in the list of implemented interfaces for a `ClassType` that is returned by that method.
  Since:
    1.3
  See Also:
    `ObjectReference`

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `List<ClassType>` | `implementors()` Gets the currently prepared classes which directly implement this interface.
    `List<InterfaceType>` | `subinterfaces()` Gets the currently prepared interfaces which directly extend this interface.
    `List<InterfaceType>` | `superinterfaces()` Gets the interfaces directly extended by this interface.

    - ### Methods inherited from interface com.sun.jdi.ReferenceType

      `allFields, allLineLocations, allLineLocations, allMethods, availableStrata, classLoader, classObject, constantPool, constantPoolCount, defaultStratum, equals, failedToInitialize, fieldByName, fields, genericSignature, getValue, getValues, hashCode, instances, isAbstract, isFinal, isInitialized, isPrepared, isStatic, isVerified, locationsOfLine, locationsOfLine, majorVersion, methods, methodsByName, methodsByName, minorVersion, name, nestedTypes, sourceDebugExtension, sourceName, sourceNames, sourcePaths, visibleFields, visibleMethods`

    - ### Methods inherited from interface com.sun.jdi.Type

      `signature`

    - ### Methods inherited from interface com.sun.jdi.Mirror

      `toString, virtualMachine`

    - ### Methods inherited from interface java.lang.Comparable

      `compareTo`

    - ### Methods inherited from interface com.sun.jdi.Accessible

      `isPackagePrivate, isPrivate, isProtected, isPublic, modifiers`

- - ### Method Detail

    - #### superinterfaces

          List<InterfaceType> superinterfaces()

      Gets the interfaces directly extended by this interface. The returned list contains only those interfaces this interface has declared to be extended.
      Returns:
        a List of `InterfaceType` objects each mirroring an interface extended by this interface. If none exist, returns a zero length List.
      Throws:
        `ClassNotPreparedException` - if this class not yet been prepared.

    - #### subinterfaces

          List<InterfaceType> subinterfaces()

      Gets the currently prepared interfaces which directly extend this interface. The returned list contains only those interfaces that declared this interface in their "extends" clause.
      Returns:
        a List of `InterfaceType` objects each mirroring an interface extending this interface. If none exist, returns a zero length List.

    - #### implementors

          List<ClassType> implementors()

      Gets the currently prepared classes which directly implement this interface. The returned list contains only those classes that declared this interface in their "implements" clause.
      Returns:
        a List of `ClassType` objects each mirroring a class implementing this interface. If none exist, returns a zero length List.

Copyright © 1999, 2019, Oracle and/or its affiliates. All rights reserved.