Function
The INTERFACE-ID paragraph indicates that this Identification Division introduces an interface definition and specifies the interface name and its attributes.
Format
INTERFACE-ID. interface-name-1
[INHERITS FROM {interface-name-2}...]
[USING {parameter-name-1}...].
Syntax rules
interface-name-1 must not be either BASEFACTORYINTERFACE or BASEINTERFACE.
interface-name-2 is the name of an interface, which must be specified in the REPOSITORY paragraph.
interface-name-2 may not inherit directly or indirectly from interface-name-1.
interface-name-2 may not inherit directly or indirectly from an interface which is an expansion of interface-name-1.If a given method-name is inherited from more than one interface, then each of these methods must have the same interface.
parameter-name-1 is the name of a class or interface which must be defined in the REPOSITORY paragraph.
The same parameter-name-1 may not occur more than once in a USING clause.
parameter-name-1 must be different from interface-name-1.
General rules
interface-name-1 names the interface declared by this interface definition.
The INHERITS phrase specifies the names of interfaces that are inherited by interface-name-1 according to the rules for interface inheritance.
The USING clause specifies this interface as a parameterized interface and lists the names of the parameters.