blob: b722b69824464a4f761f548c966c4a331524f916 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You 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.apache.carbondata.core.metadata.index;
import org.apache.carbondata.core.metadata.blocklet.BlockletInfo;
import org.apache.carbondata.core.metadata.blocklet.index.BlockletIndex;
/**
* Below class will be used hold the information
* about block index
*/
public class BlockIndexInfo {
/**
* total number of rows present in the file
*/
private long numberOfRows;
/**
* file name
*/
private String fileName;
/**
* offset of metadata in data file
*/
private long offset;
/**
* to store min max and start and end key
*/
private BlockletIndex blockletIndex;
/**
* to store blocklet info like offsets and lengths of each column.
*/
private BlockletInfo blockletInfo;
/**
* file size
*/
private long fileSize;
/**
* Constructor
*
* @param numberOfRows number of rows
* @param fileName full qualified name
* @param offset offset of the metadata in data file
* @param blockletIndex block let index
*/
public BlockIndexInfo(long numberOfRows, String fileName, long offset,
BlockletIndex blockletIndex) {
this.numberOfRows = numberOfRows;
this.fileName = fileName;
this.offset = offset;
this.blockletIndex = blockletIndex;
}
/**
*
* @param numberOfRows
* @param fileName
* @param offset
* @param blockletIndex
* @param blockletInfo
*/
public BlockIndexInfo(long numberOfRows, String fileName, long offset,
BlockletIndex blockletIndex, BlockletInfo blockletInfo) {
this(numberOfRows, fileName, offset, blockletIndex);
this.blockletInfo = blockletInfo;
}
public BlockIndexInfo(long numberOfRows, String fileName, long offset,
BlockletIndex blockletIndex, BlockletInfo blockletInfo, long fileSize) {
this(numberOfRows, fileName, offset, blockletIndex, blockletInfo);
this.fileSize = fileSize;
}
/**
* @return the numberOfRows
*/
public long getNumberOfRows() {
return numberOfRows;
}
/**
* @return the fileName
*/
public String getFileName() {
return fileName;
}
/**
* @return the offset
*/
public long getOffset() {
return offset;
}
/**
* @return the blockletIndex
*/
public BlockletIndex getBlockletIndex() {
return blockletIndex;
}
/**
* @return BlockletInfo
*/
public BlockletInfo getBlockletInfo() {
return blockletInfo;
}
/**
* @return file size
*/
public long getFileSize() {
return fileSize;
}
}