modules/annotation-processor/src/main/java/org/ballerinalang/natives/annotation/processor/BallerinaAnnotationProcessor.java
private void processNativeConnectors(Set<Element> balConnectorElements) {
        for (Element element : balConnectorElements) {
            BallerinaConnector balConnector = element.getAnnotation(BallerinaConnector.class);
            
            /*
             * For ballerina source modules without any native implementations, it is required to have a 
             * dummy native impl annotation with a dummy annotation. This is a limitation in the annotation
             * processor. Hence checking the dummy annotation here and ignore it.
             * TODO: find a better approach to ignore annotations
             */
            if (IGNORE.equalsIgnoreCase(balConnector.connectorName())) {
                continue;
            }
            
            String packageName = balConnector.packageName();
            String className = Utils.getClassName(element);
            ConnectorHolder connector = new ConnectorHolder(balConnector, className);
            connector.setAnnotations(getBallerinaAnnotations(element));
            getPackage(packageName).addConnector(balConnector.connectorName(), connector);
        }
    }
/**
     * Process all {@link BallerinaConnector} annotations and append constructs to the class builder.
     * 
     * @param balConnectorElements Elements annotated with {@link BallerinaConnector}
     */
Process all  BallerinaConnector annotations and append constructs to the class builder.


Process all BallerinaConnector annotations and append constructs to the class builder .
private void processNativeConnectors(Set<Element> balConnectorElements) {
        for (Element element : balConnectorElements) {
            BallerinaConnector balConnector = element.getAnnotation(BallerinaConnector.class);
            /*
             * For ballerina source modules without any native implementations, it is required to have a 
             * dummy native impl annotation with a dummy annotation. This is a limitation in the annotation
             * processor. Hence checking the dummy annotation here and ignore it.
             * TODO: find a better approach to ignore annotations
             */
            if (IGNORE.equalsIgnoreCase(balConnector.connectorName())) {
                continue;
            }
            String packageName = balConnector.packageName();
            String className = Utils.getClassName(element);
            ConnectorHolder connector = new ConnectorHolder(balConnector, className);
            connector.setAnnotations(getBallerinaAnnotations(element));
            getPackage(packageName).addConnector(balConnector.connectorName(), connector);
        }
    }
private void processNativeConnectors ( Set < Element > balConnectorElements ) { for ( Element element : balConnectorElements ) { BallerinaConnector balConnector = element . getAnnotation ( BallerinaConnector . class ) ; /*
             * For ballerina source modules without any native implementations, it is required to have a 
             * dummy native impl annotation with a dummy annotation. This is a limitation in the annotation
             * processor. Hence checking the dummy annotation here and ignore it.
             * TODO: find a better approach to ignore annotations
             */ if ( IGNORE . equalsIgnoreCase ( balConnector . connectorName ( ) ) ) { continue ; } String packageName = balConnector . packageName ( ) ; String className = Utils . getClassName ( element ) ; ConnectorHolder connector = new ConnectorHolder ( balConnector , className ) ; connector . setAnnotations ( getBallerinaAnnotations ( element ) ) ; getPackage ( packageName ) . addConnector ( balConnector . connectorName ( ) , connector ) ; } }
Process all {@link BallerinaConnector} annotations and append constructs to the class builder.
Process all { @link BallerinaConnector } annotations and append constructs to the class builder .