xstream4j

A port of xstream for Java

Why?

Same/Some of reasons as listed in xstream:

  • Only 26 core operators and factories
  • Only “hot” streams

Refer to original xstream docs for rationale and ... well ... docs :)

Examples

import xstream4j.Xs.*;

...

Xs.interval(100)
        .map(number -> number.intValue() * 2)
        .filter(number -> number % 3 == 0)
        .skip(4)
        .take(15)
        .subscribe(new IObserver<Integer>() {
            @Override
            public void next(Integer integer) {
                System.out.println(integer);
            }

            @Override
            public void error(Exception e) {

            }

            @Override
            public void end() {

            }
        });

Building docs

  • Install Sphinx (pip install Sphinx or easy_install Sphinx)
  • Install javasphinx (pip install javasphinx or easy_install javasphinx)
  • From project root run javasphinx-apidoc -f -o doc ./src src/main/java/xstream4j/perf && (cd doc && make html)
  • Docs are now available in doc/_build/html/index.html

Indices and tables