001/*
002 * Copyright (c) 2007-2017 Xplenty, Inc. All Rights Reserved.
003 *
004 * Project and contact information: http://www.cascading.org/
005 *
006 * This file is part of the Cascading project.
007 *
008 * Licensed under the Apache License, Version 2.0 (the "License");
009 * you may not use this file except in compliance with the License.
010 * You may obtain a copy of the License at
011 *
012 *     http://www.apache.org/licenses/LICENSE-2.0
013 *
014 * Unless required by applicable law or agreed to in writing, software
015 * distributed under the License is distributed on an "AS IS" BASIS,
016 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
017 * See the License for the specific language governing permissions and
018 * limitations under the License.
019 */
020
021package cascading.scheme;
022
023import cascading.tap.Tap;
024import cascading.tuple.TupleEntry;
025
026/**
027 * The concrete base class for {@link SourceCall} and {@link SinkCall}.
028 *
029 * @param <Context>
030 * @param <IO>
031 */
032public class ConcreteCall<Context, IO> implements SourceCall<Context, IO>, SinkCall<Context, IO>
033  {
034  Context context;
035  TupleEntry entry;
036  IO io;
037  Tap tap;
038
039  @Override
040  public Context getContext()
041    {
042    return context;
043    }
044
045  @Override
046  public void setContext( Context context )
047    {
048    this.context = context;
049    }
050
051  @Override
052  public TupleEntry getOutgoingEntry()
053    {
054    return entry;
055    }
056
057  public void setOutgoingEntry( TupleEntry outgoingEntry )
058    {
059    this.entry = outgoingEntry;
060    }
061
062  @Override
063  public TupleEntry getIncomingEntry()
064    {
065    return entry;
066    }
067
068  public void setIncomingEntry( TupleEntry incomingEntry )
069    {
070    this.entry = incomingEntry;
071    }
072
073  @Override
074  public IO getInput()
075    {
076    return io;
077    }
078
079  public void setInput( IO input )
080    {
081    this.io = input;
082    }
083
084  @Override
085  public IO getOutput()
086    {
087    return io;
088    }
089
090  public void setOutput( IO output )
091    {
092    this.io = output;
093    }
094
095  @Override
096  public Tap getTap()
097    {
098    return tap;
099    }
100
101  public void setTap( Tap tap )
102    {
103    this.tap = tap;
104    }
105  }