private static void hash(Hash h, String lex, String lang, String datatype, NodeType nodeType) {
if ( datatype == null )
datatype = "";
if ( lang == null )
lang = "";
String toHash = lex + "|" + lang + "|" + datatype + "|" + nodeType.getName();
MessageDigest digest;
try {
digest = allocDigest();
digest.update(Bytes.string2bytes(toHash));
if ( h.getLen() == 16 )
digest.digest(h.getBytes(), 0, 16);
else {
byte b[] = digest.digest();
System.arraycopy(b, 0, h.getBytes(), 0, h.getLen());
}
deallocDigest(digest);
return;
}
catch (DigestException ex) {
Log.error(NodeLib.class, "DigestException", ex);
}
}