Example usage for org.eclipse.jdt.core IMemberValuePair getValueKind

List of usage examples for org.eclipse.jdt.core IMemberValuePair getValueKind

Introduction

In this page you can find the example usage for org.eclipse.jdt.core IMemberValuePair getValueKind.

Prototype

int getValueKind();

Source Link

Document

Returns the value kind of this member-value pair.

Usage

From source file:at.bestsolution.fxide.jdt.text.viewersupport.JavaElementLabelComposer.java

License:Open Source License

public void appendAnnotationLabel(IAnnotation annotation, long flags) throws JavaModelException {
    fBuffer.append('@');
    appendTypeSignatureLabel(annotation, Signature.createTypeSignature(annotation.getElementName(), false),
            flags);//from ww w .java 2  s  .c om
    IMemberValuePair[] memberValuePairs = annotation.getMemberValuePairs();
    if (memberValuePairs.length == 0)
        return;
    fBuffer.append('(');
    for (int i = 0; i < memberValuePairs.length; i++) {
        if (i > 0)
            fBuffer.append(JavaElementLabels.COMMA_STRING);
        IMemberValuePair memberValuePair = memberValuePairs[i];
        fBuffer.append(getMemberName(annotation, annotation.getElementName(), memberValuePair.getMemberName()));
        fBuffer.append('=');
        appendAnnotationValue(annotation, memberValuePair.getValue(), memberValuePair.getValueKind(), flags);
    }
    fBuffer.append(')');
}

From source file:com.codenvy.ide.ext.java.server.SourcesFromBytecodeGenerator.java

License:Open Source License

public void appendAnnotationLabel(IAnnotation annotation, long flags, StringBuilder builder)
        throws JavaModelException {
    builder.append('@');
    appendTypeSignatureLabel(annotation, Signature.createTypeSignature(annotation.getElementName(), false),
            flags, builder);//from w w w . ja  v a2  s.  com
    IMemberValuePair[] memberValuePairs = annotation.getMemberValuePairs();
    if (memberValuePairs.length == 0)
        return;
    builder.append('(');
    for (int i = 0; i < memberValuePairs.length; i++) {
        if (i > 0)
            builder.append(JavaElementLabels.COMMA_STRING);
        IMemberValuePair memberValuePair = memberValuePairs[i];
        builder.append(getMemberName(annotation, annotation.getElementName(), memberValuePair.getMemberName()));
        builder.append('=');
        appendAnnotationValue(annotation, memberValuePair.getValue(), memberValuePair.getValueKind(), flags,
                builder);
    }
    builder.append(')');
}

From source file:com.microsoft.javapkgsrv.JavaElementLabelComposer.java

License:Open Source License

public void appendAnnotationLabel(IAnnotation annotation, long flags) throws JavaModelException {
    fBuffer.append('@');
    appendTypeSignatureLabel(annotation, Signature.createTypeSignature(annotation.getElementName(), false),
            flags);//from w  w w. ja v a  2 s .c  o  m
    IMemberValuePair[] memberValuePairs = annotation.getMemberValuePairs();
    if (memberValuePairs.length == 0)
        return;
    fBuffer.append('(');
    for (int i = 0; i < memberValuePairs.length; i++) {
        if (i > 0)
            fBuffer.append(COMMA_STRING);
        IMemberValuePair memberValuePair = memberValuePairs[i];
        fBuffer.append(getMemberName(annotation, annotation.getElementName(), memberValuePair.getMemberName()));
        fBuffer.append('=');
        appendAnnotationValue(annotation, memberValuePair.getValue(), memberValuePair.getValueKind(), flags);
    }
    fBuffer.append(')');
}

From source file:edu.brown.cs.bubbles.bedrock.BedrockUtil.java

License:Open Source License

private static void outputSymbol(IJavaElement elt, String what, String nm, String key, IvyXmlWriter xw) {
    if (what == null || nm == null)
        return;//  w  w w. ja  v  a2  s. com

    xw.begin("ITEM");
    xw.field("TYPE", what);
    xw.field("NAME", nm);
    xw.field("HANDLE", elt.getHandleIdentifier());

    xw.field("WORKING", (elt.getPrimaryElement() != elt));
    ICompilationUnit cu = (ICompilationUnit) elt.getAncestor(IJavaElement.COMPILATION_UNIT);
    if (cu != null) {
        xw.field("CUWORKING", cu.isWorkingCopy());
    }
    try {
        xw.field("KNOWN", elt.isStructureKnown());
    } catch (JavaModelException e) {
    }

    if (elt instanceof ISourceReference) {
        try {
            ISourceRange rng = ((ISourceReference) elt).getSourceRange();
            if (rng != null) {
                xw.field("STARTOFFSET", rng.getOffset());
                xw.field("ENDOFFSET", rng.getOffset() + rng.getLength());
                xw.field("LENGTH", rng.getLength());
            }
        } catch (JavaModelException e) {
            BedrockPlugin.logE("Problem getting source range: " + e);
        }
    }

    if (elt instanceof ILocalVariable) {
        ILocalVariable lcl = (ILocalVariable) elt;
        xw.field("SIGNATURE", lcl.getTypeSignature());
    }

    if (elt instanceof IMember) {
        try {
            IMember mem = ((IMember) elt);
            int fgs = mem.getFlags();
            if (mem.getParent() instanceof IType && !(elt instanceof IType)) {
                IType par = (IType) mem.getParent();
                if (par.isInterface()) {
                    if (elt instanceof IMethod)
                        fgs |= Flags.AccAbstract;
                    fgs |= Flags.AccPublic;
                }
                xw.field("QNAME", par.getFullyQualifiedName() + "." + nm);
            }
            xw.field("FLAGS", fgs);
        } catch (JavaModelException e) {
        }
    }

    if (elt instanceof IPackageFragment || elt instanceof IType) {
        Display d = BedrockApplication.getDisplay();
        if (d != null) {
            JavadocUrl ju = new JavadocUrl(elt);
            d.syncExec(ju);
            URL u = ju.getResult();
            if (u != null) {
                xw.field("JAVADOC", u.toString());
            }
        }
    }

    xw.field("SOURCE", "USERSOURCE");
    if (key != null)
        xw.field("KEY", key);

    boolean havepath = false;
    for (IJavaElement pe = elt.getParent(); pe != null; pe = pe.getParent()) {
        if (pe.getElementType() == IJavaElement.COMPILATION_UNIT) {
            IProject ip = elt.getJavaProject().getProject();
            File f = BedrockUtil.getFileForPath(elt.getPath(), ip);
            xw.field("PATH", f.getAbsolutePath());
            havepath = true;
            break;
        }
    }
    IJavaProject ijp = elt.getJavaProject();
    if (ijp != null)
        xw.field("PROJECT", ijp.getProject().getName());
    IPath p = elt.getPath();
    if (p != null) {
        xw.field("XPATH", p);
        if (!havepath) {
            IProject ip = elt.getJavaProject().getProject();
            File f = getFileForPath(elt.getPath(), ip);
            xw.field("PATH", f.getAbsolutePath());
        }
    }

    if (elt instanceof IMethod) {
        IMethod m = (IMethod) elt;
        try {
            xw.field("RESOLVED", m.isResolved());
            ISourceRange rng = m.getNameRange();
            if (rng != null) {
                xw.field("NAMEOFFSET", rng.getOffset());
                xw.field("NAMELENGTH", rng.getLength());
            }
            xw.field("RETURNTYPE", m.getReturnType());
            xw.field("NUMPARAM", m.getNumberOfParameters());
            String[] pnms = m.getParameterNames();
            String[] ptys = m.getParameterTypes();
            for (int i = 0; i < ptys.length; ++i) {
                xw.begin("PARAMETER");
                if (i < pnms.length)
                    xw.field("NAME", pnms[i]);
                xw.field("TYPE", ptys[i]);
                xw.end();
            }
            for (String ex : m.getExceptionTypes()) {
                xw.begin("EXCEPTION");
                xw.field("TYPE", ex);
                xw.end();
            }
        } catch (JavaModelException e) {
        }
    }

    // TODO: output parameters as separate elements with type and name

    if (elt instanceof IAnnotatable) {
        IAnnotatable ann = (IAnnotatable) elt;
        try {
            IAnnotation[] ans = ann.getAnnotations();
            for (IAnnotation an : ans) {
                xw.begin("ANNOTATION");
                xw.field("NAME", an.getElementName());
                xw.field("COUNT", an.getOccurrenceCount());
                try {
                    for (IMemberValuePair mvp : an.getMemberValuePairs()) {
                        xw.begin("VALUE");
                        xw.field("NAME", mvp.getMemberName());
                        if (mvp.getValue() != null)
                            xw.field("VALUE", mvp.getValue().toString());
                        xw.field("KIND", mvp.getValueKind());
                        xw.end("VALUE");
                    }
                } catch (JavaModelException e) {
                }
                xw.end("ANNOTATION");
            }
        } catch (JavaModelException e) {
        }
    }

    xw.end("ITEM");
}

From source file:org.eclipse.jst.jsf.core.jsfappconfig.AnnotationSearchRequestor.java

License:Open Source License

private void addReferencedBean(IAnnotation referencedBeanAnnotation, IType beanType) throws JavaModelException {
    IMemberValuePair[] pairs = referencedBeanAnnotation.getMemberValuePairs();
    String beanNameString = null;
    if (pairs != null) {
        for (IMemberValuePair pair : pairs) {
            if ("name".equals(pair.getMemberName()) && pair.getValueKind() == IMemberValuePair.K_STRING) { //$NON-NLS-1$
                beanNameString = (String) pair.getValue();
            }/*from  ww  w  .  j a  v  a2s.c  o  m*/
        }
    }
    if (beanNameString == null) {
        beanNameString = beanType.getElementName();
        if (beanNameString != null && beanNameString.length() > 0) {
            StringBuffer casedName = new StringBuffer(String.valueOf(beanNameString.charAt(0)).toUpperCase());
            beanNameString = casedName.append(beanNameString.substring(1)).toString();
        }
    }
    String beanClassName = beanType.getFullyQualifiedName();

    if (beanNameString != null && beanClassName != null) {
        ReferencedBeanType bean = FacesConfigFactory.eINSTANCE.createReferencedBeanType();
        ReferencedBeanNameType beanName = FacesConfigFactory.eINSTANCE.createReferencedBeanNameType();
        beanName.setTextContent(beanNameString);
        bean.setReferencedBeanName(beanName);
        ReferencedBeanClassType beanClass = FacesConfigFactory.eINSTANCE.createReferencedBeanClassType();
        beanClass.setTextContent(beanClassName);
        bean.setReferencedBeanClass(beanClass);
        facesConfig.getReferencedBean().add(bean);
    }
}

From source file:org.eclipse.jst.jsf.core.jsfappconfig.AnnotationSearchRequestor.java

License:Open Source License

private void addManagedBean(IAnnotation beanAnnotation, IType beanType) throws JavaModelException {
    IMemberValuePair[] pairs = beanAnnotation.getMemberValuePairs();
    String beanNameString = null;
    Boolean isBeanEager = Boolean.FALSE;
    if (pairs != null) {
        for (IMemberValuePair pair : pairs) {
            if ("name".equals(pair.getMemberName()) && pair.getValueKind() == IMemberValuePair.K_STRING) { //$NON-NLS-1$
                beanNameString = (String) pair.getValue();
            } else if ("eager".equals(pair.getMemberName()) //$NON-NLS-1$
                    && pair.getValueKind() == IMemberValuePair.K_BOOLEAN) {
                isBeanEager = (Boolean) pair.getValue();
            }/*  w  w  w .j av  a  2s. c  o  m*/
        }
    }
    if (beanNameString == null || beanNameString.length() < 1) {
        beanNameString = beanType.getElementName();
        if (beanNameString != null && beanNameString.length() > 0) {
            StringBuffer casedName = new StringBuffer(String.valueOf(beanNameString.charAt(0)).toLowerCase());
            beanNameString = casedName.append(beanNameString.substring(1)).toString();
        }
    }
    String beanClassName = beanType.getFullyQualifiedName();

    String beanScopeString = "request"; //$NON-NLS-1$
    IAnnotation[] annotations = beanType.getAnnotations();
    if (annotations != null) {
        for (int i = 0, k = annotations.length; i < k; i++) {
            if (annotations[i].exists()) {
                String annotationType = annotations[i].getElementName();
                String[][] resolvedAnnotationTypes = beanType.resolveType(annotationType);
                if (resolvedAnnotationTypes != null) {
                    String resolvedAnnotationClassName = new StringBuffer(resolvedAnnotationTypes[0][0])
                            .append('.').append(resolvedAnnotationTypes[0][1]).toString();
                    if (NONE_SCOPED_ANNOTATION_CLASS.equals(resolvedAnnotationClassName)) {
                        beanScopeString = "none"; //$NON-NLS-1$
                    } else if (VIEW_SCOPED_ANNOTATION_CLASS.equals(resolvedAnnotationClassName)) {
                        beanScopeString = "view"; //$NON-NLS-1$
                    } else if (SESSION_SCOPED_ANNOTATION_CLASS.equals(resolvedAnnotationClassName)) {
                        beanScopeString = "session"; //$NON-NLS-1$
                    } else if (APPLICATION_SCOPED_ANNOTATION_CLASS.equals(resolvedAnnotationClassName)) {
                        beanScopeString = "application"; //$NON-NLS-1$
                    } else if (CUSTOM_SCOPED_ANNOTATION_CLASS.equals(resolvedAnnotationClassName)) {
                        IMemberValuePair[] scopePairs = annotations[i].getMemberValuePairs();
                        if (scopePairs != null && scopePairs.length == 1
                                && scopePairs[0].getValueKind() == IMemberValuePair.K_STRING) {
                            beanScopeString = (String) scopePairs[0].getValue();
                        }
                    }
                }
            }
        }
    }

    if (beanNameString != null && beanClassName != null) {
        ManagedBeanType bean = FacesConfigFactory.eINSTANCE.createManagedBeanType();
        ManagedBeanNameType beanName = FacesConfigFactory.eINSTANCE.createManagedBeanNameType();
        beanName.setTextContent(beanNameString);
        bean.setManagedBeanName(beanName);
        ManagedBeanClassType beanClass = FacesConfigFactory.eINSTANCE.createManagedBeanClassType();
        beanClass.setTextContent(beanClassName);
        bean.setManagedBeanClass(beanClass);
        ManagedBeanScopeType beanScope = FacesConfigFactory.eINSTANCE.createManagedBeanScopeType();
        beanScope.setTextContent(beanScopeString);
        bean.setManagedBeanScope(beanScope);
        bean.setEager(isBeanEager.booleanValue());
        JSFAppConfigUtils.setManagedBeanSource(bean, JSFAppConfigUtils.MANAGEDBEAN_SOURCE_JSF_ANNOTATION);
        facesConfig.getManagedBean().add(bean);
    }
}

From source file:org.eclipse.jst.jsf.core.jsfappconfig.AnnotationSearchRequestor.java

License:Open Source License

private void addValidator(IAnnotation validatorAnnotation, IType validatorType) throws JavaModelException {
    String validatorClassName = validatorType.getFullyQualifiedName();
    IMemberValuePair[] pairs = validatorAnnotation.getMemberValuePairs();
    String validatorIDString = null;
    //        Boolean isDefaultBoolean = null;
    if (pairs != null) {
        for (IMemberValuePair pair : pairs) {
            if ("value".equals(pair.getMemberName()) && pair.getValueKind() == IMemberValuePair.K_STRING) { //$NON-NLS-1$
                validatorIDString = (String) pair.getValue();
                //isDefault not used in emf model
                //                } else if ("isDefault".equals(pair.getMemberName()) && pair.getValueKind() == IMemberValuePair.K_BOOLEAN) {  //$NON-NLS-1$
                //                    isDefaultBoolean = (Boolean)pair.getValue();
            }/*from  w w  w.  j  a v a 2 s .c  om*/
        }
    }

    if (validatorClassName != null && validatorIDString != null) {
        ValidatorType validator = FacesConfigFactory.eINSTANCE.createValidatorType();
        ValidatorClassType validatorClass = FacesConfigFactory.eINSTANCE.createValidatorClassType();
        validatorClass.setTextContent(validatorClassName);
        validator.setValidatorClass(validatorClass);

        ValidatorIdType validatorID = FacesConfigFactory.eINSTANCE.createValidatorIdType();
        validatorID.setTextContent(validatorIDString);
        validator.setValidatorId(validatorID);

        //          if (isDefaultBoolean == null) {
        //              isDefaultBoolean = Boolean.FALSE;
        //          }

        facesConfig.getValidator().add(validator);
    }
}

From source file:org.eclipse.jst.jsf.core.jsfappconfig.AnnotationSearchRequestor.java

License:Open Source License

private void addRenderer(IAnnotation rendererAnnotation, IType rendererType) throws JavaModelException {
    String rendererClassName = rendererType.getFullyQualifiedName();
    IMemberValuePair[] pairs = rendererAnnotation.getMemberValuePairs();
    String rendererTypeString = null;
    String componentFamilyString = null;
    String renderKitIDString = null;
    if (pairs != null) {
        for (IMemberValuePair pair : pairs) {
            if ("rendererType".equals(pair.getMemberName()) //$NON-NLS-1$
                    && pair.getValueKind() == IMemberValuePair.K_STRING) {
                rendererTypeString = (String) pair.getValue();
            } else if ("componentFamily".equals(pair.getMemberName()) //$NON-NLS-1$
                    && pair.getValueKind() == IMemberValuePair.K_STRING) {
                componentFamilyString = (String) pair.getValue();
            } else if ("renderKitId".equals(pair.getMemberName()) //$NON-NLS-1$
                    && pair.getValueKind() == IMemberValuePair.K_STRING) {
                renderKitIDString = (String) pair.getValue();
            }/*from  w  ww  .j av  a  2 s  .c  o m*/
        }
    }

    if (rendererClassName != null && rendererTypeString != null && componentFamilyString != null) {
        RendererType renderer = FacesConfigFactory.eINSTANCE.createRendererType();
        RendererClassType rendererClass = FacesConfigFactory.eINSTANCE.createRendererClassType();
        rendererClass.setTextContent(rendererClassName);
        renderer.setRendererClass(rendererClass);

        RendererTypeType rendererTypeType = FacesConfigFactory.eINSTANCE.createRendererTypeType();
        rendererTypeType.setTextContent(rendererTypeString);
        renderer.setRendererType(rendererTypeType);

        ComponentFamilyType componentFamily = FacesConfigFactory.eINSTANCE.createComponentFamilyType();
        componentFamily.setTextContent(componentFamilyString);
        renderer.setComponentFamily(componentFamily);

        if (renderKitIDString == null) {
            //use the default
            renderKitIDString = "HTML_BASIC"; //$NON-NLS-1$
        }
        EList renderKits = facesConfig.getRenderKit();
        if (renderKits != null) {
            RenderKitType renderKit = null;
            for (int i = 0, k = renderKits.size(); i < k; i++) {
                if (((RenderKitType) renderKits.get(i)).getRenderKitId() != null && renderKitIDString
                        .equals(((RenderKitType) renderKits.get(i)).getRenderKitId().getTextContent())) {
                    renderKit = (RenderKitType) (renderKits.get(i));
                }
            }
            if (renderKit == null) {
                renderKit = FacesConfigFactory.eINSTANCE.createRenderKitType();
                RenderKitIdType renderKitID = FacesConfigFactory.eINSTANCE.createRenderKitIdType();
                renderKitID.setTextContent(renderKitIDString);
                renderKit.setRenderKitId(renderKitID);
                renderKits.add(renderKit);
            }
            renderKit.getRenderer().add(renderer);
        }
    }
}

From source file:org.eclipse.jst.jsf.core.jsfappconfig.AnnotationSearchRequestor.java

License:Open Source License

private void addConverter(IAnnotation converterAnnotation, IType converterType) throws JavaModelException {
    String converterClassName = converterType.getFullyQualifiedName();
    IMemberValuePair[] pairs = converterAnnotation.getMemberValuePairs();
    String converterIDString = null;
    String converterForClassString = null;
    if (pairs != null) {
        for (IMemberValuePair pair : pairs) {
            if ("value".equals(pair.getMemberName()) && pair.getValueKind() == IMemberValuePair.K_STRING) { //$NON-NLS-1$
                converterIDString = (String) pair.getValue();
            } else if ("forClass".equals(pair.getMemberName()) //$NON-NLS-1$
                    && pair.getValueKind() == IMemberValuePair.K_CLASS) {
                converterForClassString = (String) pair.getValue();
            }//from   www .  j a v a  2 s.co m
        }
    }
    if (converterClassName != null) {
        ConverterType converter = FacesConfigFactory.eINSTANCE.createConverterType();
        ConverterClassType converterClass = FacesConfigFactory.eINSTANCE.createConverterClassType();
        converterClass.setTextContent(converterClassName);
        converter.setConverterClass(converterClass);

        if (converterIDString != null) {
            ConverterIdType converterID = FacesConfigFactory.eINSTANCE.createConverterIdType();
            converterID.setTextContent(converterIDString);
            converter.setConverterId(converterID);
        }

        if (converterForClassString == null) {
            //use the default
            converterForClassString = "java.lang.Object"; //$NON-NLS-1$
        }
        ConverterForClassType converterForClass = FacesConfigFactory.eINSTANCE.createConverterForClassType();
        converterForClass.setTextContent(converterForClassString);
        converter.setConverterForClass(converterForClass);
        facesConfig.getConverter().add(converter);
    }
}

From source file:org.eclipse.jst.jsf.core.jsfappconfig.AnnotationSearchRequestor.java

License:Open Source License

private void addComponent(IAnnotation componentAnnotation, IType componentType) throws JavaModelException {
    String componentClassName = componentType.getFullyQualifiedName();
    IMemberValuePair[] pairs = componentAnnotation.getMemberValuePairs();
    String componentTypeString = null;
    if (pairs != null) {
        for (IMemberValuePair pair : pairs) {
            if ("value".equals(pair.getMemberName()) && pair.getValueKind() == IMemberValuePair.K_STRING) { //$NON-NLS-1$
                componentTypeString = (String) pair.getValue();
            }//from www  .j a va2  s  .  co m
        }
    }
    if (componentTypeString != null && componentClassName != null) {
        ComponentType component = FacesConfigFactory.eINSTANCE.createComponentType();
        ComponentClassType componentClass = FacesConfigFactory.eINSTANCE.createComponentClassType();
        componentClass.setTextContent(componentClassName);
        component.setComponentClass(componentClass);

        ComponentTypeType componentTypeType = FacesConfigFactory.eINSTANCE.createComponentTypeType();
        componentTypeType.setTextContent(componentTypeString);
        component.setComponentType(componentTypeType);

        facesConfig.getComponent().add(component);
    }
}