@Override
    public void basicParameterValidation(String name, String description, String namespace) throws
            AnnotationValidationException {
        //Check if the @Extension name is empty.
        if (name.isEmpty()) {
            throw new AnnotationValidationException(MessageFormat.format("The @Extension -> name " +
                    " annotated in class {0} is null or empty.", extensionClassFullName));
        }
        //Check if the @Extension description is empty.
        if (description.isEmpty()) {
            throw new AnnotationValidationException(MessageFormat.format("The @Extension -> description " +
                    "annotated in class {0} is null or empty.", extensionClassFullName));
        }
        //Check if the @Extension namespace is empty.
        if (namespace.isEmpty()) {
            //The namespace cannot be null or empty as @Extension extends from namespace reserved super class.
            throw new AnnotationValidationException(MessageFormat.format("The @Extension -> namespace cannot " +
                            "be null or empty, annotated class {1}  extends from namespace reserved super class {2}.",
                    name, extensionClassFullName, AnnotationConstants.SOURCE_SUPER_CLASS));
        } else {
            //Check if namespace provided matches with the reserved namespace.
            if (!namespace.equals(AnnotationConstants.SOURCE_NAMESPACE)) {
                throw new AnnotationValidationException(MessageFormat.format("The @Extension -> namespace " +
                                "provided {0} should be corrected as {1} annotated in class {2}.", namespace,
                        AnnotationConstants.SOURCE_NAMESPACE, extensionClassFullName));
            }
        }
    }
This processor will extend the validation rules for validate Source specific annotation contents.
modules/siddhi-annotations/src/main/java/io/siddhi/annotation/processor/SourceValidationAnnotationProcessor.java