# Misc

## User Guide

The misc plugin provides generator and compiler for stub nets to generate .java-files from stubs.
This is necessary for referencing nets' transitions from other nets through synchronous channels.

### Features

- Generates .java-files from stubs
- Provides compiler for stub nets

### Example Usage

1. Create a new Net Drawing with several net instances 
2. The net instances will be capable of communicating if you build a connection through synchronous channels (usually requires uplink and downlink)

### Provided Commands

No commands are provided.

### Installation

Install _Misc_ by putting the JAR file inside the `dist/plugins` directory.

It will be automatically loaded at startup of Renew.

### Dependencies

This plugin depends on the following plugins and external libraries:

<!-- must match the `module-info.java` -->

- `Formalism`: Add a new Formalism option
- `ant`: Required for CreateStubsTask
- `log4j`: Logging framework

### Configuration

None.

## Developer Guide

### Core Classes

- `StubCompiler`: Makes the file generation of .java files from .stub files possible and saves them in a specific target directory possible
- `StubGenerator`: Generates stub files

### How to Extend

_Misc_ exposes the following interfaces:

- `de.renew.call.NetOwner`
- `de.renew.watch.ChannelWatcher`

### Additional Information

<!-- Common issues, explanations for inconsistencies, etc. -->

Comment: Name may be misleading because package use is only for stub handling.

<!-- Contribution Info -->

<!-- License -->
