Package com.thoughtworks.qdox.model

Examples of com.thoughtworks.qdox.model.DocletTag


        return isSuccessful;
    }

    private void discoverNameInfo()
    {
        DocletTag avalonConfigName = m_javaClass.getTagByName( TAG_INFO );
        if ( null == avalonConfigName ) avalonConfigName = m_javaClass.getTagByName( TAG_NAME );

        String name = MetaInfoEntry.createShortName(m_javaClass.getName());

        if ( avalonConfigName != null )
        {
            name = avalonConfigName.getNamedParameter( ATTR_NAME );
        }

        setAttribute( META_NAME, name );
    }
View Full Code Here


        setAttribute( META_NAME, name );
    }

    private void discoverLifecycleType()
    {
        final DocletTag avalonLifecycle = m_javaClass.getTagByName( TAG_LIFESTYLE );
        final DocletTag fortressHandler = m_javaClass.getTagByName( TAG_HANDLER );
        String lifecycle = null;
        String handler = null;

        if ( avalonLifecycle == null && fortressHandler == null )
        {
            final Type[] interfaces = m_javaClass.getImplements();
            for ( int i = 0; i < interfaces.length && handler != null; i++ )
            {
                if ( interfaces[i].getClass().getName().equals( THREAD_SAFE ) )
                {
                    handler = MetaInfoEntry.THREADSAFE_HANDLER;
                }
                else if ( interfaces[i].getClass().getName().equals( POOLABLE ) ||
                        interfaces[i].getClass().getName().equals( RECYCLABLE ) )
                {
                    handler = MetaInfoEntry.POOLABLE_HANDLER;
                }
                else if ( interfaces[i].getClass().getName().equals( SINGLE_THREADED ) )
                {
                    handler = MetaInfoEntry.FACTORY_HANDLER;
                }
            }
        }

        if ( null != avalonLifecycle )       // lifecycle specified directly
        {
            lifecycle = stripQuotes( avalonLifecycle.getNamedParameter( ATTR_TYPE ) );
        }
        else if ( null != fortressHandler // handler specified directly
        {
            handler = stripQuotes( fortressHandler.getNamedParameter( ATTR_TYPE ) );
        }
        else // no lifecycle or handler specified, and no inspection match
        {
            handler = MetaInfoEntry.PER_THREAD_HANDLER;
        }
View Full Code Here

        mojoDescriptor.setImplementation( javaClass.getFullyQualifiedName() );

        mojoDescriptor.setDescription( javaClass.getComment() );

        DocletTag tag = findInClassHierarchy( javaClass, MAVEN_PLUGIN_INSTANTIATION );

        if ( tag != null )
        {
            mojoDescriptor.setInstantiationStrategy( tag.getValue() );
        }

        tag = findInClassHierarchy( javaClass, GOAL_MULTI_EXECUTION_STRATEGY );

        if ( tag != null )
        {
            mojoDescriptor.setExecutionStrategy( MojoDescriptor.MULTI_PASS_EXEC_STRATEGY );
        }
        else
        {
            mojoDescriptor.setExecutionStrategy( MojoDescriptor.SINGLE_PASS_EXEC_STRATEGY );
        }

        // ----------------------------------------------------------------------
        // Configurator hint
        // ----------------------------------------------------------------------

        DocletTag configurator = findInClassHierarchy( javaClass, CONFIGURATOR );

        if ( configurator != null )
        {
            mojoDescriptor.setComponentConfigurator( configurator.getValue() );
        }

        // ----------------------------------------------------------------------
        // Goal name
        // ----------------------------------------------------------------------

        DocletTag goal = findInClassHierarchy( javaClass, GOAL );

        if ( goal != null )
        {
            mojoDescriptor.setGoal( goal.getValue() );
        }

        // ----------------------------------------------------------------------
        // Phase name
        // ----------------------------------------------------------------------

        DocletTag phase = findInClassHierarchy( javaClass, PHASE );

        if ( phase != null )
        {
            mojoDescriptor.setPhase( phase.getValue() );
        }

        // ----------------------------------------------------------------------
        // Additional phase to execute first
        // ----------------------------------------------------------------------

        DocletTag execute = findInClassHierarchy( javaClass, EXECUTE );

        if ( execute != null )
        {
            String executePhase = execute.getNamedParameter( "phase" );
            String executeGoal = execute.getNamedParameter( "goal" );

            if ( executePhase == null && executeGoal == null )
            {
                throw new InvalidPluginDescriptorException( "@execute tag requires a 'phase' or 'goal' parameter" );
            }
            else if ( executePhase != null && executeGoal != null )
            {
                throw new InvalidPluginDescriptorException(
                    "@execute tag can have only one of a 'phase' or 'goal' parameter" );
            }
            mojoDescriptor.setExecutePhase( executePhase );
            mojoDescriptor.setExecuteGoal( executeGoal );

            String lifecycle = execute.getNamedParameter( "lifecycle" );

            if ( lifecycle != null )
            {
                mojoDescriptor.setExecuteLifecycle( lifecycle );
                if ( mojoDescriptor.getExecuteGoal() != null )
                {
                    throw new InvalidPluginDescriptorException(
                        "@execute lifecycle requires a phase instead of a goal" );
                }
            }
        }

        // ----------------------------------------------------------------------
        // Dependency resolution flag
        // ----------------------------------------------------------------------

        DocletTag requiresDependencyResolution = findInClassHierarchy( javaClass, GOAL_REQUIRES_DEPENDENCY_RESOLUTION );

        if ( requiresDependencyResolution != null )
        {
            String value = requiresDependencyResolution.getValue();

            if ( value == null || value.length() == 0 )
            {
                value = "runtime";
            }

            mojoDescriptor.setDependencyResolutionRequired( value );
        }

        // ----------------------------------------------------------------------
        // Project flag
        // ----------------------------------------------------------------------

        boolean value = getBooleanTagValue( javaClass, GOAL_REQUIRES_PROJECT, mojoDescriptor.isProjectRequired() );
        mojoDescriptor.setProjectRequired( value );

        // ----------------------------------------------------------------------
        // Aggregator flag
        // ----------------------------------------------------------------------

        DocletTag aggregator = findInClassHierarchy( javaClass, GOAL_IS_AGGREGATOR );

        if ( aggregator != null )
        {
            mojoDescriptor.setAggregator( true );
        }
View Full Code Here

        return mojoDescriptor;
    }

    private static boolean getBooleanTagValue( JavaClass javaClass, String tagName, boolean defaultValue )
    {
        DocletTag requiresProject = findInClassHierarchy( javaClass, tagName );

        if ( requiresProject != null )
        {
            String requiresProjectValue = requiresProject.getValue();

            if ( requiresProjectValue != null && requiresProjectValue.length() > 0 )
            {
                defaultValue = Boolean.valueOf( requiresProjectValue ).booleanValue();
            }
View Full Code Here

        return defaultValue;
    }

    private static DocletTag findInClassHierarchy( JavaClass javaClass, String tagName )
    {
        DocletTag tag = javaClass.getTagByName( tagName );

        if ( tag == null )
        {
            JavaClass superClass = javaClass.getSuperJavaClass();
View Full Code Here

            pd.setType( field.getType().getValue() );

            pd.setDescription( field.getComment() );

            DocletTag componentTag = field.getTagByName( COMPONENT );

            if ( componentTag != null )
            {
                String role = componentTag.getNamedParameter( "role" );

                if ( role == null )
                {
                    role = field.getType().toString();
                }

                String roleHint = componentTag.getNamedParameter( "roleHint" );

                pd.setRequirement( new Requirement( role, roleHint ) );

                pd.setName( (String) entry.getKey() );
            }
            else
            {
                DocletTag parameter = field.getTagByName( PARAMETER );

                // ----------------------------------------------------------------------
                // We will look for a property name here first and use that if present
                // i.e:
                //
                // @parameter property="project"
                //
                // Which will become the name used for the configuration element which
                // will in turn will allow plexus to use the corresponding setter.
                // ----------------------------------------------------------------------

                String property = parameter.getNamedParameter( PARAMETER_PROPERTY );

                if ( !StringUtils.isEmpty( property ) )
                {
                    pd.setName( property );
                }
                else
                {
                    pd.setName( (String) entry.getKey() );
                }

                pd.setRequired( field.getTagByName( REQUIRED ) != null );

                pd.setEditable( field.getTagByName( READONLY ) == null );

                DocletTag deprecationTag = field.getTagByName( DEPRECATED );

                if ( deprecationTag != null )
                {
                    pd.setDeprecated( deprecationTag.getValue() );
                }

                String alias = parameter.getNamedParameter( "alias" );

                if ( !StringUtils.isEmpty( alias ) )
View Full Code Here

        for ( int i = 0; i < javaSources.length; i++ )
        {
            JavaClass javaClass = getJavaClass( javaSources[i] );

            DocletTag tag = javaClass.getTagByName( GOAL );

            if ( tag != null )
            {
                MojoDescriptor mojoDescriptor = createMojoDescriptor( javaSources[i], pluginDescriptor );
View Full Code Here

    private void parseCustomAttributes(
            final JavaClass javaClass,
            final AttributeEnhancer enhancer) {
        DocletTag[] tags = javaClass.getTags();
        for (int i = 0; i < tags.length; i++) {
            DocletTag tag = tags[i];
            if (!isCustomTag(tag)) {
                continue;
            }
            String name = tag.getName();
            if (name.startsWith(ATTR_GENERIC_PREFIX1)) {
                name = name.substring(1, name.length());
            }
            String value = tag.getValue();
//                String[] parameters = tag.getParameters();
            enhancer.insertClassAttribute(new CustomAttribute(name, value, null));
            log("class [" + javaClass.getFullyQualifiedName() + ']');
            log("\tattribute [" + name + ' ' + value + ']');
        }
View Full Code Here

    private void parseCustomAttributes(
            final JavaField javaField,
            final AttributeEnhancer enhancer) {
        DocletTag[] tags = javaField.getTags();
        for (int i = 0; i < tags.length; i++) {
            DocletTag tag = tags[i];
            if (!isCustomTag(tag)) {
                continue;
            }
            String name = tag.getName();
            if (name.startsWith(ATTR_GENERIC_PREFIX1)) {
                name = name.substring(1, name.length());
            }
            String value = tag.getValue();
//                String[] parameters = tag.getParameters();
            enhancer.insertFieldAttribute(javaField, new CustomAttribute(name, value, null));
            log("field [" + javaField.getParentClass().getFullyQualifiedName() + '.' + javaField.getName() + ']');
            log("\tattribute [" + name + ' ' + value + ']');
        }
View Full Code Here

    private void parseCustomAttributes(
            final JavaMethod javaMethod,
            final AttributeEnhancer enhancer) {
        DocletTag[] tags = javaMethod.getTags();
        for (int i = 0; i < tags.length; i++) {
            DocletTag tag = tags[i];
            if (!isCustomTag(tag)) {
                continue;
            }
            String name = tag.getName();
            if (name.startsWith(ATTR_GENERIC_PREFIX1)) {
                name = name.substring(1, name.length());
            }
            String value = tag.getValue();
//                String[] parameters = tag.getParameters();
            enhancer.insertMethodAttribute(javaMethod, new CustomAttribute(name, value, null));
            log("method [" + javaMethod.getParentClass().getFullyQualifiedName() + '.' + javaMethod.getName() + ']');
            log("\tattribute [" + name + ' ' + value + ']');
        }
View Full Code Here

TOP

Related Classes of com.thoughtworks.qdox.model.DocletTag

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.