/*! ****************************************************************************** * * Pentaho Data Integration * * Copyright (C) 2002-2013 by Pentaho : http://www.pentaho.com * ******************************************************************************* * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * ******************************************************************************/ package org.pentaho.di.trans.steps.sort; import java.io.DataInputStream; import java.io.InputStream; import java.util.ArrayList; import java.util.Comparator; import java.util.List; import java.util.zip.GZIPInputStream; import org.apache.commons.vfs2.FileObject; import org.pentaho.di.core.row.RowMetaInterface; import org.pentaho.di.trans.step.BaseStepData; import org.pentaho.di.trans.step.StepDataInterface; /** * @author Matt * @since 24-jan-2005 */ public class SortRowsData extends BaseStepData implements StepDataInterface { public List<FileObject> files; public List<Object[]> buffer; public int getBufferIndex; public List<InputStream> fis; public List<GZIPInputStream> gzis; public List<DataInputStream> dis; public List<Object[]> rowbuffer; public List<Integer> bufferSizes; // To store rows and file references public List<RowTempFile> tempRows; public int[] fieldnrs; // the corresponding field numbers; public FileObject fil; public RowMetaInterface outputRowMeta; public int sortSize; public boolean compressFiles; public int[] convertKeysToNative; public boolean convertAnyKeysToNative; Comparator<RowTempFile> comparator; Comparator<Object[]> rowComparator; public int freeCounter; public int freeMemoryPct; public int minSortSize; public int freeMemoryPctLimit; public int memoryReporting; /* * Group Fields Implementation heroic */ public Object[] previous; public int[] groupnrs; public boolean newBatch; public SortRowsData() { super(); files = new ArrayList<FileObject>(); fis = new ArrayList<InputStream>(); gzis = new ArrayList<GZIPInputStream>(); dis = new ArrayList<DataInputStream>(); bufferSizes = new ArrayList<Integer>(); previous = null; // Heroic } }