001package net.gdface.codegen.webclient;
002
003import java.io.File;
004import net.gdface.utils.Assert;
005import net.gdface.utils.Judge;
006
007import org.slf4j.Logger;
008import org.slf4j.LoggerFactory;
009
010/**
011 * 
012 * 用于生成gsoap stub相关的支持代码
013 * @author guyadong
014 *
015 */
016public class GSoapStub{
017        private static final Logger logger = LoggerFactory.getLogger(GSoapStub.class);
018        private final String serviceName;
019        private final GSoapHeaderHelper gsoapHelper;
020        /**
021         * @param serviceClass webservice 服务实现类
022         * @param stubPrefix gsoap stub代码文件前缀
023         * @param stubFolder gsoap stub代码文件夹 
024         */
025        public GSoapStub(Class<?> serviceClass, File stubFolder, String stubPrefix) {
026                Assert.notNull(serviceClass, "serviceClass");
027                Assert.notNull(stubFolder, "stubFolder");
028                // stubFolder不是文件夹则抛出异常
029                if(!stubFolder.isDirectory())
030                        throw new IllegalArgumentException(String.format("%s must be a existing directory",stubFolder.getAbsolutePath()));
031                this.serviceName = serviceClass.getSimpleName();
032                this.gsoapHelper=new GSoapHeaderHelper(stubFolder,serviceClass, stubPrefix);
033        }
034
035        /**
036         * @return serviceName
037         */
038        public String getServiceName() {
039                return serviceName;
040        }
041
042        /**
043         * @return gsoapHelper
044         */
045        public GSoapHeaderHelper getGsoapHelper() {
046                return gsoapHelper;
047        }
048
049}