//************************* JavaBean *************************//
abstract class ISort implements java.io.Serializable {
abstract public void sort( int[] array );
public static ISort makeSorter() { return new SortServer(); }
}
class SortServer extends ISort {
public void sort( int[] array ) {
for (int g = array.length/2; g > 0; g /= 2)
for (int i = g; i < array.length; i++)
for (int j = i-g; j >= 0; j -= g)
if (array[j] > array[j+g]) {
int temp = array[j];
array[j] = array[j+g];
array[j+g] = temp;
} } }
public class SortBean implements java.io.Serializable {
private int[] array;
private ISort sorter = ISort.makeSorter();
private java.util.Random rn = new java.util.Random();
public SortBean() { System.out.println( "SortBean ctor" ); }
public void setArray( String dummyArgument ) {
System.out.println( "setArray() - " + dummyArgument );
array = new int[ rn.nextInt(10) + 5 ];
for (int i=0; i < array.length; i++) array[i] = rn.nextInt(20) + 1;
}
public String getArray() {
StringBuffer sb = new StringBuffer();
for (int i=0; i < array.length; i++) sb.append( array[i] + " " );
return sb.toString();
}
public int getLength() { return array.length; }
public void sort() { sorter.sort( array ); }
}
//************************* JSP *************************//