/*
* JBoss, Home of Professional Open Source.
*
* See the LEGAL.txt file distributed with this work for information regarding copyright ownership and licensing.
*
* See the AUTHORS.txt file distributed with this work for a full listing of individual contributors.
*/
package org.teiid.designer.modelgenerator.wsdl.model.impl;
import org.teiid.designer.modelgenerator.wsdl.model.Binding;
import org.teiid.designer.modelgenerator.wsdl.model.Operation;
import org.teiid.designer.modelgenerator.wsdl.model.Port;
/**
* @since 8.0
*/
public class BindingImpl extends org.teiid.designer.modelgenerator.wsdl.model.impl.WSDLElementImpl implements Binding {
private Port m_port;
private Operation[] m_operations;
private String m_transportURI;
private String m_style;
public BindingImpl(Port port) {
m_port = port;
}
@Override
public Operation[] getOperations() {
//defensive copy
int arrayLength = m_operations.length;
Operation[] ops = new Operation[arrayLength];
for(int i = 0; i < arrayLength; i++) {
ops[i] = (Operation) m_operations[i].copy();
}
return ops;
}
@Override
public Port getPort() {
return m_port;
}
@Override
public void setOperations(Operation[] operations) {
m_operations = operations;
}
@Override
public Binding copy() {
Binding theBinding = new BindingImpl(m_port);
theBinding.setName(getName());
theBinding.setId(getId());
theBinding.setStyle(getStyle());
theBinding.setOperations(getOperations());
return theBinding;
}
@Override
public String toString() {
StringBuffer buff = new StringBuffer();
buff.append("<binding name='"); //$NON-NLS-1$
buff.append(getName());
buff.append("' id='"); //$NON-NLS-1$
buff.append(getId());
buff.append("'>"); //$NON-NLS-1$
for(int i = 0; i < m_operations.length; i++) {
buff.append(m_operations[i].toString());
}
buff.append("</binding>"); //$NON-NLS-1$
return buff.toString();
}
@Override
public void setTransportURI(String uri) {
m_transportURI = uri;
}
@Override
public String getTransportURI() {
return m_transportURI;
}
@Override
public void setStyle(String style) {
m_style = style;
}
@Override
public String getStyle() {
return m_style;
}
}