001/*****************************************************************************
002 * Copyright (C) PicoContainer Organization. All rights reserved.            *
003 * ------------------------------------------------------------------------- *
004 * The software in this package is published under the terms of the BSD      *
005 * style license a copy of which has been included with this distribution in *
006 * the LICENSE.txt file.                                                     *
007 *                                                                           *
008 *****************************************************************************/
009package org.picocontainer.references;
010
011import java.io.Serializable;
012
013import org.picocontainer.ObjectReference;
014
015/**
016 * Simple instance implementation of ObjectReference. 
017 * 
018 * @author Aslak Hellesøy
019 * @author Konstantin Pribluda
020 */
021@SuppressWarnings("serial")
022public class SimpleReference<T> implements ObjectReference<T>,
023                Serializable {
024        private T instance;
025
026        public SimpleReference() {
027            // no-op
028        }
029
030        public T get() {
031                return instance;
032        }
033
034        public void set(T item) {
035                this.instance = item;
036        }
037}