package io.ebeaninternal.server.type;

import io.ebean.text.TextException;

import java.net.InetAddress;

ScalarType for java.net.URI which converts to and from a VARCHAR database column.
/** * ScalarType for java.net.URI which converts to and from a VARCHAR database column. */
public class ScalarTypeInetAddress extends ScalarTypeBaseVarchar<InetAddress> { public ScalarTypeInetAddress() { super(InetAddress.class); } @Override public int getLength() { return 50; } @Override public InetAddress convertFromDbString(String dbValue) { try { return parse(dbValue); } catch (IllegalArgumentException e) { throw new RuntimeException("Error with InetAddresses [" + dbValue + "] " + e); } } @Override public String convertToDbString(InetAddress beanValue) { return ConvertInetAddresses.toUriString(beanValue); } @Override public String formatValue(InetAddress v) { return ConvertInetAddresses.toUriString(v); } @Override public InetAddress parse(String value) { try { return ConvertInetAddresses.forUriString(value); } catch (IllegalArgumentException e) { throw new TextException("Error with InetAddresses [{}]", value, e); } } }