Преглед на файлове

BETA: Minor fixes/cleanup:
* Fixing minor typo causing player's dead pet window to be removed when player is far from it.
* Reported by: lion
* Removed classes that wasn't in use.
* Cleanup some wrong named variables.
* Reviewed by: Nos

Rumen Nikiforov преди 11 години
родител
ревизия
e735b3bb4a

+ 3 - 4
L2J_Server_BETA/java/com/l2jserver/gameserver/GameTimeController.java

@@ -29,7 +29,6 @@ import com.l2jserver.gameserver.ai.CtrlEvent;
 import com.l2jserver.gameserver.ai.L2CharacterAI;
 import com.l2jserver.gameserver.instancemanager.DayNightSpawnManager;
 import com.l2jserver.gameserver.model.actor.L2Character;
-import com.l2jserver.util.StackTrace;
 
 /**
  * Game Time controller class.
@@ -37,7 +36,7 @@ import com.l2jserver.util.StackTrace;
  */
 public final class GameTimeController extends Thread
 {
-	private static final Logger _log = Logger.getLogger(GameTimeController.class.getName());
+	protected static final Logger _log = Logger.getLogger(GameTimeController.class.getName());
 	
 	public static final int TICKS_PER_SECOND = 10; // not able to change this without checking through code
 	public static final int MILLIS_IN_TICK = 1000 / TICKS_PER_SECOND;
@@ -168,7 +167,7 @@ public final class GameTimeController extends Thread
 				}
 				catch (final Throwable e)
 				{
-					StackTrace.displayStackTraceInformation(e);
+					_log.log(Level.WARNING, "", e);
 				}
 			}
 		});
@@ -210,7 +209,7 @@ public final class GameTimeController extends Thread
 			}
 			catch (final Throwable e)
 			{
-				StackTrace.displayStackTraceInformation(e);
+				_log.log(Level.WARNING, "", e);
 			}
 			
 			sleepTime = nextTickTime - System.currentTimeMillis();

+ 4 - 0
L2J_Server_BETA/java/com/l2jserver/gameserver/model/actor/knownlist/CharKnownList.java

@@ -158,6 +158,10 @@ public class CharKnownList extends ObjectKnownList
 				{
 					sIter.remove();
 				}
+				else if (getActiveChar().isPlayer() && (summon.getOwner() == getActiveChar()))
+				{
+					continue;
+				}
 				else if (!summon.isVisible() || !Util.checkIfInShortRadius(getDistanceToForgetObject(summon), getActiveObject(), summon, true))
 				{
 					sIter.remove();

+ 4 - 4
L2J_Server_BETA/java/com/l2jserver/gameserver/model/itemcontainer/ItemContainer.java

@@ -21,6 +21,7 @@ package com.l2jserver.gameserver.model.itemcontainer;
 import java.sql.Connection;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
+import java.util.ArrayList;
 import java.util.List;
 import java.util.logging.Level;
 import java.util.logging.Logger;
@@ -46,11 +47,10 @@ public abstract class ItemContainer
 {
 	protected static final Logger _log = Logger.getLogger(ItemContainer.class.getName());
 	
-	protected final List<L2ItemInstance> _items;
+	protected final List<L2ItemInstance> _items = new FastList<L2ItemInstance>().shared();
 	
 	protected ItemContainer()
 	{
-		_items = new FastList<L2ItemInstance>().shared();
 	}
 	
 	protected abstract L2Character getOwner();
@@ -108,7 +108,7 @@ public abstract class ItemContainer
 	 */
 	public List<L2ItemInstance> getItemsByItemId(int itemId)
 	{
-		List<L2ItemInstance> returnList = new FastList<>();
+		final List<L2ItemInstance> returnList = new ArrayList<>();
 		for (L2ItemInstance item : _items)
 		{
 			if ((item != null) && (item.getId() == itemId))
@@ -583,7 +583,7 @@ public abstract class ItemContainer
 		{
 			_log.log(Level.SEVERE, "deletedMe()", e);
 		}
-		List<L2Object> items = new FastList<L2Object>(_items);
+		final List<L2Object> items = new ArrayList<>(_items);
 		_items.clear();
 		
 		L2World.getInstance().removeObjects(items);

+ 1 - 1
L2J_Server_BETA/java/com/l2jserver/gameserver/model/stats/Formulas.java

@@ -2008,7 +2008,7 @@ public final class Formulas
 				}
 				
 				// Prevent initialization.
-				final List<BuffInfo> buffs = target.getEffectList().hasBuffs() ? new ArrayList<>(target.getEffectList().getBuffs().values()) : new ArrayList<BuffInfo>(1);
+				final List<BuffInfo> buffs = target.getEffectList().hasBuffs() ? new ArrayList<>(target.getEffectList().getBuffs().values()) : new ArrayList<>(1);
 				if (target.getEffectList().hasTriggered())
 				{
 					buffs.addAll(target.getEffectList().getTriggered().values());

+ 2 - 2
L2J_Server_BETA/java/com/l2jserver/gameserver/network/NpcStringId.java

@@ -17356,7 +17356,7 @@ public final class NpcStringId
 	 * ID: 1800701<br>
 	 * Message:
 	 */
-	public static final NpcStringId _;
+	public static final NpcStringId EMPTY_STRING;
 	
 	/**
 	 * ID: 1800702<br>
@@ -24497,7 +24497,7 @@ public final class NpcStringId
 		MESSENGER_INFORM_THE_BROTHERS_IN_KUCEREUS_CLAN_OUTPOST_BRAVE_ADVENTURERS_WHO_HAVE_CHALLENGED_THE_SEED_OF_INFINITY_ARE_CURRENTLY_INFILTRATING_THE_HALL_OF_EROSION_THROUGH_THE_DEFENSIVELY_WEAK_HALL_OF_SUFFERING = new NpcStringId(1800698);
 		MESSENGER_INFORM_THE_BROTHERS_IN_KUCEREUS_CLAN_OUTPOST_SWEEPING_THE_SEED_OF_INFINITY_IS_CURRENTLY_COMPLETE_TO_THE_HEART_OF_THE_SEED_EKIMUS_IS_BEING_DIRECTLY_ATTACKED_AND_THE_UNDEAD_REMAINING_IN_THE_HALL_OF_SUFFERING_ARE_BEING_ERADICATED = new NpcStringId(1800699);
 		MESSENGER_INFORM_THE_PATRONS_OF_THE_KEUCEREUS_ALLIANCE_BASE_THE_SEED_OF_INFINITY_IS_CURRENTLY_SECURED_UNDER_THE_FLAG_OF_THE_KEUCEREUS_ALLIANCE = new NpcStringId(1800700);
-		_ = new NpcStringId(1800701);
+		EMPTY_STRING = new NpcStringId(1800701);
 		MESSENGER_INFORM_THE_PATRONS_OF_THE_KEUCEREUS_ALLIANCE_BASE_THE_RESURRECTED_UNDEAD_IN_THE_SEED_OF_INFINITY_ARE_POURING_INTO_THE_HALL_OF_SUFFERING_AND_THE_HALL_OF_EROSION = new NpcStringId(1800702);
 		MESSENGER_INFORM_THE_BROTHERS_IN_KUCEREUS_CLAN_OUTPOST_EKIMUS_IS_ABOUT_TO_BE_REVIVED_BY_THE_RESURRECTED_UNDEAD_IN_SEED_OF_INFINITY_SEND_ALL_REINFORCEMENTS_TO_THE_HEART_AND_THE_HALL_OF_SUFFERING = new NpcStringId(1800703);
 		STABBING_THREE_TIMES = new NpcStringId(1800704);

+ 4 - 0
L2J_Server_BETA/java/com/l2jserver/gameserver/util/Evolve.java

@@ -42,6 +42,10 @@ import com.l2jserver.gameserver.network.serverpackets.MagicSkillUse;
 import com.l2jserver.gameserver.network.serverpackets.StatusUpdate;
 import com.l2jserver.gameserver.network.serverpackets.SystemMessage;
 
+/**
+ * UnAfraid: TODO: MOVE IT TO DP AI
+ * @author Unknown
+ */
 public final class Evolve
 {
 	public static final Logger _log = Logger.getLogger(Evolve.class.getName());

+ 0 - 92
L2J_Server_BETA/java/com/l2jserver/gameserver/util/JarClassLoader.java

@@ -1,92 +0,0 @@
-/*
- * Copyright (C) 2004-2014 L2J Server
- * 
- * This file is part of L2J Server.
- * 
- * L2J Server is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- * 
- * L2J Server is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- * 
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-package com.l2jserver.gameserver.util;
-
-import java.io.DataInputStream;
-import java.io.File;
-import java.io.IOException;
-import java.util.HashSet;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipFile;
-
-/**
- * This is a class loader for the dynamic extensions used by DynamicExtension class.
- * @author galun
- */
-public class JarClassLoader extends ClassLoader
-{
-	private static Logger _log = Logger.getLogger(JarClassLoader.class.getCanonicalName());
-	private final HashSet<String> _jars = new HashSet<>();
-	
-	public void addJarFile(String filename)
-	{
-		_jars.add(filename);
-	}
-	
-	@Override
-	public Class<?> findClass(String name) throws ClassNotFoundException
-	{
-		try
-		{
-			byte[] b = loadClassData(name);
-			return defineClass(name, b, 0, b.length);
-		}
-		catch (Exception e)
-		{
-			throw new ClassNotFoundException(name);
-		}
-	}
-	
-	private byte[] loadClassData(String name) throws IOException
-	{
-		byte[] classData = null;
-		final String fileName = name.replace('.', '/') + ".class";
-		for (String jarFile : _jars)
-		{
-			
-			final File file = new File(jarFile);
-			try (ZipFile zipFile = new ZipFile(file);)
-			{
-				final ZipEntry entry = zipFile.getEntry(fileName);
-				if (entry == null)
-				{
-					continue;
-				}
-				classData = new byte[(int) entry.getSize()];
-				try (DataInputStream zipStream = new DataInputStream(zipFile.getInputStream(entry)))
-				{
-					zipStream.readFully(classData, 0, (int) entry.getSize());
-				}
-				break;
-			}
-			catch (IOException e)
-			{
-				_log.log(Level.WARNING, jarFile + ": " + e.getMessage(), e);
-				continue;
-			}
-		}
-		if (classData == null)
-		{
-			throw new IOException("class not found in " + _jars);
-		}
-		return classData;
-	}
-}

+ 0 - 313
L2J_Server_BETA/java/com/l2jserver/gameserver/util/MultiSort.java

@@ -1,313 +0,0 @@
-/*
- * Copyright (C) 2004-2014 L2J Server
- * 
- * This file is part of L2J Server.
- * 
- * L2J Server is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- * 
- * L2J Server is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- * 
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-package com.l2jserver.gameserver.util;
-
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-
-import javolution.util.FastList;
-
-/**
- * Descending Integer Sort Algorithm - Fast ordering system. - Can easily be ported elsewhere. - Can handle any number of values, from a list or even from a map. - Handles duplicate values.
- * @author Tempy
- */
-public class MultiSort
-{
-	public static final int SORT_ASCENDING = 0;
-	public static final int SORT_DESCENDING = 1;
-	
-	private List<?> _keyList;
-	private List<Integer> _valueList;
-	
-	private boolean _isSortDescending;
-	private boolean _isSorted;
-	
-	public MultiSort(int[] valueList)
-	{
-		_valueList = getIntList(valueList);
-	}
-	
-	public MultiSort(Collection<Integer> valueList)
-	{
-		_valueList = getIntList(valueList);
-	}
-	
-	public MultiSort(Object[] keyList, int[] valueList)
-	{
-		_keyList = getList(keyList);
-		_valueList = getIntList(valueList);
-	}
-	
-	public MultiSort(Map<?, Integer> valueMap)
-	{
-		_keyList = getList(valueMap.keySet());
-		_valueList = getIntList(valueMap.values());
-	}
-	
-	private final List<Integer> getIntList(Collection<Integer> valueList)
-	{
-		return Arrays.asList(valueList.toArray(new Integer[valueList.size()]));
-	}
-	
-	private final List<Integer> getIntList(int[] valueList)
-	{
-		Integer[] tempIntList = new Integer[valueList.length];
-		
-		for (int i = 0; i < valueList.length; i++)
-		{
-			tempIntList[i] = Integer.valueOf(valueList[i]);
-		}
-		
-		return Arrays.asList(tempIntList);
-	}
-	
-	private final List<?> getList(Collection<?> valueList)
-	{
-		return getList(valueList.toArray(new Object[valueList.size()]));
-	}
-	
-	private final List<Object> getList(Object[] valueList)
-	{
-		return Arrays.asList(valueList);
-	}
-	
-	public final int getCount()
-	{
-		return getValues().size();
-	}
-	
-	public final int getHarmonicMean()
-	{
-		if (getValues().isEmpty())
-		{
-			return -1;
-		}
-		
-		int totalValue = 0;
-		
-		for (int currValue : getValues())
-		{
-			totalValue += (1 / currValue);
-		}
-		
-		return (getCount() / totalValue);
-	}
-	
-	public final List<?> getKeys()
-	{
-		if (_keyList == null)
-		{
-			return new FastList<>();
-		}
-		
-		return _keyList;
-	}
-	
-	public final int getFrequency(int checkValue)
-	{
-		return Collections.frequency(getValues(), checkValue);
-	}
-	
-	public final int getMaxValue()
-	{
-		return Collections.max(getValues());
-	}
-	
-	public final int getMinValue()
-	{
-		return Collections.min(getValues());
-	}
-	
-	public final int getMean()
-	{
-		if (getValues().isEmpty())
-		{
-			return -1;
-		}
-		
-		return (getTotalValue() / getCount());
-	}
-	
-	public final double getStandardDeviation()
-	{
-		if (getValues().isEmpty())
-		{
-			return -1;
-		}
-		
-		List<Double> tempValList = new FastList<>();
-		
-		int meanValue = getMean();
-		int numValues = getCount();
-		
-		for (int value : getValues())
-		{
-			double adjValue = Math.pow(value - meanValue, 2);
-			tempValList.add(adjValue);
-		}
-		
-		double totalValue = 0;
-		
-		for (double storedVal : tempValList)
-		{
-			totalValue += storedVal;
-		}
-		
-		return Math.sqrt(totalValue / (numValues - 1));
-	}
-	
-	public final int getTotalValue()
-	{
-		if (getValues().isEmpty())
-		{
-			return 0;
-		}
-		
-		int totalValue = 0;
-		
-		for (int currValue : getValues())
-		{
-			totalValue += currValue;
-		}
-		
-		return totalValue;
-	}
-	
-	public final List<Integer> getValues()
-	{
-		if (_valueList == null)
-		{
-			return new FastList<>();
-		}
-		
-		return _valueList;
-	}
-	
-	public final boolean isSortDescending()
-	{
-		return _isSortDescending;
-	}
-	
-	public final boolean isSorted()
-	{
-		return _isSorted;
-	}
-	
-	public final void setSortDescending(boolean isDescending)
-	{
-		_isSortDescending = isDescending;
-	}
-	
-	public boolean sort()
-	{
-		try
-		{
-			List<Object> newKeyList = new FastList<>();
-			List<Integer> newValueList = new FastList<>();
-			
-			// Sort the list of values in ascending numerical order.
-			Collections.sort(getValues());
-			
-			int lastValue = 0;
-			
-			if (!isSortDescending())
-			{
-				// If there are no keys, just return the ascendingly sorted values.
-				if (getKeys().isEmpty())
-				{
-					return true;
-				}
-				
-				// Iterate through the list of ordered numerical values.
-				for (int i = getValues().size() - 1; i > -1; i--)
-				{
-					int currValue = getValues().get(i);
-					
-					// If the current value is equal to the last value, we have at least one
-					// duplicate that has been outputted already, so continue.
-					if (currValue == lastValue)
-					{
-						continue;
-					}
-					
-					// Set the last value to the current value, to prevent duplication.
-					lastValue = currValue;
-					
-					// Iterate through each key and match it to its stored integer value,
-					// then output both sets of data in the correct descending numerical order.
-					for (int j = 0; j < getKeys().size(); j++)
-					{
-						Object currKey = getKeys().get(j);
-						
-						if (getValues().get(j) == currValue)
-						{
-							newKeyList.add(currKey);
-							newValueList.add(currValue);
-						}
-					}
-				}
-			}
-			else
-			{
-				// If there are no keys, just sort the value list in reverse order.
-				if (getKeys().isEmpty())
-				{
-					Collections.reverse(getValues());
-					return true;
-				}
-				
-				// Do the exact same as above, but in descending order.
-				for (int i = 0; i < getValues().size(); i++)
-				{
-					int currValue = getValues().get(i);
-					
-					if (currValue == lastValue)
-					{
-						continue;
-					}
-					
-					lastValue = currValue;
-					
-					for (int j = 0; j < getKeys().size(); j++)
-					{
-						Object currKey = getKeys().get(j);
-						
-						if (getValues().get(j) == currValue)
-						{
-							newKeyList.add(currKey);
-							newValueList.add(currValue);
-						}
-					}
-				}
-			}
-			
-			_keyList = newKeyList;
-			_valueList = newValueList;
-			_isSorted = true;
-			return true;
-		}
-		catch (Exception e)
-		{
-			return false;
-		}
-	}
-}

+ 2 - 2
L2J_Server_BETA/java/com/l2jserver/log/formatter/FileLogFormatter.java

@@ -32,12 +32,12 @@ import com.l2jserver.util.StringUtil;
  */
 public class FileLogFormatter extends Formatter
 {
-	private static final String _ = "\t";
+	private static final String TAB = "\t";
 	private final SimpleDateFormat dateFmt = new SimpleDateFormat("yyyy.MM.dd HH:mm:ss,SSS");
 	
 	@Override
 	public String format(LogRecord record)
 	{
-		return StringUtil.concat(dateFmt.format(new Date(record.getMillis())), _, record.getLevel().getName(), _, String.valueOf(record.getThreadID()), _, record.getLoggerName(), _, record.getMessage(), Config.EOL);
+		return StringUtil.concat(dateFmt.format(new Date(record.getMillis())), TAB, record.getLevel().getName(), TAB, String.valueOf(record.getThreadID()), TAB, record.getLoggerName(), TAB, record.getMessage(), Config.EOL);
 	}
 }

+ 0 - 70
L2J_Server_BETA/java/com/l2jserver/util/L2ArrayList.java

@@ -1,70 +0,0 @@
-/*
- * Copyright (C) 2004-2014 L2J Server
- * 
- * This file is part of L2J Server.
- * 
- * L2J Server is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- * 
- * L2J Server is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- * 
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-package com.l2jserver.util;
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-import com.l2jserver.gameserver.model.interfaces.IProcedure;
-
-/**
- * A custom version of ArrayList: Extension for iterating without using temporary collection<br>
- * Note that this implementation is not synchronized. If multiple threads access a array list concurrently, and at least one of the threads modifies the list structurally, it must be synchronized externally. This is typically accomplished by synchronizing on some object that naturally encapsulates
- * the list. If no such object exists, the list should be "wrapped" using the {@link L2FastList}. This is best done at creation time, to prevent accidental unsynchronized access.
- * @author UnAfraid
- * @param <T>
- */
-public class L2ArrayList<T> extends ArrayList<T>
-{
-	private static final long serialVersionUID = 8354641653178203420L;
-	
-	public L2ArrayList()
-	{
-		super();
-	}
-	
-	public L2ArrayList(Collection<? extends T> c)
-	{
-		super(c);
-	}
-	
-	public L2ArrayList(int initialCapacity)
-	{
-		super(initialCapacity);
-	}
-	
-	/**
-	 * Public method that iterate entire collection.<br>
-	 * <br>
-	 * @param proc - a class method that must be executed on every element of collection.<br>
-	 * @return - returns true if entire collection is iterated, false if it`s been interrupted by<br>
-	 *         check method (IL2Procedure.execute(T))<br>
-	 */
-	public boolean executeForEach(IProcedure<T, Boolean> proc)
-	{
-		for (T e : this)
-		{
-			if (!proc.execute(e))
-			{
-				return false;
-			}
-		}
-		return true;
-	}
-}

+ 0 - 129
L2J_Server_BETA/java/com/l2jserver/util/StackTrace.java

@@ -1,129 +0,0 @@
-/*
- * Copyright (C) 2004-2014 L2J Server
- * 
- * This file is part of L2J Server.
- * 
- * L2J Server is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- * 
- * L2J Server is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- * 
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-package com.l2jserver.util;
-
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-public class StackTrace
-{
-	private static final Logger _log = Logger.getLogger(StackTrace.class.getName());
-	
-	public static boolean displayStackTraceInformation(Throwable ex)
-	{
-		return displayStackTraceInformation(ex, false);
-	}
-	
-	public static boolean displayStackTraceInformation(Throwable ex, boolean displayAll)
-	{
-		if (ex == null)
-		{
-			return false;
-		}
-		
-		_log.log(Level.INFO, "", ex);
-		
-		if (!displayAll)
-		{
-			return true;
-		}
-		
-		StackTraceElement[] stackElements = ex.getStackTrace();
-		
-		_log.log(Level.INFO, "The " + stackElements.length + " element" + ((stackElements.length == 1) ? "" : "s") + " of the stack trace:\n");
-		
-		for (StackTraceElement stackElement : stackElements)
-		{
-			_log.log(Level.INFO, "File name: " + stackElement.getFileName());
-			_log.log(Level.INFO, "Line number: " + stackElement.getLineNumber());
-			
-			String className = stackElement.getClassName();
-			String packageName = extractPackageName(className);
-			String simpleClassName = extractSimpleClassName(className);
-			
-			_log.log(Level.INFO, "Package name: " + ("".equals(packageName) ? "[default package]" : packageName));
-			_log.log(Level.INFO, "Full class name: " + className);
-			_log.log(Level.INFO, "Simple class name: " + simpleClassName);
-			_log.log(Level.INFO, "Unmunged class name: " + unmungeSimpleClassName(simpleClassName));
-			_log.log(Level.INFO, "Direct class name: " + extractDirectClassName(simpleClassName));
-			
-			_log.log(Level.INFO, "Method name: " + stackElement.getMethodName());
-			_log.log(Level.INFO, "Native method?: " + stackElement.isNativeMethod());
-			
-			_log.log(Level.INFO, "toString(): " + stackElement.toString());
-			_log.log(Level.INFO, "");
-		}
-		_log.log(Level.INFO, "");
-		
-		return true;
-	}
-	
-	private static String extractPackageName(String fullClassName)
-	{
-		if ((null == fullClassName) || fullClassName.isEmpty())
-		{
-			return "";
-		}
-		final int lastDot = fullClassName.lastIndexOf('.');
-		if (0 >= lastDot)
-		{
-			return "";
-		}
-		return fullClassName.substring(0, lastDot);
-	}
-	
-	private static String extractSimpleClassName(String fullClassName)
-	{
-		if ((null == fullClassName) || fullClassName.isEmpty())
-		{
-			return "";
-		}
-		
-		int lastDot = fullClassName.lastIndexOf('.');
-		if (0 > lastDot)
-		{
-			return fullClassName;
-		}
-		return fullClassName.substring(++lastDot);
-	}
-	
-	private static String extractDirectClassName(String simpleClassName)
-	{
-		if ((null == simpleClassName) || simpleClassName.isEmpty())
-		{
-			return "";
-		}
-		
-		int lastSign = simpleClassName.lastIndexOf('$');
-		if (0 > lastSign)
-		{
-			return simpleClassName;
-		}
-		return simpleClassName.substring(++lastSign);
-	}
-	
-	private static String unmungeSimpleClassName(String simpleClassName)
-	{
-		if ((null == simpleClassName) || simpleClassName.isEmpty())
-		{
-			return "";
-		}
-		return simpleClassName.replace('$', '.');
-	}
-}