java pipe programming framework