Comments (6)
sorry for the late reply
The --show-members
option from the Standard doclet should work also for the members rendered in the UML diagrams.
Currently there is not yet a more fine-grained way to configure the inclusion or exclusion of members in the diagrams, other than using --uml-custom-directive
. There is an open issue about this to provide a way through java annotations or javadoc tags: #125
Unfortunately both have their own disadvantages.
from umldoclet.
The members themselves are fine (and I certainly don't want to completely hide them from the javadoc), but I'd like to hide the method parameters (and their types) from the UML diagrams, which is too verbose for larger projects. I could not find a custom-directive that would have this effect.
from umldoclet.
@kno10 Do you have suggestions on how this could be configured, without falling back to the old huge options list while still allowing some flexibility to set this on per-project, per-package or even per-class level?
(feel free to add suggestions to #125 as well if you like)
from umldoclet.
For my particular use case, a global command line option would be sufficient here, but in other cases, I'd like to be able to hide inner classes on a per-package or per-class configuration level.
IMHO, javadoc tags would be the most consistent approach, but will often not be updated automatically on refactoring. Java code annotations have much better refactoring and API support (because they have an actual syntax, Javadoc tags are a largely undefined mess), but would clutter the resulting class files, unless RetentionPolicy.SOURCE is used, but its not clear whether these are accessible at Javadoc generation time via introspection, or only when parsing the source manually).
Either way, I am convinced that some kind of annotation mechanism will be necessary for certain features. I believe UML Composition vs. Aggregation are semantic properties that cannot be automatically inferred from the class signature, nor will the quantities of 1:n relationships.
from umldoclet.
@kno10 I agree with everything you say, this is also the reason that this has not yet been attempted to be solved.
First of all, I can try to figure out the answer to
unless RetentionPolicy.SOURCE is used, but its not clear whether these are accessible at Javadoc generation time via introspection
Furthermore, annotations could be used as a non-tranistive dependency (provided or optional in maven terms), that way you wouldn't have to propagate them with the resulting artifact. Java will just ignore annotations for which it cannot find the definition on the classpath without throwing exceptions.
I'll look into RetentionPolicy SOURCE
; it may be the best solution with the most flexibility if possible.
from umldoclet.
I'm sorry this has been left inactive as long as it has.
from umldoclet.
Related Issues (20)
- Upgrading spring boot service from java 8 to java 11 gives error regarding the UMLDoclet HOT 7
- Failure to generate UML diagrams and SVG HOT 11
- Using JDK-16 package.svg graphics are not shown on package-summary pages, although graphics do get generated HOT 1
- Fix UML diagram locations for java modules HOT 1
- Sharing a Gradle Kotlin DSL configuration HOT 2
- Dot Executable: null on windows when GRAPHVIZ_DOT not declared HOT 8
- Override option for SVG Object Tags HOT 6
- <umlImageFormat>png</umlImageFormat> not working HOT 2
- Add support for PlantUML server HOT 3
- Document how to include custom plantuml diagrams into generated javadoc HOT 4
- Is there a way to backport the styling from v2 to v1? HOT 15
- NPE on some package level images HOT 2
- Documentation of additionalOptions HOT 7
- Regular Doclet logging turns up as warnings in maven
- Allow provide additional plantUML options(rendern with Smetana) HOT 4
- No connection is drawn for return value types HOT 2
- Enable "-link" option multiple times HOT 1
- Configure Built-In plantuml to not steal keyboard focus on MacOS X HOT 5
- Diagrams not always included in HTML HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from umldoclet.