/*
* 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.Model;
import org.teiid.designer.modelgenerator.wsdl.model.Port;
import org.teiid.designer.modelgenerator.wsdl.model.Service;
/**
* @since 8.0
*/
public class ServiceImpl extends WSDLElementImpl implements Service {
private Port[] m_ports;
private Model m_model;
private String catalogNamespace;
@Override
public Port[] getPorts() {
if (m_ports == null) return null;
// defensive copy of Port array
int arrayLength = m_ports.length;
Port[] retPorts = new Port[arrayLength];
for (int i = 0; i < arrayLength; i++) {
retPorts[i] = (Port)m_ports[i].copy();
}
return retPorts;
}
@Override
public Service copy() {
ServiceImpl newImpl = new ServiceImpl();
newImpl.setId(getId());
newImpl.setName(getName());
newImpl.setPorts(getPorts());
newImpl.setNamespaceURI(getNamespaceURI());
return newImpl;
}
@Override
public void setPorts( Port[] ports ) {
m_ports = ports;
}
@Override
public String toString() {
StringBuffer buff = new StringBuffer();
buff.append("<service 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_ports.length; i++) {
buff.append(m_ports[i].toString());
}
buff.append("</service>"); //$NON-NLS-1$
return buff.toString();
}
@Override
public void setModel( Model theModel ) {
m_model = theModel;
}
@Override
public Model getModel() {
return m_model;
}
@Override
public String getNamespaceURI() {
return catalogNamespace;
}
/**
* @param namespaceURI
*/
public void setNamespaceURI( String namespaceURI ) {
catalogNamespace = namespaceURI;
}
}