package org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.IpAddressBuilder;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.IpPrefixBuilder;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev100924.MacAddress;
+
/**
* The purpose of generated class in src/main/java for Union types is to create new instances of unions from a string representation.
*/
public class SimpleAddressBuilder {
- public static SimpleAddress getDefaultInstance(java.lang.String defaultValue) {
- throw new java.lang.UnsupportedOperationException("Not yet implemented");
+ public static SimpleAddress getDefaultInstance(String defaultValue) {
+ SimpleAddress address = tryIpAddress(defaultValue);
+ if (address != null) {
+ return address;
+ }
+
+ address = tryIpPrefix(defaultValue);
+ if (address != null) {
+ return address;
+ }
+
+ address = tryMacAddress(defaultValue);
+ if (address != null) {
+ return address;
+ }
+
+ // XXX need support for MAC addresses and AS numbers
+ address = new SimpleAddress(new DistinguishedNameType(defaultValue));
+
+ return address;
}
+ private static SimpleAddress tryIpAddress(String defaultValue) {
+ try {
+ SimpleAddress address = new SimpleAddress(IpAddressBuilder.getDefaultInstance(defaultValue));
+ return address;
+ } catch (IllegalArgumentException e) {
+ return null;
+ }
+ }
+
+ private static SimpleAddress tryIpPrefix(String defaultValue) {
+ try {
+ SimpleAddress address = new SimpleAddress(IpPrefixBuilder.getDefaultInstance(defaultValue));
+ return address;
+ } catch (IllegalArgumentException e) {
+ return null;
+ }
+ }
+
+ private static SimpleAddress tryMacAddress(String defaultValue) {
+ try {
+ SimpleAddress address = new SimpleAddress(new MacAddress(defaultValue));
+ return address;
+ } catch (IllegalArgumentException e) {
+ return null;
+ }
+ }
}