public Object objectDone() {
    Object o = super.objectDone();
    BSONObject b = (BSONObject) o;

    if (!_lastArray) {
      if (b.containsField("$oid")) {
        o = new ObjectId((String) b.get("$oid"));
        if (!isStackEmpty()) {
          gotObjectId(_lastName, (ObjectId) o);
        } else {
          setRoot(o);
        }
      } else if (b.containsField("$date")) {
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
        format.setCalendar(new GregorianCalendar(new SimpleTimeZone(0, "GMT")));
        o = format.parse((String) b.get("$date"), new ParsePosition(0));
        if (!isStackEmpty()) {
          cur().put(_lastName, o);
        } else {
          setRoot(o);
        }
      } else if (b.containsField("$regex")) {
        o = Pattern.compile((String) b.get("$regex"), BSON.regexFlags((String) b.get("$options")));
        if (!isStackEmpty()) {
          cur().put(_lastName, o);
        } else {
          setRoot(o);
        }
      }
    }

    return o;
  }
Exemplo n.º 2
0
  public static void main(String argv[]) throws Exception {
    int i, start, end;
    ;
    SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yy hh:mm:ss a");
    GregorianCalendar cal = new GregorianCalendar();
    SmbFile f;

    if (argv.length < 2) {
      throw new IllegalArgumentException("usage: FileInfo <url> <opindex>");
    }

    if (argv.length == 3) {
      SmbFile tmp = new SmbFile(argv[0]);
      f = new SmbFile(tmp.toString(), argv[1]);
      start = Integer.parseInt(argv[2]);
    } else {
      f = new SmbFile(argv[0]);
      start = Integer.parseInt(argv[1]);
    }

    sdf.setCalendar(cal);

    i = end = start;
    do {
      switch (i) {
        case 0:
          System.out.println("        toString: " + f.toString());
          break;
        case 1:
          System.out.println("           toURL: " + f.toURL());
          break;
        case 2:
          System.out.println("         getName: " + f.getName());
          break;
        case 3:
          System.out.println("          length: " + f.length());
          break;
        case 4:
          System.out.println(" getLastModified: " + sdf.format(new Date(f.getLastModified())));
          break;
        case 5:
          System.out.println("        isHidden: " + f.isHidden());
          break;
        case 6:
          System.out.println("          isFile: " + f.isFile());
          break;
        case 7:
          System.out.println("     isDirectory: " + f.isDirectory());
          break;
        case 8:
          System.out.println("        hashCode: " + f.hashCode());
          break;
        case 9:
          System.out.println("      getUncPath: " + f.getUncPath());
          break;
        case 10:
          System.out.println("         getType: " + TYPES[f.getType()]);
          break;
        case 11:
          System.out.println("        getShare: " + f.getShare());
          break;
        case 12:
          System.out.println("       getServer: " + f.getServer());
          break;
        case 13:
          System.out.println("         getPath: " + f.getPath());
          break;
        case 14:
          System.out.println("       getParent: " + f.getParent());
          break;
        case 15:
          System.out.println("    lastModified: " + sdf.format(new Date(f.lastModified())));
          break;
        case 16:
          System.out.println("getDiskFreeSpace: " + f.getDiskFreeSpace());
          break;
        case 17:
          System.out.println("         getDate: " + sdf.format(new Date(f.getDate())));
          break;
        case 18:
          System.out.println("getContentLength: " + f.getContentLength());
          break;
        case 19:
          System.out.println("getCanonicalPath: " + f.getCanonicalPath());
          break;
        case 20:
          System.out.println("          exists: " + f.exists());
          break;
        case 21:
          System.out.println("         canRead: " + f.canRead());
          break;
        case 22:
          System.out.println("        canWrite: " + f.canWrite());
          break;
        case 23:
          ACE[] security = f.getSecurity(true);
          System.out.println("        Security:");
          for (int ai = 0; ai < security.length; ai++) {
            System.out.println(security[ai].toString());
          }
          System.out.println("       Share Perm:");
          security = f.getShareSecurity(true);
          for (int ai = 0; ai < security.length; ai++) {
            System.out.println(security[ai].toString());
          }
          break;
        case 24:
          System.out.println("      getDfsPath: " + f.getDfsPath());
          break;
      }
      i++;
      if (i == 25) {
        i = 0;
      }
    } while (i != end);
  }