Package com.thoughtworks.qdox.model

Examples of com.thoughtworks.qdox.model.JavaMethod


        if (!shouldGenerate(metadata)) {
            return null;
        }

        JavaField field;
        JavaMethod method;
        JavaClass retVal = createDynamicJavaClass(getDestinationClassname(metadata), getDestinationPackage(metadata), null, getMetadataProvider());
        retVal.setModifiers(new String[] { "public" });

        PkMetadata metaPk = getMetaPk(metadata);
        String extendz = getExtends(metadata);

        JavaClass parentBuilded[];
        JavaClass parent = metadata.getSuperJavaClass();
        while (parent != null) {
            parentBuilded = buildFor(parent);
            if ((parentBuilded != null) && (parentBuilded[0].getFullyQualifiedName().equals(extendz))) {
                retVal.setSuperClass(parentBuilded[0].asType());
                break;
            }
            parent = parent.getSuperJavaClass();
        }
        String[] implementz = getImplements(metadata);
        Type[] implementzTypes = new Type[implementz.length];
        for (int i = 0; i < implementz.length; i++) {
            implementzTypes[i] = new Type(implementz[i]);
        }
        retVal.setImplementz(implementzTypes);

        BeanProperty[] properties = metaPk.getProperties();
        for (int i = 0; (properties != null) && (i < properties.length); i++) {
            field = new JavaField(properties[i].getType(), properties[i].getName());
            field.setModifiers(new String[] { "public" });
            retVal.addField(field);
        }

        method = new JavaMethod(getDestinationClassname(metadata));
        method.setConstructor(true);
        method.setModifiers(new String[] { "public" });
        retVal.addMethod(method);

        BeanProperty[] parentProperties = metaPk.getParentProperties();
        if ((properties != null && properties.length > 0)
         || (parentProperties != null && parentProperties.length > 0)) {
            method = new JavaMethod(getDestinationClassname(metadata));
            method.setConstructor(true);
            method.setModifiers(new String[] { "public" });

            JavaParameter[] params = new JavaParameter[((properties != null) ? properties.length : 0) ((parentProperties != null) ? parentProperties.length : 0)];
            int idx = 0;
            for (int i = 0; (properties != null) && (i < properties.length); i++) {
                params[idx++] = new JavaParameter(properties[i].getType(), properties[i].getName());
            }
            for (int i = 0; (parentProperties != null) && (i < parentProperties.length); i++) {
                params[idx++] = new JavaParameter(parentProperties[i].getType(), parentProperties[i].getName());
            }
            method.setParameters(params);
            retVal.addMethod(method);
        }

        for (int i = 0; (properties != null) && (i < properties.length); i++) {
            method = new JavaMethod(getSetterName(properties[i]));
            method.setModifiers(new String[] { "public" });
            method.setParameters(new JavaParameter[]{new JavaParameter(properties[i].getType(), properties[i].getName())});
            retVal.addMethod(method);
            method = new JavaMethod(properties[i].getType(), getGetterName(properties[i]));
            method.setModifiers(new String[] { "public" });
            retVal.addMethod(method);
        }

        method = new JavaMethod(new Type("int"), "hashCode");
        method.setModifiers(new String[] { "public" });
        retVal.addMethod(method);

        method = new JavaMethod(new Type("boolean"), "equals");
        method.setModifiers(new String[] { "public" });
        method.setParameters(new JavaParameter[]{new JavaParameter(new Type("java.lang.Object"), "other")});
        retVal.addMethod(method);

        method = new JavaMethod(new Type("java.lang.String"), "toString");
        method.setModifiers(new String[] { "public" });
        retVal.addMethod(method);

        return new JavaClass[]{retVal};
    }
View Full Code Here


        return hierarchyLst;
    }

    private BeanProperty[] getPkProperties(JavaClass javaClass) {
        JavaMethod[] methods = javaClass.getMethods();
        JavaMethod method;
        SortedSet propSet = new TreeSet(new Comparator() {
                    public int compare(Object o1, Object o2) {
                        BeanProperty p1 = (BeanProperty) o1;
                        BeanProperty p2 = (BeanProperty) o2;
                        return p1.getName().compareTo(p2.getName());
                    }
                });

        for (int i = 0; i < methods.length; i++) {
            method = methods[i];
            int metaFlags = ejbUtils.getMethodMetadata(javaClass, method);

            if (EjbUtils.hasFlag(metaFlags, EjbUtils.METADATA_METHOD_PRIMARY_KEY_FIELD)) {
                BeanProperty beanProperty = javaClass.getBeanProperty(method.getPropertyName());

                if (beanProperty != null) {
                    if (propSet.add(beanProperty)) {
                        if (log.isDebugEnabled()) {
                            log.debug(beanProperty.getName() + " was added to the Set");
                        }
                    } else {
                        if (log.isDebugEnabled()) {
                            log.debug(beanProperty.getName() +
                                " wasn't added to the Set. There must be already a property with the same name");
                        }
                    }
                } else {
                    String errorMessage = "Unexpected null property for " + method.getPropertyName() + " in " +
                        javaClass.getFullyQualifiedName();
                    log.error(errorMessage);
                    throw new Error(errorMessage);
                }
            }
View Full Code Here

                if (jc != null) {
                    if (isMethod()) {
                        String mname = getName();
                        JavaMethod[] methods = jc.getMethods();
                        for (int i = 0; i < methods.length; i++) {
                            JavaMethod method = methods[i];
                            if (mname.equals(method.getName())) {
                                if (matchSignature(method)) {
                                    m_itemSource = method;
                                    break;
                                }
                            }
View Full Code Here

     *
     * @see org.jibx.binding.model.IClassItem#getReturnJavaDoc()
     */
    public String getReturnJavaDoc() {
        if (isMethod()) {
            JavaMethod jm = (JavaMethod)getItemSource();
            if (jm != null) {
                DocletTag tag = jm.getTagByName("return");
                if (tag != null) {
                    return docText(tag.getValue());
                }
            }
            return null;
View Full Code Here

     *
     * @see org.jibx.binding.model.IClassItem#getParameterJavaDoc(int)
     */
    public String getParameterJavaDoc(int index) {
        if (isMethod()) {
            JavaMethod jm = (JavaMethod)getItemSource();
            if (jm != null) {
                String name = jm.getParameters()[index].getName();
                DocletTag[] tags = jm.getTagsByName("param");
                for (int i = 0; i < tags.length; i++) {
                    DocletTag tag = tags[i];
                    String[] parms = tag.getParameters();
                    if (parms != null && parms.length > 0 && name.equals(parms[0])) {
                        String text = tag.getValue().trim();
View Full Code Here

     * (non-Javadoc)
     *
     * @see org.jibx.binding.model.IClassItem#getParameterName(int)
     */
    public String getParameterName(int index) {
        JavaMethod jm = (JavaMethod)getItemSource();
        String name;
        if (jm != null) {
            JavaParameter[] parameters = jm.getParameters();
            name = parameters[index].getName();
        } else {
            name = super.getParameterName(index);
        }
        return name;
View Full Code Here

     *
     * @see org.jibx.binding.model.IClassItem#getExceptionJavaDoc(int)
     */
    public String getExceptionJavaDoc(int index) {
        if (isMethod()) {
            JavaMethod jm = (JavaMethod)getItemSource();
            if (jm != null) {
                String name = getExceptions()[index];
                DocletTag[] tags = jm.getTagsByName("throws");
                for (int i = 0; i < tags.length; i++) {
                    DocletTag tag = tags[i];
                    String[] parms = tag.getParameters();
                    if (parms != null && parms.length > 0 && name.equals(parms[0])) {
                        return docText(tag.getValue());
View Full Code Here

            // retLst.addAll(ContainerTransaction.unroll(permType, transTag.getType()));
        }

        // Now let's dig into method level ejb.transaction tags
        JavaMethod[] methods = javaClass.getMethods();
        JavaMethod method;

        for (int j = 0; j < methods.length; j++) {
            tags = (method = methods[j]).getTagsByName(TagLibrary.EJB_TRANSACTION_METHOD);

            for (int k = 0; k < tags.length; k++) {
View Full Code Here

            return (left != null) ? left.getMethod() : null;
        }

        public boolean isLeftMany() {
            boolean retVal = false;
            JavaMethod method = getLeftMethod();
            EjbRelationTag tag = getRightTag();

            if (method != null) {
                retVal |= method.getReturns().isA(new Type(Collection.class.getName()));
                retVal |= method.getReturns().isA(new Type(Set.class.getName()));
            } else {
                retVal = tag.isTargetMultiple();
            }

            return retVal;
View Full Code Here

            return retVal;
        }

        public boolean isRightMany() {
            boolean retVal = false;
            JavaMethod method = getRightMethod();
            EjbRelationTag tag = getLeftTag();

            if (method != null) {
                retVal |= method.getReturns().isA(new Type(Collection.class.getName()));
                retVal |= method.getReturns().isA(new Type(Set.class.getName()));
            } else {
                retVal = tag.isTargetMultiple();
            }

            return retVal;
View Full Code Here

TOP

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

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.