2 * Copyright (c) 2015 Cisco Systems, Inc. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
9 package org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715;
11 import java.util.regex.Matcher;
12 import java.util.regex.Pattern;
17 public class IpAddressNoZoneBuilder {
19 private static final Pattern IPV4_NO_ZONE_PATTERN =
20 Pattern.compile("[0-9\\.]*");
21 private static final Pattern IPV6_NO_ZONE_PATTERN1 =
22 Pattern.compile("[0-9a-fA-F:\\.]*");
25 public static IpAddressNoZone getDefaultInstance(final String defaultValue) {
26 final Matcher ipv4NoZoneMatcher = IPV4_NO_ZONE_PATTERN.matcher(defaultValue);
28 if (ipv4NoZoneMatcher.matches()) {
29 if (IPV6_NO_ZONE_PATTERN1.matcher(defaultValue).matches()) {
30 throw new IllegalArgumentException(
31 String.format("Cannot create IpNoZoneAddress from \"%s\", matches both %s and %s",
32 defaultValue, Ipv4AddressNoZone.class.getSimpleName(), Ipv6AddressNoZone.class.getSimpleName()));
35 return new IpAddressNoZone((new Ipv4AddressNoZone(defaultValue)));
36 } else if (IPV6_NO_ZONE_PATTERN1.matcher(defaultValue).matches()) {
37 return new IpAddressNoZone((new Ipv6AddressNoZone(defaultValue)));
39 throw new IllegalArgumentException("Cannot create IpAddress from " + defaultValue);