// Copyright 2012 Citrix Systems, Inc. Licensed under the
// Apache License, Version 2.0 (the "License"); you may not use this
// file except in compliance with the License. Citrix Systems, Inc.
// reserves all rights not expressly granted by 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.
//
// Automatically generated by addcopyright.py at 04/03/2012
package com.cloud.network.rules;
import java.util.List;
import javax.persistence.Column;
import javax.persistence.DiscriminatorValue;
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.PrimaryKeyJoinColumn;
import javax.persistence.Table;
import com.cloud.utils.net.Ip;
@Entity
@Table(name=("port_forwarding_rules"))
@DiscriminatorValue(value="PortForwarding")
@PrimaryKeyJoinColumn(name="id")
public class PortForwardingRuleVO extends FirewallRuleVO implements PortForwardingRule {
@Enumerated(value=EnumType.STRING)
@Column(name="dest_ip_address")
private Ip destinationIpAddress = null;
@Column(name="dest_port_start")
private int destinationPortStart;
@Column(name="dest_port_end")
private int destinationPortEnd;
@Column(name="instance_id")
private long virtualMachineId;
public PortForwardingRuleVO() {
}
public PortForwardingRuleVO(String xId, long srcIpId, int srcPortStart, int srcPortEnd, Ip dstIp, int dstPortStart, int dstPortEnd, String protocol, long networkId, long accountId, long domainId, long instanceId) {
super(xId, srcIpId, srcPortStart, srcPortEnd, protocol, networkId, accountId, domainId, Purpose.PortForwarding, null, null, null, null);
this.destinationIpAddress = dstIp;
this.virtualMachineId = instanceId;
this.destinationPortStart = dstPortStart;
this.destinationPortEnd = dstPortEnd;
}
public PortForwardingRuleVO(String xId, long srcIpId, int srcPort, Ip dstIp, int dstPort, String protocol, List<String> sourceCidrs, long networkId, long accountId, long domainId, long instanceId) {
this(xId, srcIpId, srcPort, srcPort, dstIp, dstPort, dstPort, protocol.toLowerCase(), networkId, accountId, domainId, instanceId);
}
@Override
public Ip getDestinationIpAddress() {
return destinationIpAddress;
}
@Override
public void setDestinationIpAddress(Ip destinationIpAddress) {
this.destinationIpAddress = destinationIpAddress;
}
@Override
public int getDestinationPortStart() {
return destinationPortStart;
}
@Override
public int getDestinationPortEnd() {
return destinationPortEnd;
}
@Override
public long getVirtualMachineId() {
return virtualMachineId;
}
@Override
public Long getRelated() {
return null;
}
}