001package net.gdface.codegen.webclient;
002
003import net.gdface.codegen.generator.GeneratorConfiguration;
004
005import org.apache.commons.cli.CommandLine;
006import org.apache.commons.cli.Options;
007import org.apache.commons.cli.ParseException;
008
009public class WebClientConfiguration extends GeneratorConfiguration implements WebClientConstants {
010
011        private Class<?> serviceClass;
012        private Class<?> refClass;
013        private Class<?> interfaceClass;
014        private Class<?> baseClass;
015        private String serviceName;
016
017        /**
018         * 
019         */
020        protected WebClientConfiguration() {
021                defaultValue.setProperty(SERVICE_NAME_OPTION_LONG, "");
022        }
023
024        @Override
025        public void loadConfig(Options options, CommandLine cmd) throws ParseException {
026                super.loadConfig(options, cmd);
027                serviceClass = getProperty(WebClientConstants.CLASSNAME_OPTION_LONG);
028                serviceName = getProperty(SERVICE_NAME_OPTION_LONG);
029                if(serviceName.isEmpty())//如果没有指定,则使用serviceClass类名做服务名
030                        serviceName=serviceClass.getSimpleName();
031                interfaceClass = getProperty(INTERFACE_CLASS_OPTION_LONG);
032                refClass = getProperty(REFERENCE_CLASS_OPTION_LONG);
033                baseClass = getProperty(BASE_CLASS_OPTION_LONG);
034        }
035
036        /**
037         * @return serviceClass
038         */
039        public Class<?> getServiceClass() {
040                return serviceClass;
041        }
042
043        /**
044         * @return serviceName
045         */
046        public String getServiceName() {
047                return serviceName;
048        }
049
050        /**
051         * @return refClass
052         */
053        public Class<?> getRefClass() {
054                return refClass;
055        }
056
057        /**
058         * @return interfaceClass
059         */
060        public Class<?> getInterfaceClass() {
061                return interfaceClass;
062        }
063
064        /**
065         * @return baseClass
066         */
067        public Class<?> getBaseClass() {
068                return baseClass;
069        }
070
071}