/** * Returns the part size of the part * * @param getObjectRequest the request to check * @param s3 the s3 client * @param partNumber the part number * @return the part size */ @SdkInternalApi public static long getPartSize(GetObjectRequest getObjectRequest, AmazonS3 s3, int partNumber) { ValidationUtils.assertNotNull(s3, "S3 client"); ValidationUtils.assertNotNull(getObjectRequest, "GetObjectRequest"); GetObjectMetadataRequest getObjectMetadataRequest = RequestCopyUtils.createGetObjectMetadataRequestFrom(getObjectRequest) .withPartNumber(partNumber); return s3.getObjectMetadata(getObjectMetadataRequest).getContentLength(); }
/** * Returns the part count of the object represented by the getObjectRequest. * * @param getObjectRequest * The request to check. * @param s3 * The Amazon s3 client. * * @return The number of parts in the object if it is multipart object, otherwise returns null. */ public static Integer getPartCount(GetObjectRequest getObjectRequest, AmazonS3 s3) { ValidationUtils.assertNotNull(s3, "S3 client"); ValidationUtils.assertNotNull(getObjectRequest, "GetObjectRequest"); GetObjectMetadataRequest getObjectMetadataRequest = RequestCopyUtils.createGetObjectMetadataRequestFrom(getObjectRequest) .withPartNumber(1); return s3.getObjectMetadata(getObjectMetadataRequest).getPartCount(); }
/** * Returns the last byte number in a part of an object. * * @param s3 * The Amazon s3 client. * @param getObjectRequest * The request to check. * @param partNumber * The part in which we need the last byte number. * @return * The last byte number in the part. */ public static long getLastByteInPart(AmazonS3 s3, GetObjectRequest getObjectRequest, Integer partNumber) { ValidationUtils.assertNotNull(s3, "S3 client"); ValidationUtils.assertNotNull(getObjectRequest, "GetObjectRequest"); ValidationUtils.assertNotNull(partNumber, "partNumber"); GetObjectMetadataRequest getObjectMetadataRequest = RequestCopyUtils.createGetObjectMetadataRequestFrom(getObjectRequest) .withPartNumber(partNumber); ObjectMetadata metadata = s3.getObjectMetadata(getObjectMetadataRequest); return metadata.getContentRange()[1]; } }
/** * Creates a #GetObjectMetadataRequest by copying values for common members * from the input #GetObjectRequest. */ public static GetObjectMetadataRequest createGetObjectMetadataRequestFrom(GetObjectRequest getObjectRequest) { return new GetObjectMetadataRequest(getObjectRequest.getBucketName(), getObjectRequest.getKey()) .withVersionId(getObjectRequest.getVersionId()) .withRequesterPays(getObjectRequest.isRequesterPays()) .withSSECustomerKey(getObjectRequest.getSSECustomerKey()) .withPartNumber(getObjectRequest.getPartNumber()); } }
/** * Returns the part count of the object represented by the getObjectRequest. * * @param getObjectRequest * The request to check. * @param s3 * The Amazon s3 client. * * @return The number of parts in the object if it is multipart object, otherwise returns null. */ public static Integer getPartCount(GetObjectRequest getObjectRequest, AmazonS3 s3) { ValidationUtils.assertNotNull(s3, "S3 client"); ValidationUtils.assertNotNull(getObjectRequest, "GetObjectRequest"); GetObjectMetadataRequest getObjectMetadataRequest = RequestCopyUtils.createGetObjectMetadataRequestFrom(getObjectRequest) .withPartNumber(1); return s3.getObjectMetadata(getObjectMetadataRequest).getPartCount(); }
/** * Returns the last byte number in a part of an object. * * @param s3 * The Amazon s3 client. * @param getObjectRequest * The request to check. * @param partNumber * The part in which we need the last byte number. * @return * The last byte number in the part. */ public static long getLastByteInPart(AmazonS3 s3, GetObjectRequest getObjectRequest, Integer partNumber) { ValidationUtils.assertNotNull(s3, "S3 client"); ValidationUtils.assertNotNull(getObjectRequest, "GetObjectRequest"); ValidationUtils.assertNotNull(partNumber, "partNumber"); GetObjectMetadataRequest getObjectMetadataRequest = RequestCopyUtils.createGetObjectMetadataRequestFrom(getObjectRequest) .withPartNumber(partNumber); ObjectMetadata metadata = s3.getObjectMetadata(getObjectMetadataRequest); return metadata.getContentRange()[1]; } }
/** * Creates a #GetObjectMetadataRequest by copying values for common members * from the input #GetObjectRequest. */ public static GetObjectMetadataRequest createGetObjectMetadataRequestFrom(GetObjectRequest getObjectRequest) { return new GetObjectMetadataRequest(getObjectRequest.getBucketName(), getObjectRequest.getKey()) .withVersionId(getObjectRequest.getVersionId()) .withRequesterPays(getObjectRequest.isRequesterPays()) .withSSECustomerKey(getObjectRequest.getSSECustomerKey()) .withPartNumber(getObjectRequest.getPartNumber()); } }