package com.ctrip.framework.foundation.internals.provider; import com.ctrip.framework.foundation.internals.NetworkInterfaceManager; import com.ctrip.framework.foundation.spi.provider.NetworkProvider; import com.ctrip.framework.foundation.spi.provider.Provider; public class DefaultNetworkProvider implements NetworkProvider { @Override public String getProperty(String name, String defaultValue) { if ("host.address".equalsIgnoreCase(name)) { String val = getHostAddress(); return val == null ? defaultValue : val; } else if ("host.name".equalsIgnoreCase(name)) { String val = getHostName(); return val == null ? defaultValue : val; } else { return defaultValue; } } @Override public void initialize() { } @Override public String getHostAddress() { return NetworkInterfaceManager.INSTANCE.getLocalHostAddress(); } @Override public String getHostName() { return NetworkInterfaceManager.INSTANCE.getLocalHostName(); } @Override public Class<? extends Provider> getType() { return NetworkProvider.class; } @Override public String toString() { return "hostName [" + getHostName() + "] hostIP [" + getHostAddress() + "] (DefaultNetworkProvider)"; } }