All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.ow2.easywsdl.extensions.wsdl4bpel.impl.DescriptionImpl Maven / Gradle / Ivy

There is a newer version: 2.5.0
Show newest version
/**
 * Copyright (c) 2008-2012 EBM WebSourcing, 2012-2016 Linagora
 * 
 * This program/library is free software: you can redistribute it and/or modify
 * it under the terms of the New BSD License (3-clause license).
 *
 * This program/library is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE. See the New BSD License (3-clause license)
 * for more details.
 *
 * You should have received a copy of the New BSD License (3-clause license)
 * along with this program/library; If not, see http://directory.fsf.org/wiki/License:BSD_3Clause/
 * for the New BSD License (3-clause license).
 */
 
package org.ow2.easywsdl.extensions.wsdl4bpel.impl;

import java.util.List;

import javax.xml.namespace.QName;

import org.ow2.easywsdl.extensions.wsdl4bpel.api.Description;
import org.ow2.easywsdl.extensions.wsdl4bpel.api.PartnerLinkType;
import org.ow2.easywsdl.extensions.wsdl4bpel.api.Property;
import org.ow2.easywsdl.extensions.wsdl4bpel.api.PropertyAlias;
import org.ow2.easywsdl.extensions.wsdl4bpel.api.WSDL4BPELElement;
import org.ow2.easywsdl.extensions.wsdl4bpel.api.WSDL4BPELException;
import org.ow2.easywsdl.wsdl.api.Binding;
import org.ow2.easywsdl.wsdl.api.Endpoint;
import org.ow2.easywsdl.wsdl.api.Import;
import org.ow2.easywsdl.wsdl.api.Include;
import org.ow2.easywsdl.wsdl.api.InterfaceType;
import org.ow2.easywsdl.wsdl.api.Service;
import org.ow2.easywsdl.wsdl.api.Types;
import org.ow2.easywsdl.wsdl.api.WSDLException;
import org.ow2.easywsdl.wsdl.api.abstractItf.AbsItfDescription;
import org.ow2.easywsdl.wsdl.decorator.DecoratorDescriptionImpl;

/**
 * @author Nicolas Salatge - EBM WebSourcing
 */
public class DescriptionImpl extends
        DecoratorDescriptionImpl implements
        Description {

    /**
	 *
	 */
    private static final long serialVersionUID = 1L;

    private WSDL4BPELElement elmt = null;
    

    @SuppressWarnings("unchecked")
    public DescriptionImpl(final AbsItfDescription wsdl) throws WSDLException {
        super(wsdl, null);

        AbsItfDescription firstWsdl = wsdl;
        if(wsdl instanceof DecoratorDescriptionImpl) {
        	firstWsdl = ((DecoratorDescriptionImpl)wsdl).getFirstDescription();
        }

        if(firstWsdl instanceof org.ow2.easywsdl.wsdl.api.Description) {
        	this.elmt = new WSDL4BPELElementImpl(firstWsdl);
        } else {
        	throw new WSDL4BPELException("Impossible to find the correct first description");
        }
    }

    public List getPartnerLinkTypes() throws WSDL4BPELException {
    	return this.elmt.getPartnerLinkTypes();
    }

    public void addPartnerLinkType(PartnerLinkType plt) throws WSDL4BPELException {
    	this.elmt.addPartnerLinkType(plt);
    }

    public PartnerLinkType removePartnerLinkType(PartnerLinkType plt) throws WSDL4BPELException {
    	return this.elmt.removePartnerLinkType(plt);
    }

    public List removeAllPartnerLinkTypes() throws WSDL4BPELException {
    	return this.elmt.removeAllPartnerLinkTypes();
    }

	public List getProperties() throws WSDL4BPELException {
		return this.elmt.getProperties();
	}

	public List getAllPropertyAliases() throws WSDL4BPELException {
		return this.elmt.getAllPropertyAliases();
	}

	public Property getProperty(QName property) throws WSDL4BPELException {
		return this.elmt.getProperty(property);
	}

	public List getPropertyAliases4ThisProperty(QName property)
			throws WSDL4BPELException {
		return this.elmt.getPropertyAliases4ThisProperty(property);
	}

	public PartnerLinkType getPartnerLinkType(QName plt)
			throws WSDL4BPELException {
		return this.elmt.getPartnerLinkType(plt);
	}

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy