All Downloads are FREE. Search and download functionalities are using the official Maven repository.

mockit.internal.util.ClassNaming Maven / Gradle / Ivy

Go to download

JMockit is a Java toolkit for automated developer testing. It contains mocking/faking APIs and a code coverage tool, supporting both JUnit and TestNG. The mocking APIs allow all kinds of Java code, without testability restrictions, to be tested in isolation from selected dependencies.

There is a newer version: 1.49
Show newest version
/*
 * Copyright (c) 2006-2015 Rogério Liesenfeld
 * This file is subject to the terms of the MIT license (see LICENSE.txt).
 */
package mockit.internal.util;

import javax.annotation.*;

public final class ClassNaming
{
   private ClassNaming() {}

   /**
    * This method was created to work around an issue in the standard {@link Class#isAnonymousClass()} method, which
    * causes a sibling nested class to be loaded when called on a nested class. If that sibling nested class is not in
    * the classpath, a {@code ClassNotFoundException} would result.
    * 

* This method checks only the given class name, never causing any other classes to be loaded. */ public static boolean isAnonymousClass(@Nonnull Class aClass) { return isAnonymousClass(aClass.getName()); } public static boolean isAnonymousClass(@Nonnull String className) { int p = className.lastIndexOf('$'); return isAllNumeric(className, p); } public static boolean isAllNumeric(@Nonnull String className, int positionJustBefore) { if (positionJustBefore <= 0) { return false; } int nextPos = positionJustBefore + 1; int n = className.length(); while (nextPos < n) { char c = className.charAt(nextPos); if (c < '0' || c > '9') return false; nextPos++; } return true; } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy