class S3BinaryStore extends AbstractBinaryStore {

    @Override
    public void storeExtractedText(BinaryValue binaryValue, String extractedText) throws BinaryStoreException {
        // User defined metadata for S3 objects cannot exceed 2KB
        // This checks for the absolute top of that range
        if (extractedText.length() > 2000) {
            throw new BinaryStoreException("S3 objects cannot store associated data that is larger than 2KB");
        }
        setS3ObjectUserProperty(binaryValue.getKey().toString(), EXTRACTED_TEXT_KEY, extractedText);
    }

    public  S3BinaryStore(String accessKey, String secretKey, String bucketName);
    public  S3BinaryStore(String accessKey, String secretKey, String bucketName, String endPoint);
    public  S3BinaryStore( String accessKey,
                          String secretKey,
                          String bucketName,
                          String endPoint,
                          Boolean deleteUnusedNatively );
    protected  S3BinaryStore(String bucketName, AmazonS3 s3Client, boolean deleteUnusedNatively);

}