示例#1
0
文件: ERXTcpIp.java 项目: hmng/wonder
  /**
   * <div class="ja"> ネットワークインアーフェースからIP一覧を得る
   *
   * @return 動作マシンのネットワーク設定が所有しているIPアドレス配列
   * @exception Exception </div>
   */
  private static NSArray<String> _machineIpList() throws Exception {
    // ワーク用
    NSMutableArray<String> workArray = new NSMutableArray<String>();

    // 全ネットワーク・インタフェース
    Enumeration<NetworkInterface> enNi = NetworkInterface.getNetworkInterfaces();
    while (enNi.hasMoreElements()) {
      NetworkInterface ni = enNi.nextElement();

      // 全 InetAddress
      Enumeration<InetAddress> enIp = ni.getInetAddresses();
      while (enIp.hasMoreElements()) {
        String ip = enIp.nextElement().getHostAddress();

        // IP アドレスとプロパティー内に保存されている優先順を合体する
        if ((ip.indexOf(":") < 0) && (!ip.equals(LOCAL_IP_ADDRESS))) {

          String ipPri =
              ERXProperties.stringFor2Keys(
                  "er.erxtensions.ERXTcpIp.IpPriority" + ip, "wodka.a10.A10TcpIp.IpPriority" + ip);
          if (ERXStringUtilities.stringIsNullOrEmpty(ipPri)) {
            ipPri = "9999";
          } else {
            ipPri = ERXStringUtilities.trimZeroInFrontOfNumbers(ipPri);

            while (ipPri.length() < 4) {
              ipPri = "0" + ipPri;
            }
          }

          workArray.addObject(ipPri + UNDER_BAR + ip);
        }
      }
    }

    // 優先順位順に並べ、IPのみ抜き出してArrayListにする
    workArray.sortUsingComparator(NSComparator.AscendingStringComparator);

    // 戻す配列の準備
    NSMutableArray<String> resultArray = new NSMutableArray<String>(workArray.count());

    for (String obj : workArray) {
      resultArray.addObject(obj.substring(5));
    }

    return resultArray.immutableClone();
  }
示例#2
0
 /**
  * Takes an unordered set and creates a sorted array from its elements.
  *
  * @param <T> type of set contents
  * @param set the set containing the elements to sort
  * @param comparator a comparator
  * @return an array with sorted elements
  * @throws NSComparator.ComparisonException if comparator cannot sort these elements
  * @throws IllegalArgumentException if comparator is <code>null</code>
  */
 public static <T> NSArray<T> sortedArrayFromSet(NSSet<T> set, NSComparator comparator)
     throws NSComparator.ComparisonException {
   NSMutableArray<T> array = new NSMutableArray<>((T[]) set.toArray());
   array.sortUsingComparator(comparator);
   return array;
 }