    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     *****************************************************************************/
    009    package org.picocontainer.references;
    010
    011    import java.io.Serializable;
    012
    013    import org.picocontainer.ObjectReference;
    014
    015    /**
    016     * Simple instance implementation of ObjectReference.
    017     *
    018     * @author Aslak Helles&oslash;y
    019     * @author Konstantin Pribluda
    020     */
    021    @SuppressWarnings("serial")
    022    public 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    }