in maven-projects/java/src/main/java/org/apache/graphar/writers/VertexPropertyWriter.java [96:245]
Status writeVerticesNum(
@FFITypeAlias(GAR_ID_TYPE) long count, @CXXValue ValidateLevel validateLevel);
/**
* Write the number of vertices into the file.
*
* @param count The number of vertices.
* @return Status: ok or error.
*/
@FFINameAlias("WriteVerticesNum")
@CXXValue
Status writeVerticesNum(@FFITypeAlias(GAR_ID_TYPE) long count);
/**
* Copy a file as a vertex property group chunk.
*
* @param fileName The file to copy.
* @param propertyGroup The property group.
* @param chunkIndex The index of the vertex chunk.
* @param validateLevel The validate level for this operation, which is the writer's validate
* level by default.
* @return Status: ok or error.
*/
@FFINameAlias("WriteChunk")
@CXXValue
Status writeChunk(
@CXXReference StdString fileName,
@CXXReference PropertyGroup propertyGroup,
@FFITypeAlias(GAR_ID_TYPE) long chunkIndex,
@CXXValue ValidateLevel validateLevel);
/**
* Validate and write a single property group for a single vertex chunk.
*
* @param inputTable The table containing data.
* @param propertyGroup The property group.
* @param chunkIndex The index of the vertex chunk.
* @param validateLevel The validate level for this operation, which is the writer's validate
* level by default.
* @return Status: ok or error.
*/
@FFINameAlias("WriteChunk")
@CXXValue
Status writeChunk(
@CXXReference StdSharedPtr<ArrowTable> inputTable,
@CXXReference PropertyGroup propertyGroup,
@FFITypeAlias(GAR_ID_TYPE) long chunkIndex,
@CXXValue ValidateLevel validateLevel);
/**
* Write all property groups of a single vertex chunk to corresponding files.
*
* @param inputTable The table containing data.
* @param chunkIndex The index of the vertex chunk.
* @param validateLevel The validate level for this operation, which is the writer's validate
* level by default.
* @return Status: ok or error.
*/
@FFINameAlias("WriteChunk")
@CXXValue
Status writeChunk(
@CXXReference StdSharedPtr<ArrowTable> inputTable,
@FFITypeAlias(GAR_ID_TYPE) long chunkIndex,
@CXXValue ValidateLevel validateLevel);
/**
* Write all property groups of a single vertex chunk to corresponding files.
*
* @param inputTable The table containing data.
* @param chunkIndex The index of the vertex chunk.
* @return Status: ok or error.
*/
@FFINameAlias("WriteChunk")
@CXXValue
Status writeChunk(
@CXXReference StdSharedPtr<ArrowTable> inputTable,
@FFITypeAlias(GAR_ID_TYPE) long chunkIndex);
/**
* Write a single property group for multiple vertex chunks to corresponding files.
*
* @param inputTable The table containing data.
* @param propertyGroup The property group.
* @param startChunkIndex The start index of the vertex chunks.
* @param validateLevel The validate level for this operation, which is the writer's validate
* level by default.
* @return Status: ok or error.
*/
@FFINameAlias("WriteTable")
@CXXValue
Status writeTable(
@CXXReference StdSharedPtr<ArrowTable> inputTable,
@CXXReference PropertyGroup propertyGroup,
@FFITypeAlias(GAR_ID_TYPE) long startChunkIndex,
@CXXValue ValidateLevel validateLevel);
/**
* Write all property groups for multiple vertex chunks to corresponding files.
*
* @param inputTable The table containing data.
* @param startChunkIndex The start index of the vertex chunks.
* @param validateLevel The validate level for this operation, which is the writer's validate
* level by default.
* @return Status: ok or error.
*/
@FFINameAlias("WriteTable")
@CXXValue
Status writeTable(
@CXXReference StdSharedPtr<ArrowTable> inputTable,
@FFITypeAlias(GAR_ID_TYPE) long startChunkIndex,
@CXXValue ValidateLevel validateLevel);
/**
* Write all property groups for multiple vertex chunks to corresponding files.
*
* @param inputTable The table containing data.
* @param startChunkIndex The start index of the vertex chunks.
* @return Status: ok or error.
*/
@FFINameAlias("WriteTable")
@CXXValue
Status writeTable(
@CXXReference StdSharedPtr<ArrowTable> inputTable,
@FFITypeAlias(GAR_ID_TYPE) long startChunkIndex);
@FFIFactory
interface Factory {
/**
* Initialize the VertexPropertyWriter.
*
* @param vertexInfo The vertex info that describes the vertex type.
* @param prefix The absolute prefix.
* @param validateLevel The global validate level for the writer, with no validate by
* default. It could be ValidateLevel::no_validate, ValidateLevel::weak_validate or
* ValidateLevel::strong_validate, but could not be ValidateLevel::default_validate.
*/
VertexPropertyWriter create(
@CXXReference VertexInfo vertexInfo,
@CXXReference StdString prefix,
@CXXValue ValidateLevel validateLevel);
/**
* Initialize the VertexPropertyWriter.
*
* @param vertexInfo The vertex info that describes the vertex type.
* @param prefix The absolute prefix.
*/
VertexPropertyWriter create(
@CXXReference VertexInfo vertexInfo, @CXXReference StdString prefix);
}