|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.archive.util.ArchiveUtils
public class ArchiveUtils
Miscellaneous useful methods.
Field Summary | |
---|---|
static int |
MAX_INT_CHAR_WIDTH
|
static java.util.Set<java.lang.String> |
TLDS
|
Constructor Summary | |
---|---|
ArchiveUtils()
|
Method Summary | |
---|---|
static java.lang.String |
addImpliedHttpIfNecessary(java.lang.String u)
Given a string that may be a plain host or host/path (without URI scheme), add an implied http:// if necessary. |
static boolean |
byteArrayEquals(byte[] lhs,
byte[] rhs)
check that two byte arrays are equal. |
static long |
byteArrayIntoLong(byte[] bytearray)
|
static long |
byteArrayIntoLong(byte[] bytearray,
int offset)
Byte array into long. |
static long |
classnameBasedUID(java.lang.Class<?> class1,
int version)
Generate a long UID based on the given class and version number. |
static java.lang.String |
doubleToString(double val,
int maxFractionDigits)
Converts a double to a string. |
static java.lang.String |
formatBytesForDisplay(long amount)
Takes a byte size and formats it for display with 'friendly' units. |
static java.lang.String |
formatMillisecondsToConventional(long time)
Convert milliseconds value to a human-readable duration |
static java.lang.String |
formatMillisecondsToConventional(long time,
boolean toMs)
Convert milliseconds value to a human-readable duration |
static java.lang.String |
get12DigitDate()
Utility function for creating arc-style date stamps in the format yyyMMddHHmm. |
static java.lang.String |
get12DigitDate(java.util.Date d)
|
static java.lang.String |
get12DigitDate(long date)
Utility function for creating arc-style date stamps in the format yyyyMMddHHmm. |
static java.lang.String |
get14DigitDate()
Utility function for creating arc-style date stamps in the format yyyMMddHHmmss. |
static java.lang.String |
get14DigitDate(java.util.Date d)
|
static java.lang.String |
get14DigitDate(long date)
Utility function for creating arc-style date stamps in the format yyyyMMddHHmmss. |
static java.lang.String |
get17DigitDate()
Utility function for creating arc-style date stamps in the format yyyMMddHHmmssSSS. |
static java.lang.String |
get17DigitDate(java.util.Date date)
|
static java.lang.String |
get17DigitDate(long date)
Utility function for creating arc-style date stamps in the format yyyyMMddHHmmssSSS. |
static java.util.Date |
getDate(java.lang.String d)
Parses an ARC-style date. |
static java.lang.String |
getLog14Date()
Utility function for creating log timestamps, in W3C/ISO8601 format, assuming UTC. |
static java.lang.String |
getLog14Date(java.util.Date date)
Utility function for creating log timestamps, in W3C/ISO8601 format, assuming UTC. |
static java.lang.String |
getLog14Date(long date)
Utility function for creating log timestamps, in W3C/ISO8601 format, assuming UTC. |
static java.lang.String |
getLog17Date()
Utility function for creating log timestamps, in W3C/ISO8601 format, assuming UTC. |
static java.lang.String |
getLog17Date(long date)
Utility function for creating log timestamps, in W3C/ISO8601 format, assuming UTC. |
static java.util.Date |
getSecondsSinceEpoch(java.lang.String timestamp)
|
static boolean |
isTld(java.lang.String dom)
Return whether the given string represents a known top-level-domain (like "com", "org", etc.) per IANA as of 20100419 |
static void |
longIntoByteArray(long l,
byte[] array,
int offset)
Copy the raw bytes of a long into a byte array, starting at the specified offset. |
static java.lang.String |
padTo(int i,
int pad)
Convert an int to a String , and pad it to
pad spaces. |
static java.lang.String |
padTo(java.lang.String s,
int pad)
Pad the given String to pad characters wide
by pre-pending spaces. |
static java.lang.String |
padTo(java.lang.String s,
int pad,
char padChar)
Pad the given String to pad characters wide
by pre-pending padChar . |
static java.util.Date |
parse12DigitDate(java.lang.String date)
Utility function for parsing arc-style date stamps in the format yyyMMddHHmm. |
static java.util.Date |
parse14DigitDate(java.lang.String date)
Utility function for parsing arc-style date stamps in the format yyyMMddHHmmss. |
static java.util.Date |
parse17DigitDate(java.lang.String date)
Utility function for parsing arc-style date stamps in the format yyyMMddHHmmssSSS. |
static java.lang.String |
secondsSinceEpoch(java.lang.String timestamp)
|
static java.lang.String |
singleLineReport(Reporter rep)
Utility method to get a String singleLineReport from Reporter |
static boolean |
startsWith(byte[] array,
byte[] prefix)
Verify that the array begins with the prefix. |
static java.util.Calendar |
timestamp17ToCalendar(java.lang.String timestamp17String)
Convert 17-digit date format timestamps (as found in crawl.log, for example) into a GregorianCalendar object. |
static java.lang.String |
writeReportToString(Reporter rep,
java.lang.String name)
Compose the requested report into a String. |
static java.lang.String |
zeroPadInteger(int i)
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static int MAX_INT_CHAR_WIDTH
public static java.util.Set<java.lang.String> TLDS
Constructor Detail |
---|
public ArchiveUtils()
Method Detail |
---|
public static java.lang.String get17DigitDate()
public static java.lang.String get14DigitDate()
public static java.lang.String get12DigitDate()
public static java.lang.String getLog17Date()
public static java.lang.String getLog17Date(long date)
date
- Date to format.
public static java.lang.String getLog14Date()
public static java.lang.String getLog14Date(long date)
date
- long timestamp to format.
public static java.lang.String getLog14Date(java.util.Date date)
date
- Date to format.
public static java.lang.String get17DigitDate(long date)
date
- milliseconds since epoc
public static java.lang.String get17DigitDate(java.util.Date date)
public static java.lang.String get14DigitDate(long date)
date
- milliseconds since epoc
public static java.lang.String get14DigitDate(java.util.Date d)
public static java.lang.String get12DigitDate(long date)
date
- milliseconds since epoc
public static java.lang.String get12DigitDate(java.util.Date d)
public static java.util.Date getDate(java.lang.String d) throws java.text.ParseException
A
- 4-17 digit date in ARC style (yyyy
to
yyyyMMddHHmmssSSS
) formatting.
java.text.ParseException
public static java.util.Date parse17DigitDate(java.lang.String date) throws java.text.ParseException
date
- an arc-style formatted date stamp
java.text.ParseException
- if the inputstring was malformedpublic static java.util.Date parse14DigitDate(java.lang.String date) throws java.text.ParseException
date
- an arc-style formatted date stamp
java.text.ParseException
- if the inputstring was malformedpublic static java.util.Date parse12DigitDate(java.lang.String date) throws java.text.ParseException
date
- an arc-style formatted date stamp
java.text.ParseException
- if the inputstring was malformedpublic static java.util.Calendar timestamp17ToCalendar(java.lang.String timestamp17String)
parse17DigitDate(java.lang.String)
.UTC(), but
that method is deprecated in favor of using Calendar.getTimeInMillis(). + *
I probably should have dug into all the utility methods in
DateFormat.java to parse the timestamp, but this was + * easier. If
someone wants to fix this to use those methods, please have at it!
Mike Schwartz, schwartz at CodeOnTheRoad dot com.
timestamp17String
-
timestamp17String
.public static java.lang.String secondsSinceEpoch(java.lang.String timestamp) throws java.text.ParseException
timestamp
- A 14-digit timestamp or the suffix for a 14-digit
timestamp: E.g. '20010909014640' or '20010101' or '1970'.
java.text.ParseException
public static java.util.Date getSecondsSinceEpoch(java.lang.String timestamp) throws java.text.ParseException
timestamp
- A 14-digit timestamp or the suffix for a 14-digit
timestamp: E.g. '20010909014640' or '20010101' or '1970'.
java.text.ParseException
secondsSinceEpoch(String)
public static java.lang.String zeroPadInteger(int i)
i
- Integer to add prefix of zeros too. If passed
2005, will return the String 0000002005
. String
width is the width of Integer.MAX_VALUE as a string (10
digits).
i
.public static java.lang.String padTo(int i, int pad)
int
to a String
, and pad it to
pad
spaces.
i
- the intpad
- the width to pad to.
public static java.lang.String padTo(java.lang.String s, int pad)
String
to pad
characters wide
by pre-pending spaces. s
should not be null
.
If s
is already wider than pad
no change is
done.
s
- the String to padpad
- the width to pad to.
public static java.lang.String padTo(java.lang.String s, int pad, char padChar)
String
to pad
characters wide
by pre-pending padChar
.
s
should not be null
. If s
is
already wider than pad
no change is done.
s
- the String to padpad
- the width to pad to.padChar
- The pad character to use.
public static boolean byteArrayEquals(byte[] lhs, byte[] rhs)
null
.
lhs
- a byte arrayrhs
- another byte array.
true
if they are both equal (or both
null
)public static java.lang.String doubleToString(double val, int maxFractionDigits)
val
- The double to convertprecision
- How many characters to include after '.'
public static java.lang.String formatBytesForDisplay(long amount)
This involves converting it to the largest unit (of B, KB, MB, GB, TB) for which the amount will be > 1.
Additionally, at least 2 significant digits are always displayed.
Displays as bytes (B): 0-1023 Displays as kilobytes (KB): 1024 - 2097151 (~2Mb) Displays as megabytes (MB): 2097152 - 4294967295 (~4Gb) Displays as gigabytes (GB): 4294967296 - infinity
Negative numbers will be returned as '0 B'.
amount
- the amount of bytes
public static java.lang.String formatMillisecondsToConventional(long time)
time
-
time
public static java.lang.String formatMillisecondsToConventional(long time, boolean toMs)
time
- toMs
- whether to print to the ms
time
public static long classnameBasedUID(java.lang.Class<?> class1, int version)
class1
- version
-
public static void longIntoByteArray(long l, byte[] array, int offset)
l
- array
- offset
- public static long byteArrayIntoLong(byte[] bytearray)
public static long byteArrayIntoLong(byte[] bytearray, int offset)
bytearray
- Array to convert to a long.offset
- Offset into array at which we start decoding the long.
array
beginning at
offset offset
.longIntoByteArray(long, byte[], int)
public static java.lang.String addImpliedHttpIfNecessary(java.lang.String u)
u
- string to evaluate
public static boolean startsWith(byte[] array, byte[] prefix)
array
- prefix
-
public static java.lang.String singleLineReport(Reporter rep)
rep
- Reporter to get singleLineReport from
public static java.lang.String writeReportToString(Reporter rep, java.lang.String name)
rep
- Reportedname
- String name of report to compose
public static boolean isTld(java.lang.String dom)
dom
- candidate string
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |