All Downloads are FREE. Search and download functionalities are using the official Maven repository.

open.source.exchange.parser.InetAddressParser Maven / Gradle / Ivy

package open.source.exchange.parser;

import java.net.InetAddress;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import lombok.RequiredArgsConstructor;
import lombok.extern.log4j.Log4j2;
import open.source.exchange.model.ExBase;
import open.source.exchange.model.ExInetAddress;
import open.source.exchange.model.ExInetSocketAddress;

@Log4j2
@Service
@RequiredArgsConstructor
public class InetAddressParser {

	@Autowired
	private ObjectParser objectParser;

	public ExInetAddress parse(InetAddress inetAddress) {

		log.trace("parse -> (inetAddress) {}", inetAddress);
		ExInetAddress exInetAddress = null;

		if (null != inetAddress) {
			ExBase exBase = objectParser.parse(inetAddress);
			exInetAddress = new ExInetAddress(exBase);

			byte[] address = inetAddress.getAddress();
			exInetAddress.setAddress(address);

			String canonicalHostName = inetAddress.getCanonicalHostName();
			exInetAddress.setCanonicalHostName(canonicalHostName);

			String hostAddress = inetAddress.getHostAddress();
			exInetAddress.setHostAddress(hostAddress);

			String hostName = inetAddress.getHostName();
			exInetAddress.setHostName(hostName);

			boolean anyLocalAddressFlag = inetAddress.isAnyLocalAddress();
			exInetAddress.setAnyLocalAddressFlag(anyLocalAddressFlag);

			boolean linkLocalAddressFlag = inetAddress.isLinkLocalAddress();
			exInetAddress.setLinkLocalAddressFlag(linkLocalAddressFlag);

			boolean loopbackAddressFlag = inetAddress.isLoopbackAddress();
			exInetAddress.setLoopbackAddressFlag(loopbackAddressFlag);

			boolean multicastGlobalFlag = inetAddress.isMCGlobal();
			exInetAddress.setMulticastGlobalFlag(multicastGlobalFlag);

			boolean multicastLinkLocalFlag = inetAddress.isMCLinkLocal();
			exInetAddress.setMulticastLinkLocalFlag(multicastLinkLocalFlag);

			boolean multicastNodeLocalFlag = inetAddress.isMCNodeLocal();
			exInetAddress.setMulticastNodeLocalFlag(multicastNodeLocalFlag);

			boolean multicastOrgLocalFlag = inetAddress.isMCOrgLocal();
			exInetAddress.setMulticastOrgLocalFlag(multicastOrgLocalFlag);

			boolean multicastSiteLocalFlag = inetAddress.isMCSiteLocal();
			exInetAddress.setMulticastSiteLocalFlag(multicastSiteLocalFlag);

			boolean multicastAddressFlag = inetAddress.isMulticastAddress();
			exInetAddress.setMulticastAddressFlag(multicastAddressFlag);

			boolean siteLocalAddressFlag = inetAddress.isSiteLocalAddress();
			exInetAddress.setSiteLocalAddressFlag(siteLocalAddressFlag);
		}
		return exInetAddress;
	}

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy