package io.cattle.platform.resource.pool.mac; import io.cattle.platform.resource.pool.impl.AbstractStringRangeGenerator; import org.apache.commons.lang3.StringUtils; public class MacAddressGenerator extends AbstractStringRangeGenerator { int macLength; public MacAddressGenerator(String min, String max) { super(min, max); this.macLength = min.replace(":", "").length(); } @Override protected long fromString(String value) { return Long.decode("0x" + value.replace(":", "")); } @Override protected String toString(long value) { String hex = StringUtils.leftPad(Long.toHexString(value), macLength, '0'); StringBuilder buffer = new StringBuilder(); for (int i = 0; i < hex.length(); i++) { if (i > 0 && i % 2 == 0) { buffer.append(':'); } buffer.append(hex.charAt(i)); } return buffer.toString(); } }