An API library which provides the functionality to access, manage and store device topologies.
- Read a topology from a given JSON file and store it in the memory.
- Write a given topology from the memory to a JSON file.
- Query about which topologies are currently in the memory.
- Delete a given topology from memory.
- Query about which devices are in a given topology.
- Query about which devices are connected to a given netlist node in a given topology.
- This class creates an object from the API class which is used to call each functionality
- It contains the main loop of the API which allows the user to select which operation to perform
This class contains the memory of the API as a HashMap and an addToMemory function to store in it.
-
This class contains the functions of the API :-
- boolean readJSON(String fileName)
- boolean writeJSON(String topologyID)
- Set getTopologies()
- boolean deleteTopology(String topologyID)
- List queryDevices(String topologyID)
- List queryDevicesWithNetlistNode(String topologyID, String node)
-
Each functionality is validated completely in case a topology/node not found for example, etc...
- Each topology consists of components and the JSON format of the topology, with a unique ID and all nodes between each component in the topology
- The Topology class creates an object from class Nodes in order to set its nodes and add to it any component in the topology
- Each component contains the ID and type of the component as well as the device details and the NetList
- This class contains the device details including it's name, default value , min and max
- The resistor inherits from class device and overrides function print() to add resistance as its type
- The transistor inherits from class device and has an extra variable (type) to indicate whether it's an nmos or a pmos transistor and overrides the print function as well
- This class tests each function of class API
- Java
- Maven Framework Support
- json.simple
- Found in the index.html file inside the documentation folder
git clone https://github.com/AbdelrahmanHamdyy/Topology-API
Abdelrahman Hamdy |
This project is licensed under the [MIT] License - see the LICENSE.md file for details