Package org.platformlayer.service.cloud.direct.ops

Source Code of org.platformlayer.service.cloud.direct.ops.AssignPortToAddressPool

package org.platformlayer.service.cloud.direct.ops;

import java.net.InetAddress;
import java.net.InetSocketAddress;

import org.platformlayer.core.model.AddressModel;
import org.platformlayer.ops.networks.AddressModels;
import org.platformlayer.ops.pool.ResourcePool;
import org.platformlayer.ops.pool.TransformingResourcePool;

public class AssignPortToAddressPool extends TransformingResourcePool<AddressModel, InetSocketAddress> {

  private final int port;

  public AssignPortToAddressPool(ResourcePool<AddressModel> underlying, int port) {
    super(underlying);
    this.port = port;
  }

  @Override
  protected InetSocketAddress transform(AddressModel item) {
    if (item == null) {
      return null;
    }

    InetAddress inetAddress = item.getInetAddress();
    return new InetSocketAddress(inetAddress, port);
  }

  @Override
  protected AddressModel reverse(InetSocketAddress item) {
    if (item == null) {
      return null;
    }

    AddressModel addressModel = new AddressModel();
    addressModel.address = item.getAddress().getHostAddress();
    AddressModels.populateDefaults(addressModel);
    return addressModel;
  }
}
TOP

Related Classes of org.platformlayer.service.cloud.direct.ops.AssignPortToAddressPool

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.