View Javadoc
1   /*******************************************************************************
2    *   Gisgraphy Project 
3    * 
4    *   This library is free software; you can redistribute it and/or
5    *   modify it under the terms of the GNU Lesser General Public
6    *   License as published by the Free Software Foundation; either
7    *   version 2.1 of the License, or (at your option) any later version.
8    * 
9    *   This library is distributed in the hope that it will be useful,
10   *   but WITHOUT ANY WARRANTY; without even the implied warranty of
11   *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12   *   Lesser General Public License for more details.
13   * 
14   *   You should have received a copy of the GNU Lesser General Public
15   *   License along with this library; if not, write to the Free Software
16   *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA
17   * 
18   *  Copyright 2008  Gisgraphy project 
19   *  David Masclet <davidmasclet@gisgraphy.com>
20   *  
21   *  
22   *******************************************************************************/
23  package com.gisgraphy.helper;
24  
25  import org.slf4j.Logger;
26  import org.slf4j.LoggerFactory;
27  
28  /**
29   * Some useful (hack) functions
30   * 
31   * @author <a href="mailto:david.masclet@gisgraphy.com">David Masclet</a>
32   */
33  public class ClassNameHelper {
34  
35      protected static final Logger logger = LoggerFactory
36  	    .getLogger(ClassNameHelper.class);
37  
38      /**
39       * This strips the cglib class name out of the enhanced classes.
40       *
41       * @param className the name of the class
42       * @return the striped name, or the GisFeture className if an error occured
43       */
44      @SuppressWarnings("unchecked")
45      public static String stripEnhancerClass(String className) {
46  	int enhancedIndex = className.indexOf("$$EnhancerByCGLIB");
47  	if (enhancedIndex != -1) {
48  	    return className.substring(0, enhancedIndex);
49  	} else {
50  	    return className;
51  	}
52  
53      }
54  
55  }