Package com.thoughtworks.qdox.model

Examples of com.thoughtworks.qdox.model.JavaClass


        }

        binaryBuilder.endClass();
        JavaSource binarySource = binaryBuilder.getSource();
        // There is always only one class in a "binary" source.
        JavaClass result = binarySource.getClasses()[0];
        return result;
    }
View Full Code Here


            methodSet.addMethod(javaMethod, bindSignature, closestMockedType,
                    closedMockedClass);
        }

        JavaClass superClass = resolveClass(javaClass.getSuperClass(),
            javaClass.getPackage());
        if (superClass != null) {

            findMockableMethods(superClass, name2MethodSet, excluded,
                    closestMockedType, closedMockedClass);
        }

        Type[] interfaces = javaClass.getImplements();
        for (int i = 0; i < interfaces.length; i++) {
            final Type interfaceType = interfaces[i];
            // if the interface is in the same package then interfaceType won't
            // have package information
            JavaClass ifc = resolveClass(interfaceType, javaClass.getPackage());

            findMockableMethods(ifc, name2MethodSet, excluded,
                    closestMockedType, closedMockedClass);
        }
    }
View Full Code Here

    private JavaClass resolveClass(Type type, String defaultPackage) {
        if (type == null) {
            return null;
        }
//        return resolver.resolveClass(type);
        JavaClass result = type.getJavaClass();
        final boolean needsQdox129Fix =
            result.getParentSource().getURL() == null;
        if (needsQdox129Fix) {
            try {
                result = qdox129.recreateBinary(result);
            } catch (Throwable t) {
                // fall back to the original JavaClass
                System.out.println("Can't recreate binary class " +
                    result.getFullyQualifiedName() +
                    "\r\n\tReason: " + t.getMessage());
            }
//            if (!recreated && result.getPackage() == null) {
//                // the package information might be missing due to a bug in qdox
//                try {
View Full Code Here

        return constructors;
    }

    private Collection findConstructors() {

        JavaClass mockedClass = getJavaClass();

        if (mockedClass == null) {
            throw new IllegalArgumentException("currentClass == null!");
        }

        JavaMethod[] methods = mockedClass.getMethods(false);
        Arrays.sort(methods, METHOD_COMPARATOR);

        List filteredMethods = new ArrayList();
        for (int i = 0; i < methods.length; i++) {
            JavaMethod method = methods[i];
View Full Code Here

    }

    private static JavaClass findBaseMockedClass(
            String baseMockedName, JavaClass mockedClass) {

        final JavaClass baseMockedClass;
        if (baseMockedName != null) {

            String prefixedBaseMockName = "." + baseMockedName;

            // Find the base interface, or super class that most closely
            // matches the base name.
            List matched = new ArrayList();
            List interfaces = Arrays.asList(
                    mockedClass.getImplementedInterfaces());
            List classes;
            JavaClass superClass = mockedClass.getSuperJavaClass();
            if (superClass != null) {
                classes = new ArrayList(interfaces);
                classes.add(superClass);
            } else {
                classes = interfaces;
            }

            for (Iterator i = classes.iterator(); i.hasNext();) {
                JavaClass implementedInterface = (JavaClass) i.next();
                String interfaceName =
                        implementedInterface.getFullyQualifiedName();
                if (interfaceName.equals(baseMockedName)) {
                    matched.add(implementedInterface);
                    break;
                } else if (interfaceName.endsWith(prefixedBaseMockName)) {
                    matched.add(implementedInterface);
View Full Code Here

            String extendsList, JavaClass mockedClass) {
        Set interfacesClassList = new TreeSet();
        StringTokenizer tokenizer = new StringTokenizer(extendsList, ",");
        while (tokenizer.hasMoreTokens()) {
            String token = tokenizer.nextToken().trim();
            JavaClass extendsClass = findBaseMockedClass(token, mockedClass);
            interfacesClassList.add(extendsClass);
        }

        return interfacesClassList;
    }
View Full Code Here

                DocletTag fieldTag =
                        javaField.getTagByName("mock.generate");
                generatorLogger.debug("Generating code for field " +
                        javaField.getName() + " with type " +
                        javaField.getType().getValue());
                JavaClass javaClass =
                        javaField.getType().getJavaClass();
                generatedAny |= generateMock(javaClass, fieldTag, renamer,
                        sourceChecker);
            }
View Full Code Here

            JavaMethod javaMethod = mergedMethod.javaMethod;
            String name = javaMethod.getName();
            List parameters = GenerationHelper.getParameters(javaMethod);

            SourceType mockedType = mergedMethod.mockedType;
            JavaClass mockedClass = mergedMethod.mockedClass;
            String uniqueIdentifier = GenerationHelper.uniqueMethodIdentifer(
                    name, parameters);
            String identifierReference;
            boolean declareIdentifier;
            if (mockedType == SourceType.BASE_INTERFACE && isInterface) {
                declareIdentifier = false;
                identifierReference = null;
            } else if (mockedType.isMockAvailable()) {
                declareIdentifier = true;
                identifierReference =
                        renamer.rename(mockedClass.getFullyQualifiedName()) +
                        "." + uniqueIdentifier;
            } else {
                declareIdentifier = true;
                identifierReference = null;
            }

            MockableMethod method =
                    new MockableMethod(name,
                            parameters,
                            bindSignature,
                            mergedMethod.throwables,
                            javaMethod.getReturns(),
                            getCallUpdaterInfo(javaMethod.getReturns()),
                            unique,
                            uniqueIdentifier, declareIdentifier,
                            identifierReference, true, null,
                            renamer.rename(mockedClass.getFullyQualifiedName()));
           
            methods.add(method);
        }

        return methods;
View Full Code Here

        }

        private void mergeThrowables(Set throwables, Set set1, Set set2) {
            for (Iterator i = set1.iterator(); i.hasNext();) {

                JavaClass specific = (JavaClass) i.next();
                for (JavaClass throwable = specific;
                     !throwable.getFullyQualifiedName().equals("java.lang.Object");
                     throwable = throwable.getSuperJavaClass()) {

                    if (set2.contains(throwable)) {
View Full Code Here

  /**
   * Must be synch to be assured that a file is not parsed twice
   */
  private synchronized JavaClass getClassByName(Class clazz) {
    if(m_parsedClasses.containsKey(clazz.getName())) {
      JavaClass jc= m_docBuilder.getClassByName(clazz.getName());
      return jc;
    }
    else {
      parseSource(clazz);

View Full Code Here

TOP

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

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.