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 }