yFiles for Java Product Types

yFiles for Java is available in four distributions, each containing a different combination of the Basic, Layout, and Viewer components.

Distribution Types

Basic Distribution

This contains only the Basic component.

Layout Distribution

Contains both the Basic and Layout components.

Viewer Distribution

Contains both the Basic and Viewer components.

Complete Distribution

Contains the Basic, Layout, and Viewer components.

Feature Comparison

The following table provides an overview of the features included in each distribution.

    yFiles for Java Distribution
    Basic Layout Viewer Complete
Basic Component efficient Graph data type implementation for the structural information of graph elements
wide variety of graph and network algorithms
Layout Component support for geometry (position/size) of graph elements    
algorithms for automatic layout of graphs and diagrams    
algorithms for automatic layout of connections in diagrams    
automatic label placement    
Viewer Component support for the visual representation of graph elements    
powerful graph viewer component for the presentation and creation/editing of diagrams    
extensive user interaction support    
support for nested graph structures    
Swing-based GUI elements for properties and parameters    
support for diverse input/output file formats for diagrams and export-only image file formats    
printing support, incl. poster printing    
animations and layout morphing    

yFiles for Java Building Blocks

There are currently three different yFiles for Java components, which can be combined as four different yFiles for Java distributions (see above).

Basic Component

Includes the following Java packages: y.algo, y.base, y.geom, y.util and y.util.pq.

The Basic component contains essential classes and data types for graph analysis. From highly efficient implementations of Graph, Priority Queue, and other advanced data types, to a wide variety of graph and network algorithms, The Basic component provides an indispensable toolkit for a range of network analysis tasks.

Layout Component

Includes the following Java packages: y.layout and all y.layout.* subpackages.

The Layout component builds upon the Basic component to offer a perfect suite of graph layout algorithms. Diverse layout styles including hierarchic, orthogonal, and circular are provided as easy-to-integrate components that can be configured programmatically to suit most layout demands. Even incremental layout is made simple, and our edge routing algorithms make it easy to route edges into existing diagrams.

Viewer Component

Includes the following Java packages: y.anim, y.io and y.io.* subpackages, y.option, y.view, y.view.hierarchy, and y.view.tabular.

The Viewer component also builds upon the Basic component. It features the powerful graph viewer UI component showcased in the yEd graph editor, along with several other useful Swing-based GUI elements. The Viewer component also supports diverse graph and image file formats (GraphML, JPG, GIF) and has excellent printing capabilities.