Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 5 years ago.
Improve this question
This question is a bit vague but I'd like to know if there's a Java tool that can run through my code and document it in a functional way. Is JavaDoc the only way to go, or are there alternatives?
JavaDoc is a good way of generating reference documentation. You can use custom doclets to adapt it to your needs (in look, functionality or extra bells-and-whistle) but it is still essentially still a list of methods and their descriptions.
Documenting enterprise software is more about documenting higher level stuff like design information, architecture, component interactions, etc. There's no software tool I know of that will do this for you automatically (reverse engineering tools will mostly produce a mess), but there are many content management systems that can help you organize and present it better.
You could also write a JavaDoc alternative (or use something existing) that uses reflection to analyze a class library and produce stuff, possibly with your help via annotations. For instance, there are research tools that let you place architectural constraints within your code, that are then used for conformance testing and possibly for documentation.
It all depends on what you want out of the generated documentation. JavaDoc is the standard way to do API documentation in Java, so that's probably your best starting point. There's actually a Doclet API if you just need to tweak the output. One example of the Doclet API in action is the UMLGraph doclet that can embed UML graphs in your JavaDoc output.
If you just hate JavaDoc, there's always things like Doxygen.
Related
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 4 years ago.
Improve this question
I was asked in class to look for libraries along with their operation and documentation type. This is the first time I'm hearing or having anything to do with library documentation. I tried looking for some form of clear and concise explanation of what it is but I don't think I've actually understood what it is and its importance.
Can someone explain to me what is meant by documentation type and where can I find more details of a particular library's documentation?
Documentation has all the information you need to make use of the library. There are code samples, tutorials, developer guides, API documentation, and more to quickly understand the library and use it.
Actually API documentation is mostly developers look while using particular library.
It has technical content deliverable, containing instructions about how to effectively use and integrate with an API. It’s a concise reference manual contains all the information required to work with the API, with details about the functions, classes, return types, arguments and more, supported by tutorials and examples.
If you talk about JAVA 7 https://docs.oracle.com/javase/7/docs/api/ is the documentation.
Java APIs are most often documented with JavaDoc. Whether it is generated and shared online or with the library varies from library to library. Other types could be wiki pages, web pages, or other text docs, manuals, reference materials. Pick a couple of popular libraries and then look for their docs. What did you find?
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 5 years ago.
Improve this question
I am using MireDot for generating documentation for my REST service.
While it is awesome for generating the models and general information on the resources, I don't believe it currently has a way of "nicely" adding concrete example input/output.
That said, I am resorting to pure JavaDoc for writing the Json examples. And it's painful.
Does anybody know of any tool out there that helps write JavaDoc... and in particular makes it easy to insert formatted JSON/etc into it?
This is an old question I posted when I was just experimenting with ways to document an API.
Eventually I switched to Apiary over MireDot, which makes this task trivial. The reason for this transition was mostly to decouple the JavaDoc from the actual API documentation, as I found coupling those two can create a very messy code-base for a sophisticated API that requires a lot of documentation.
Ideally would have built documentation using an all-encompassing API management platform like Mashery or the like, but at the time that was not an option.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 3 years ago.
Improve this question
I need to manipulate control flow graphs for Java code in a project. What might be a good java library to generate control flow graphs in Java. So far I have found a couple eclipse plugins (heavily dependent on eclipse APIs) and standalone tools (cannot embed in my code).
A tool to do this stuff is Soot, and this questions is a duplicate of Tool for generating control flow in Java
I'll throw another tool into the mix.
Atlas is an Eclipse plugin that enables program analysis. It has a querable graph database that includes the control flow graph (as well as data flow and other relationships).
jSonde will create sequence diagrams from your actual running code (which is arguably more useful than from source, since source analysis will not show implementation-specific functionality).
javacalltracer does something similar.
Most tools are integrated into Eclipse/similar so they have access to the AST, which makes such things pretty trivial.
It's actually not ridiculously complex to pull the information from byte code yourself (and it's an interesting exercise). Or instrument using AspectJ and create the runtime information yourself.
Edit Original answer, still valid.
JGraph is open-source, and pretty cool.
JDiagram is a Swing component, commercial product.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
I have been looking for an existing open-source syntax-checker for the Object Constraint Language (OCL). I intend to extend the syntax-checker with additional functionality not present in the OCL standard to be more applicable to my usage with entity-relationship diagrams. However, most of the projects I have found are based on the Eclipse Meta-Object Facility (MOF), while I seek only the ability to verify the grammar of an OCL expression (completely independent of any associated class diagrams, etc.). I have begun looking into the source of the Dresden OCL Toolkit (dresden-ocl.sourceforge.net), even though the newest toolkit is also intended for use with the Eclipse MOF. Unfortunately, all downloads are blocked at the company I work for, and it takes 1-2 days minimum to get permission for any download, so I want to know if anyone might be able to point me in the right direction to find what I am looking for.
Thank you very much in advance.
Best regards,
Shona
I've been using Dresden OCL for quite a long time and I think it is a really good starting point for what you want (of course, it is not perfect, last time I checked it still had some problems with recognizing some set operators or navigation expression from association classes).
You can also take a look at the Eclipse OCL plug/in http://www.eclipse.org/modeling/mdt/downloads/?project=ocl
part of the model-development tools initiative
Pointers to other tools supporting OCL (not necessarily open-source) here: http://modeling-languages.com/content/list-ocl-tools
Also, you might by interested in having a look at other tools supporting OCL syntax checking, like Octopus, created(?) by Jos Warmer and Anneke Kleppe, who are authors of the OCL specs.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
I'm currently designing a Java application where a Rule engine could be useful. Where is a good place I can learn about how to use them, how they work, how to implement them, see samples, etc.?
The Drools documentation includes a lot of useful, general purpose information. Especially chapter 2, which covers rule engine basics, knowledge representation, etc. It also includes a nice recommended reading list for coming up to speed on rule engines and expert systems.
For most rule engines, a basic understanding of the rete algorithm usually comes in handy for writing efficient rules. I have personally found the Doorenbos paper referenced in the Wikipedia article to be the clearest technical explanation.
Also, here is a list of open source rule engines in Java.
You might want to read "Should I use a Rules Engine?" from Martin Fowler's blog.
I have worked on a project where we built our own (very simple) rules engine, with the intention to move to a general rule engine when things got too complicated. Never reached that point though, the system has been running happily with the simple homegrown engine for several years now.
I found this site pretty helpful. Are you looking at building your own, or using a 3rd party library?