@Override public String toString(){
  String s=stringForm;
  if (s == null) {
    int length=encoding.length;
    StringBuffer sb=new StringBuffer(length * 4);
    int fromPos=0;
    for (int i=0; i < length; i++) {
      if ((encoding[i] & 0x80) == 0) {
        if (fromPos != 0) {
          sb.append('.');
        }
        if (i - fromPos + 1 > 4) {
          BigInteger big=new BigInteger(pack(encoding,fromPos,i - fromPos + 1,7,8));
          if (fromPos == 0) {
            sb.append("2.");
            sb.append(big.subtract(BigInteger.valueOf(80)));
          }
 else {
            sb.append(big);
          }
        }
 else {
          int retval=0;
          for (int j=fromPos; j <= i; j++) {
            retval<<=7;
            byte tmp=encoding[j];
            retval|=(tmp & 0x07f);
          }
          if (fromPos == 0) {
            if (retval < 80) {
              sb.append(retval / 40);
              sb.append('.');
              sb.append(retval % 40);
            }
 else {
              sb.append("2.");
              sb.append(retval - 80);
            }
          }
 else {
            sb.append(retval);
          }
        }
        fromPos=i + 1;
      }
    }
    s=sb.toString();
    stringForm=s;
  }
  return s;
}

@ Override public String toString ( ) { String s = stringForm ; if ( s == null ) { int length = encoding . length ; StringBuffer sb = new StringBuffer ( length * 4 ) ; int fromPos = 0 ; for ( int i = 0 ; i < length ; i ++ ) { if ( ( encoding [ i ] & 0x80 ) == 0 ) { if ( fromPos != 0 ) { sb . append ( '.' ) ; } if ( i - fromPos + 1 > 4 ) { BigInteger big = new BigInteger ( pack ( encoding , fromPos , i - fromPos + 1 , 7 , 8 ) ) ; if ( fromPos == 0 ) { sb . append ( "2." ) ; sb . append ( big . subtract ( BigInteger . valueOf ( 80 ) ) ) ; } else { sb . append ( big ) ; } } else { int retval = 0 ; for ( int j = fromPos ; j <= i ; j ++ ) { retval <<= 7 ; byte tmp = encoding [ j ] ; retval |= ( tmp & 0x07f ) ; } if ( fromPos == 0 ) { if ( retval < 80 ) { sb . append ( retval / 40 ) ; sb . append ( '.' ) ; sb . append ( retval % 40 ) ; } else { sb . append ( "2." ) ; sb . append ( retval - 80 ) ; } } else { sb . append ( retval ) ; } } fromPos = i + 1 ; } } s = sb . toString ( ) ; stringForm = s ; } return s ; }
returns a string form of the object id . the format is the conventional " dot " notation for such ids , without any user - friendly descriptive strings , since those strings will not be understood everywhere .
