Ejemplo n.º 1
0
  /**
   * Removes the indicated members from the current ViewState. <br>
   * The members whose index is at true in the remove array, are removed from the ViewState.
   *
   * @param remove the members to remove
   */
  public void remove(boolean[] remove) {
    if (remove.length != view.length) throw new IllegalArgumentException("different sizes");

    int i, j, size;

    size = 0;
    for (i = 0; i < remove.length; i++) {
      if (!remove[i]) size++;
    }

    Endpt[] new_view = new Endpt[size];
    InetSocketAddress[] new_addrs = new InetSocketAddress[size];

    j = 0;
    for (i = 0; i < remove.length; i++) {
      if (!remove[i]) {
        new_view[j] = view[i];
        new_addrs[j] = addresses[i];
        j++;
      }
    }

    view = new_view;
    addresses = new_addrs;
    if (new_view.length > 0) id.coord = new_view[0];
  }