Skip to content

Create diagram class for Java using Mermaid and Javap

License

Notifications You must be signed in to change notification settings

renatonunes74/mermagic

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GitHub top language" Repository size" GitHub last commit" Repository issues" GitHub

Mermagic

Criador de Diagrama de Classes Mermaid para Java
Esta em desenvolvimento!

Porque usar - Como usar - Quando usar - Aonde usar - Testado

Pré-visualização

Resultado

classDiagram
class DemoApplicationTests {
  void contextLoads();
}
class ProductController {
  -com.foodminder.FoodMinder.domain.product.ProductRepository repository;
  +com.foodminder.FoodMinder.controllers.ProductController();
  +getAllProducts();
  +registerProduct(com.foodminder.FoodMinder.domain.product.RequestProduct);
  +updateProduct(com.foodminder.FoodMinder.domain.product.RequestProduct);
  +deleteProduct(String);
}
class DemoApplication {
  +com.foodminder.FoodMinder.DemoApplication();
  +static void main(String[]);
}
class Product {
  -String id;
  -String name;
  -Integer price_in_cents;
  -Boolean active;
  +com.foodminder.FoodMinder.domain.product.Product(com.foodminder.FoodMinder.domain.product.RequestProduct);
  +String getId();
  +String getName();
  +Integer getPrice_in_cents();
  +Boolean getActive();
  +void setId(String);
  +void setName(String);
  +void setPrice_in_cents(Integer);
  +void setActive(Boolean);
  +com.foodminder.FoodMinder.domain.product.Product(String, String, Integer, Boolean);
  +com.foodminder.FoodMinder.domain.product.Product();
  +boolean equals(Object);
  #boolean canEqual(Object);
  +int hashCode();
}
class RequestProduct {
  -final String id;
  -final String name;
  -final Integer price_in_cents;
  +com.foodminder.FoodMinder.domain.product.RequestProduct(String, String, Integer);
  +final String toString();
  +final int hashCode();
  +final boolean equals(Object);
  +String id();
  +String name();
  +Integer price_in_cents();
}
class ProductRepository {
<<interface>>
}
ProductRepository ..|> Product : Realization
Loading

Porque usar

  • Para fins de documentação do projeto, além de outros beneficios de um diagrama de classes.

Como usar

  1. Clone o repositório
    • git clone https://github.com/renatonunes74/mermagic
  2. Entre na pasta
    • cd mermagic
  3. Execute
    • CLI / via Terminal:
      • chmod +x mermagic.sh (Para deixar executável)
      • ./mermagic.sh diretório/do/projeto/java
  4. Agora é só colar a saída num arquivo Mermaid!

Dependências necessárias

  • Pacotes Linux básicos, como: cat, grep, find, sed...
  • Javap (Para encontrar as classes e métodos)
  • xclip (Para copiar a saída gerada)

Funcionalidades

Tecnologias usadas

  • Complementares:
    • VHS (Criação de GIF do terminal via código)

Quando usar

  • Quando necessitar documentar, verificar ou até mesmo demonstrar o relacionamento das classes.

Aonde usar

Testado

Contribuição

Estou aberto a contribuições, feedback e opiniões da comunidade! Se você tiver alguma ideia para melhorar o projeto, correções de bugs ou sugestões de novos recursos, ficarei feliz em receber sua contribuição! Basta enviar um Pull Request no repositório do projeto.

About

Create diagram class for Java using Mermaid and Javap

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published