
com.windowsazure.samples.blob.BlobRange Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jpa4azure Show documentation
Show all versions of jpa4azure Show documentation
jpa4azure, implements a subset of the JPA specification using Azure Storage for pesisting beans. see http://jpa4azure.codeplex.com for more information.
The newest version!
package com.windowsazure.samples.blob;
public final class BlobRange {
public static BlobRange fromStartAndEnd(int start, int end)
throws IllegalBlobRangeException {
return new BlobRange(start, end);
}
public static BlobRange fromStartAndLength(int start, int length)
throws IllegalBlobRangeException {
return new BlobRange(start, start + length - 1);
}
public static BlobRange fromString(String text)
throws Exception {
while (! Character.isDigit(text.charAt(0)))
text = text.substring(1);
String[] parts = text.split("-");
return new BlobRange(Integer.parseInt(parts[0]), Integer.parseInt(parts[1]));
}
@Override
public boolean equals(Object o) {
if (! (o instanceof BlobRange))
return false;
BlobRange rhs = (BlobRange) o;
return (start == rhs.start) && (end == rhs.end);
}
public int getEnd() {
return end;
}
public int getLength() {
return end - start + 1;
}
public int getStart() {
return start;
}
@Override
public int hashCode() {
return toString().hashCode();
}
@Override
public String toString() {
return "bytes=" + start + "-" + end;
}
private BlobRange(int start, int end)
throws IllegalBlobRangeException {
if (start < 0 ||
end < 0 ||
end <= start ||
start % 512 != 0 ||
end % 511 != 0)
throw new IllegalBlobRangeException();
this.start = start;
this.end = end;
}
private int end;
private int start;
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy