001 // Copyright 2010 Waterken Inc. under the terms of the MIT X license 002 // found at http://www.opensource.org/licenses/mit-license.html 003 package org.waterken.pipelined; 004 005 import java.io.Serializable; 006 007 import org.joe_e.Struct; 008 009 /** 010 * A {@link PlugNPlay} maker. 011 */ 012 public final class PlugNPlayMaker { 013 private PlugNPlayMaker() {} 014 015 static public PlugNPlay 016 make() { 017 class PlugNPlayX extends Struct implements PlugNPlay, Serializable { 018 static private final long serialVersionUID = 1L; 019 020 public PlugNPlayX 021 play() { return this; } 022 023 public PlugNPlayX 024 plug(final PlugNPlay player) { return (PlugNPlayX)player; } 025 } 026 return new PlugNPlayX(); 027 } 028 }