    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.gems.constraints;
    010
    011    import org.picocontainer.ComponentAdapter;
    012
    013    /**
    014     * Constraint that accepts an adapter of a specific key.
    015     *
    016     * @author Nick Sieger
    017     */
    018    @SuppressWarnings("serial")
    019    public final class IsKey extends AbstractConstraint {
    020
    021
    022            private final Object key;
    023
    024        /**
    025         * Creates a new <code>IsKey</code> instance.
    026         *
    027         * @param key the key to match
    028         */
    029        public IsKey(final Object key) {
    030            this.key = key;
    031        }
    032
    033        @Override
    034            public boolean evaluate(final ComponentAdapter adapter) {
    035            return key.equals(adapter.getComponentKey());
    036        }
    037
    038    }