* Data Container - object contains structured data. Marker interface which must be implemented by all interfaces
* generated for YANG:
* <ul>
- * <li>Rpc Input
- * <li>Output
- * <li>Notification
- * <li>Container
- * <li>List
- * <li>Case
+ * <li>{@code input} based on {@link RpcInput}</li>
+ * <li>{@code output} based on {@link RpcOutput}</li>
+ * <li>{@code notification} based on {@link BaseNotification}, either {@link Notification} or
+ * {@link InstanceNotification}</li>
+ * <li>{@code container}, {@code list} and {@code case} based on {@link DataObject}</li>
+ * <li>{@code anydata} and {@code anyxml} based on {@link OpaqueObject}
+ * <li>{@code rc:yang-data} based on {@link YangData}
* </ul>
*/
-public interface DataContainer {
+public sealed interface DataContainer extends BindingContract<DataContainer>
+ permits BaseNotification, ChoiceIn, DataObject, OpaqueObject, YangData {
- Class<? extends DataContainer> getImplementedInterface();
}