Here you can find the source of create(SocketAddress address, SocketAddress port)
public static SocketAddress create(SocketAddress address, SocketAddress port)
//package com.java2s; /*/*from w ww . ja v a 2 s. c o m*/ * Copyright 2010-2012 Roger Kapsi * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import java.net.InetAddress; import java.net.InetSocketAddress; import java.net.SocketAddress; public class Main { /** * Creates and returns a {@link SocketAddress}. */ public static SocketAddress create(SocketAddress address, SocketAddress port) { if (isUnresolved(address)) { return createUnresolved(getHostName(address), getPort(port)); } else { return createResolved(getAddress(address), getPort(port)); } } /** * Returns {@code true} if the given {@link SocketAddress} is unresolved. */ public static boolean isUnresolved(SocketAddress address) { return ((InetSocketAddress) address).isUnresolved(); } /** * Creates and returns an unresolved {@link InetSocketAddress}. * * @see InetSocketAddress#createUnresolved(String, int). */ public static InetSocketAddress createUnresolved(String host, int port) { return InetSocketAddress.createUnresolved(host, port); } /** * Creates and returns an unresolved {@link SocketAddress}. */ public static SocketAddress createUnresolved(String host, SocketAddress port) { return createUnresolved(host, getPort(port)); } /** * An utility method to get the {@link InetSocketAddress#getHostName()}. */ public static String getHostName(SocketAddress address) { return ((InetSocketAddress) address).getHostName(); } /** * Returns the port number. */ public static int getPort(SocketAddress address) { return ((InetSocketAddress) address).getPort(); } /** * Creates and returns a resolved {@link InetSocketAddress}. */ public static InetSocketAddress createResolved(String host, int port) { return new InetSocketAddress(host, port); } /** * Creates and returns a resolved {@link InetSocketAddress}. */ public static InetSocketAddress createResolved(InetAddress address, int port) { return new InetSocketAddress(address, port); } /** * Creates and returns an resolved {@link SocketAddress}. */ public static SocketAddress createResolved(String host, SocketAddress port) { return createResolved(host, getPort(port)); } /** * Creates and returns an resolved {@link SocketAddress}. */ public static SocketAddress createResolved(InetAddress address, SocketAddress port) { return createResolved(address, getPort(port)); } /** * An utility method to get the {@link InetAddress} from the * {@link SocketAddress}. */ public static InetAddress getAddress(SocketAddress address) { return getResolved(address).getAddress(); } /** * Resolves (if necessary) the given {@link SocketAddress} and returns it. */ public static InetSocketAddress getResolved(SocketAddress address) { InetSocketAddress isa = (InetSocketAddress) address; if (isa.isUnresolved()) { return new InetSocketAddress(isa.getHostName(), isa.getPort()); } return isa; } }