    001    /*******************************************************************************
    002     * Copyright (C) PicoContainer Organization. All rights reserved.
    003     * ---------------------------------------------------------------------------
    004     * The software in this package is published under the terms of the BSD style
    005     * license a copy of which has been included with this distribution in the
    006     * LICENSE.txt file.
    007     ******************************************************************************/
    008    package org.picocontainer.classname;
    009
    010    /**
    011     * ClassName is a simple wrapper for a class name which is used as a key in
    012     * the registration of components in PicoContainer.
    013     *
    014     * @author Paul Hammant
    015     */
    016    public class ClassName implements CharSequence {
    017        private final String className;
    018
    019        public ClassName(String className) {
    020            this.className = className;
    021        }
    022
    023        public int length() {
    024            return className.length();
    025        }
    026
    027        public char charAt(int ix) {
    028            return className.charAt(ix);
    029        }
    030
    031        public CharSequence subSequence(int from, int to) {
    032            return className.subSequence(from, to);
    033        }
    034
    035        public String toString() {
    036            return className.toString();
    037        }
    038
    039        public int hashCode() {
    040            return className.hashCode();
    041        }
    042
    043        public boolean equals(Object o) {
    044            return className.equals(o);
    045        }
    046    }