CSSE374 Term Project - Winter 2018-2019
My partner was Hussein Alawami
Pass in any full classnames to args(ex: java.lang.String, not just String) Pass in any number of the options below to args:
- "-recursive" makes sure superclasses and interfaces of passed in classes are parsed
- "-private" renders everything
- "-protected" render only procteded or public classes, fields, and methods
- "-public" render only public classes, fields, and methods
- "-file" render to a file
- "-packages=package1,package2,package3..." limits rendering to the packages specified after =
- "-list=white-package/class,white-package/class2,black-package/class3,..." whitelists and blacklists certain classes and packages.
- "-singleton" detects singletons and colors them blue
- "-removelambdas" removes all lambda methods that may clutter class blocks.
- "-inheritancecomposition" turns all arrows where inheritance is favored over composition orange
- "-prerendertasks=fullyqualifiedclassname,fullyqualifiedclassname2,..." Imports and uses the prerendertasks specified
- "-config" uses the settings file specified in the default configs file of the program ("config.properties")
- "-config=configsfilename" uses the configs file passed in, if the file doesn't exist, it uses the default configs file
- "-importdirectories=fullclasspath1,fullclasspath2,..." Adds classpaths to the project classpath at runtime NOTE: fullclasspath must be to the bin directory of a project.
- "-runfordirectories=fullclasspath1,fullclasspath2,..." Adds any java classes in or beneath the directories to the classes to run on
- "-adapter" detects the adapter pattern and properly labels it
- "-decorator" detects the decorator pattern and properly labels it
- "-dependencyinversionviolation" detects when the dependency inversion principle is violated and properly labels it
- "-baddecorator" detects when the decorator abstract class doesn't override all methods and adds them in red
The default options are to not recurse into superclasses and interfacess, private level analysis, text display, and using PlantUML