Diagram As Code

Java Bibliotheken

I recently sat in a lecture about PlantUML and the advantages of Diagram As Code. Diagram As Code is a special variant of Documentation As Code. It is the possibility for software developers to create their documentation in the form of text files without the use of word processing systems. The advantage is obvious, the developer can use his documentation like his source code. Versioning, automatically creating comparisons, transforming, validating and much more. This gave me the idea of developing something similar.

Optimize Switch for Constants

The FreshMarker Switch Directive is an unusual representative of its kind. Since it has been implemented according to the possibilities of its syntax description in the CongoCC example source code, it is capable of quite unusual working methods. Some special cases could be processed faster with an optimized version. Therefore, the Switch Directive is optimized for constants in this article.

The Knuth Plass Algorithm

Some algorithms are real classics and yet nobody really knows them. Day in, day out, everyone is happy about the beautiful wrapping of their text in the word processor, but why does the text actually look so beautiful spread across the lines?

Lorem ipsum dolor sit amet

The title of this article is no mistake. Anyone who has looked at the FreshMarker Random plugin recently will probably have discovered the new sentence and paragraph built-ins. These two bilt-ins support the library with the generation of the famous Lorem Ipsum pseudo-texts. Without delving deep into history, the Lorem Ipsum texts are a corruption of a Cicero text and serve as dummy texts.

Formatting Numbers

Java Bibliotheken

A fundamental assumption of software developers is that the system libraries are error-free and perform well. Every now and then you are taught better, but after a while the memories fade and you hang on to the original misconceptions.

FreshMarkers Roman Numbers

FreshMarker is quite a small library, about 475 KB in size. Therefore there is always room to make a few small additions. One of these is the display of numbers and loop variables with Roman numerals.

Partial Template Reduction (1)

With Partial Template Reduction, the template is filled with a fraction of the necessary data and thus simplified as far as possible. This articel presents the first part of the implementation.

Rocinante – repeated fields

The Rocinante library has now passed some important milestones. It can read and write messages and masters the scalar base types. The next step is now to support Repeated Fields. Repeated fields are the Protocol Buffer counterpart to lists and arrays in other protocols.

Bitemporal Data Storage

When storing data, their temporal changes are often not sufficiently taken into account. The following example of a club member database shows the problems of simplified temporal data storage and the advantages of bitemporal data storage.

Rocinante – the class generator

In the first article on Project Rocinante, we discussed the processing of Protocol Buffer definition files with CongoCC. In this post we will create the first Java classes based on this definitions.