Merge pull request #769 from nosqlbench/base64

base64
This commit is contained in:
Jonathan Shook 2022-11-03 13:03:23 -05:00 committed by GitHub
commit 98c7b1a978
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -0,0 +1,45 @@
/*
* Copyright (c) 2022 nosqlbench
*
* 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 io.nosqlbench.virtdata.library.basics.shared.from_bytebuffer.to_string;
import com.amazonaws.util.Base64;
import io.nosqlbench.virtdata.api.annotations.Categories;
import io.nosqlbench.virtdata.api.annotations.Category;
import io.nosqlbench.virtdata.api.annotations.ThreadSafeMapper;
import java.nio.ByteBuffer;
import java.util.Arrays;
import java.util.function.Function;
/**
* Takes a bytebuffer and turns it into a base64 string
*/
@ThreadSafeMapper
@Categories({Category.general})
public class ToBase64 implements Function<ByteBuffer, String> {
@Override
public String apply(ByteBuffer input) {
ByteBuffer bb = input.asReadOnlyBuffer();
bb.position(0);
byte[] b = new byte[bb.limit()];
bb.get(b, 0, b.length);
return Base64.encodeAsString(b);
}
}