Copyright Microsoft Corporation Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
/** * Copyright Microsoft Corporation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */
package com.microsoft.azure.storage; import java.net.Inet4Address; import com.microsoft.azure.storage.core.SR; import com.microsoft.azure.storage.core.Utility;
A continuous range of IP addresses.
/** * A continuous range of IP addresses. */
public final class IPRange { private String ipMin; private String ipMax;
Creates an IP Range using the specified single IP address. The IP address must be IPv4.
Params:
  • ip – the single IP address
/** * Creates an IP Range using the specified single IP address. The IP address must be IPv4. * * @param ip * the single IP address */
public IPRange(String ip) { Utility.assertNotNull("ip", ip); IPRange.validateIPAddress(ip); this.ipMin = ip; this.ipMax = ip; }
Creates an IP Range using the specified minimum and maximum IP addresses. The IP addresses must be IPv4.
Params:
  • mininimumIP – the minimum IP address of the range
  • maximumIP – the maximum IP address of the range
/** * Creates an IP Range using the specified minimum and maximum IP addresses. The IP addresses must be IPv4. * * @param mininimumIP * the minimum IP address of the range * @param maximumIP * the maximum IP address of the range */
public IPRange(String mininimumIP, String maximumIP) { Utility.assertNotNull("mininimumIP", mininimumIP); Utility.assertNotNull("maximumIP", maximumIP); IPRange.validateIPAddress(mininimumIP); IPRange.validateIPAddress(maximumIP); this.ipMin = mininimumIP; this.ipMax = maximumIP; }
The minimum IP address for the range, inclusive. Will match getIpMax() if this IPRange represents a single IP address.
Returns:The minimum IP address
/** * The minimum IP address for the range, inclusive. * Will match {@link #getIpMax()} if this <code>IPRange</code> represents a single IP address. * * @return The minimum IP address */
public String getIpMin() { return this.ipMin; }
The maximum IP address for the range, inclusive. Will match getIpMin() if this IPRange represents a single IP address.
Returns:The maximum IP address
/** * The maximum IP address for the range, inclusive. * Will match {@link #getIpMin()} if this <code>IPRange</code> represents a single IP address. * * @return The maximum IP address */
public String getIpMax() { return this.ipMax; }
Output the single IP address or range of IP addresses.
Returns:the single IP address or range of IP addresses formated as a String
/** * Output the single IP address or range of IP addresses. * * @return the single IP address or range of IP addresses formated as a <code>String</code> */
@Override public String toString() { StringBuilder str = new StringBuilder(this.ipMin); if (!this.ipMin.equals(this.ipMax)) { str.append("-"); str.append(this.ipMax); } return str.toString(); }
Validate that the IP address is IPv4.
Params:
  • ipAddress – the IP address to validate
/** * Validate that the IP address is IPv4. * * @param ipAddress * the IP address to validate */
private static void validateIPAddress(String ipAddress) { try { @SuppressWarnings("unused") Inet4Address address = (Inet4Address) Inet4Address.getByName(ipAddress); } catch (Exception ex) { throw new IllegalArgumentException(String.format(SR.INVALID_IP_ADDRESS, ipAddress), ex); } } }