/*
* Copyright (c) 2006 Thomas Weise
*
* E-Mail : tweise@gmx.de
* Creation Date : 2006-06-06 05:05:34
* Original Filename: org.dgpf.search.algorithms.ga.sorting.NoSorting.java
* Version : 1.0.0
* Last modification: 2006-06-06
* by: Thomas Weise
*
* License : GNU LESSER GENERAL PUBLIC LICENSE
* Version 2.1, February 1999
* You should have received a copy of this license along
* with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
* MA 02111-1307, USA or download the license under
* http://www.gnu.org/copyleft/lesser.html.
*
* Warranty : This software is provided "as is" without any
* warranty; without even the implied warranty of
* merchantability or fitness for a particular purpose.
* See the Gnu Lesser General Public License for more
* details.
*/
package org.dgpf.search.algorithms.ga.sorting;
import org.dgpf.search.algorithms.ga.SortingAlgorithm;
import org.dgpf.search.api.Individual;
import org.dgpf.search.api.IndividualComparator;
/**
* This sorting algorithm doesn't sort at all.
*
* @author Thomas Weise
*/
public final class NoSorting extends SortingAlgorithm
{
/**
* The serial version uid.
*/
private static final long serialVersionUID = 1;
/**
* The shared instance of the no sorting sort algorithm.
*/
public static final SortingAlgorithm INSTANCE =
new NoSorting();
/**
* Prevent you from instantiating this class.
*/
private NoSorting()
{
super();
}
/**
* Sort the individuals so that they can be used by the selection algorithm
* optimally.
* @param p_individuals The array with the individuals to be sorted.
* @param p_count The count of individuals in that array.
* @param p_comparator The comparator to be used.
* @param p_unsorted This parameter is false
, if and only
* if the population is already sorted according to
* the comparator provided. Otherwise it is
* true
indicating that list is not yet
* sorted.
*/
@Override
public void sort (final Individual>[] p_individuals,
final int p_count,
final IndividualComparator p_comparator,
final boolean p_unsorted)
{
//
}
/**
* Deserialize to the proper instance.
* @return The globally shared instance.
*/
private final Object readResolve()
{
return INSTANCE;
}
/**
* Perform a write replace of this object.
* @return The object to store.
*/
private final Object writeReplace()
{
return INSTANCE;
}
/**
* Create of copy of this sorting algorithm instance.
* @return A copy of this sorting algorithm instance.
*/
@Override
public final Object clone ()
{
return INSTANCE;
}
/**
* Check whether this object equals another one.
* @param p_object The object to compare with.
* @return true
if and only if this object equals to the other
* one.
*/
@Override
public boolean equals (final Object p_object)
{
return ((p_object == this) ||
(p_object instanceof NoSorting));
}
}