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

com.sun.jersey.wadl.resourcedoc.DocProcessorWrapper Maven / Gradle / Ivy

Go to download

A doclet that generates a resourcedoc xml file: this file contains the javadoc documentation of resource classes, so that this can be used for extending generated wadl with useful documentation.

There is a newer version: 1.19.4
Show newest version
/*
 *
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
 * 
 * Copyright 1997-2010 Sun Microsystems, Inc. All rights reserved.
 * 
 * The contents of this file are subject to the terms of either the GNU
 * General Public License Version 2 only ("GPL") or the Common Development
 * and Distribution License("CDDL") (collectively, the "License").  You
 * may not use this file except in compliance with the License. You can obtain
 * a copy of the License at https://jersey.dev.java.net/CDDL+GPL.html
 * or jersey/legal/LICENSE.txt.  See the License for the specific
 * language governing permissions and limitations under the License.
 * 
 * When distributing the software, include this License Header Notice in each
 * file and include the License file at jersey/legal/LICENSE.txt.
 * Sun designates this particular file as subject to the "Classpath" exception
 * as provided by Sun in the GPL Version 2 section of the License file that
 * accompanied this code.  If applicable, add the following below the License
 * Header, with the fields enclosed by brackets [] replaced by your own
 * identifying information: "Portions Copyrighted [year]
 * [name of copyright owner]"
 * 
 * Contributor(s):
 * 
 * If you wish your version of this file to be governed by only the CDDL or
 * only the GPL Version 2, indicate your decision by adding "[Contributor]
 * elects to include this software in this distribution under the [CDDL or GPL
 * Version 2] license."  If you don't indicate a single choice of license, a
 * recipient has the option to distribute your version of this file under
 * either the CDDL, the GPL Version 2 or to extend the choice of license to
 * its licensees as provided above.  However, if you add GPL Version 2 code
 * and therefore, elected the GPL Version 2 license, then the option applies
 * only if the new code is made subject to such option by the copyright
 * holder.
 */
package com.sun.jersey.wadl.resourcedoc;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

import com.sun.javadoc.ClassDoc;
import com.sun.javadoc.MethodDoc;
import com.sun.javadoc.ParamTag;
import com.sun.javadoc.Parameter;
import com.sun.jersey.server.wadl.generators.resourcedoc.model.ClassDocType;
import com.sun.jersey.server.wadl.generators.resourcedoc.model.MethodDocType;
import com.sun.jersey.server.wadl.generators.resourcedoc.model.ParamDocType;

/**
 * This {@link DocProcessor} wraps multiple {@link DocProcessor}s.
* Created on: Jul 27, 2008
* * @author Martin Grotzke * @version $Id: DocProcessorWrapper.java 3252 2010-01-26 23:13:50Z pavel_bucek $ */ public class DocProcessorWrapper implements DocProcessor { private final List _docProcessors; public DocProcessorWrapper() { _docProcessors = new ArrayList(); } void add( DocProcessor docProcessor ) { _docProcessors.add( docProcessor ); } /* (non-Javadoc) * @see com.sun.jersey.wadl.resourcedoc.DocProcessor#getRequiredJaxbContextClasses() */ public Class[] getRequiredJaxbContextClasses() { final List> result = new ArrayList>(); for( DocProcessor docProcessor : _docProcessors ) { final Class[] requiredJaxbContextClasses = docProcessor.getRequiredJaxbContextClasses(); if ( requiredJaxbContextClasses != null && requiredJaxbContextClasses.length > 0 ) { result.addAll( Arrays.asList( requiredJaxbContextClasses ) ); } } return result.toArray( new Class[0] ); } public String[] getCDataElements() { final List result = new ArrayList(); for( DocProcessor docProcessor : _docProcessors ) { final String[] cdataElements = docProcessor.getCDataElements(); if ( cdataElements != null && cdataElements.length > 0 ) { result.addAll( Arrays.asList( cdataElements ) ); } } return result.toArray( new String[0] ); } /* (non-Javadoc) * @see com.sun.jersey.wadl.resourcedoc.DocProcessor#processClassDoc(com.sun.javadoc.ClassDoc, com.sun.jersey.server.impl.wadl.generators.resourcedoc.model.ClassDocType) */ public void processClassDoc( ClassDoc classDoc, ClassDocType classDocType ) { for( DocProcessor docProcessor : _docProcessors ) { docProcessor.processClassDoc( classDoc, classDocType ); } } /* (non-Javadoc) * @see com.sun.jersey.wadl.resourcedoc.DocProcessor#processMethodDoc(com.sun.javadoc.MethodDoc, com.sun.jersey.server.impl.wadl.generators.resourcedoc.model.MethodDocType) */ public void processMethodDoc( MethodDoc methodDoc, MethodDocType methodDocType ) { for( DocProcessor docProcessor : _docProcessors ) { docProcessor.processMethodDoc( methodDoc, methodDocType ); } } /* (non-Javadoc) * @see com.sun.jersey.wadl.resourcedoc.DocProcessor#processParamTag(com.sun.javadoc.ParamTag, com.sun.javadoc.Parameter, com.sun.jersey.server.impl.wadl.generators.resourcedoc.model.ParamDocType) */ public void processParamTag( ParamTag paramTag, Parameter parameter, ParamDocType paramDocType ) { for( DocProcessor docProcessor : _docProcessors ) { docProcessor.processParamTag( paramTag, parameter, paramDocType ); } } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy