List of usage examples for org.eclipse.jdt.core.dom MemberValuePair resolveMemberValuePairBinding
public final IMemberValuePairBinding resolveMemberValuePairBinding()
From source file:com.wuetherich.osgi.ds.annotations.internal.builder.DetectDsAnnotationVersionAstVisitor.java
License:Open Source License
@Override protected void handleComponentAnnotation(NormalAnnotation node) { for (Object object : node.values()) { MemberValuePair pair = (MemberValuePair) object; // handle xmlns if ("xmlns".equals(pair.getName().toString())) { String xmlns = (String) pair.resolveMemberValuePairBinding().getValue(); _specifiedXmlns = DsAnnotationVersion.getFromNamespace(xmlns); if (_specifiedXmlns == null) { _annotationException = new DsAnnotationException( String.format("Invalid namespace definition '%s'.", xmlns)); }//ww w. j ava 2s. c om } // else if ("configurationPid".equals(pair.getName().toString())) { setUpTo(DsAnnotationVersion.V_1_2); } // else if ("configurationPolicy".equals(pair.getName().toString())) { setUpTo(DsAnnotationVersion.V_1_1); } } }
From source file:com.wuetherich.osgi.ds.annotations.internal.builder.DsAnnotationAstVisitor.java
License:Open Source License
/** * <p>/*from w w w . ja va 2 s . c o m*/ * </p> * * @param normalAnnotation */ private void handleNormalReferenceAnnotation(NormalAnnotation normalAnnotation) { String name = null; String cardinality = null; String policy = null; String unbind = null; String target = null; String service = _currentMethodDeclaration.resolveBinding().getParameterTypes()[0].getBinaryName(); String bind = _currentMethodDeclaration.getName().getFullyQualifiedName(); for (Object object : normalAnnotation.values()) { // MemberValuePair pair = (MemberValuePair) object; String valueName = pair.getName().toString(); if ("name".equals(valueName)) { name = pair.resolveMemberValuePairBinding().getValue().toString(); } // else if ("cardinality".equals(valueName)) { IVariableBinding variableBinding = (IVariableBinding) pair.resolveMemberValuePairBinding() .getValue(); cardinality = variableBinding.getName().toLowerCase(); } // else if ("policy".equals(valueName)) { policy = ((IVariableBinding) pair.resolveMemberValuePairBinding().getValue()).getName(); } // else if ("service".equals(valueName)) { service = ((ITypeBinding) pair.resolveMemberValuePairBinding().getValue()).getBinaryName(); } // else if ("unbind".equals(valueName)) { unbind = pair.resolveMemberValuePairBinding().getValue().toString(); } // else if ("target".equals(valueName)) { target = pair.resolveMemberValuePairBinding().getValue().toString(); } } // getCurrentComponentDescription().addReference(service, bind, name, cardinality, policy, unbind, target); }
From source file:com.wuetherich.osgi.ds.annotations.internal.builder.DsAnnotationAstVisitor.java
License:Open Source License
/** * <p>//from www . j a v a2s . com * </p> * * @param normalAnnotation */ private void handleNormalComponentAnnotation(NormalAnnotation normalAnnotation) { for (Object object : normalAnnotation.values()) { // MemberValuePair pair = (MemberValuePair) object; String valueName = pair.getName().toString(); // if ("name".equals(valueName)) { getCurrentComponentDescription().setName((String) pair.resolveMemberValuePairBinding().getValue()); } // else if ("enabled".equals(valueName)) { getCurrentComponentDescription() .setEnabled((Boolean) pair.resolveMemberValuePairBinding().getValue()); } // else if ("immediate".equals(valueName)) { getCurrentComponentDescription() .setImmediate((Boolean) pair.resolveMemberValuePairBinding().getValue()); } // else if ("factory".equals(valueName)) { getCurrentComponentDescription() .setFactory((String) pair.resolveMemberValuePairBinding().getValue()); } // else if ("configurationPolicy".equals(valueName)) { IVariableBinding variableBinding = (IVariableBinding) pair.resolveMemberValuePairBinding() .getValue(); getCurrentComponentDescription().setConfigurationPolicy(variableBinding.getName().toLowerCase()); } // else if ("property".equals(valueName)) { for (Object keyValue : (Object[]) pair.resolveMemberValuePairBinding().getValue()) { getCurrentComponentDescription().addProperty((String) keyValue); } } // else if ("properties".equals(valueName)) { for (Object keyValue : (Object[]) pair.resolveMemberValuePairBinding().getValue()) { getCurrentComponentDescription().addProperties((String) keyValue); } } // else if ("service".equals(valueName)) { Object[] objects = (Object[]) pair.resolveMemberValuePairBinding().getValue(); List<String> services = new LinkedList<String>(); for (Object tb : objects) { ITypeBinding typeBinding = (ITypeBinding) tb; services.add(typeBinding.getBinaryName()); } getCurrentComponentDescription().setService(services.toArray(new String[0])); } // else if ("servicefactory".equals(valueName)) { getCurrentComponentDescription() .setServiceFactory((Boolean) pair.resolveMemberValuePairBinding().getValue()); } } }
From source file:org.mapstruct.eclipse.internal.MapStructCompletionProposalComputer.java
License:Apache License
/** * Creates an {@link ASTVisitor} that discovers all properties for a <code>Mapping</code>'s <code>source</code> and * <code>target</code> method for the given invocation offset. *///from ww w .j a va2s .c o m private ASTVisitor createVisitor(final int invocationOffset, final AtomicBoolean isValidValue, final AtomicBoolean isSource, final Set<String> sourceProperties, final Set<String> targetProperties) { return new ASTVisitor(false) { @Override public boolean visit(MemberValuePair node) { String annotationQualifiedName = getAnnotationQualifiedName(node.resolveMemberValuePairBinding()); if (MAPPING_ANNOTATION_QUALIFIED_NAME.equals(annotationQualifiedName) && isInRange(invocationOffset, node.getValue().getStartPosition(), node.getValue().getLength()) && isMappingAnnotationMethod(node)) { isValidValue.set(true); if (SOURCE_ANNOTATION_METHOD.equals(node.getName().toString())) { isSource.set(true); } } return false; } @Override public boolean visit(MethodDeclaration node) { if (isInRange(invocationOffset, node.getStartPosition(), node.getLength())) { IMethodBinding binding = node.resolveBinding(); ITypeBinding returnType = binding.getReturnType(); targetProperties.addAll(findProperties(returnType.getDeclaredMethods(), SET_PREFIX)); ITypeBinding[] parameterTypes = binding.getParameterTypes(); if (parameterTypes.length == 1) { IMethodBinding[] declaredMethods = parameterTypes[0].getDeclaredMethods(); sourceProperties.addAll(findProperties(declaredMethods, GET_PREFIX)); sourceProperties.addAll(findProperties(declaredMethods, IS_PREFIX)); } return true; } return false; } }; }