Package io.siddhi.annotation.processor
Class AbstractAnnotationProcessor
- java.lang.Object
-
- io.siddhi.annotation.processor.AbstractAnnotationProcessor
-
- Direct Known Subclasses:
AggregationAttributeValidationAnnotationProcessor,DistributionStrategyValidationAnnotationProcessor,FunctionExecutorValidationAnnotationProcessor,IncrementalAggregationAttributeValidationAnnotationProcessor,ScriptValidationAnnotationProcessor,SinkMapperValidationAnnotationProcessor,SinkValidationAnnotationProcessor,SourceMapperValidationAnnotationProcessor,SourceValidationAnnotationProcessor,StoreValidationAnnotationProcessor,StreamFunctionProcessorValidationAnnotationProcessor,StreamProcessorValidationAnnotationProcessor,WindowProcessorValidationAnnotationProcessor
public class AbstractAnnotationProcessor extends Object
Parent class for extension annotation validation processors. CORE_PACKAGE_PATTERN: regex pattern for check the core package name while validation. PARAMETER_NAME_PATTERN: regex pattern for check the @Extension / @Parameters / name format validation. extensionClassFullName: holds the extension class full name. CAMEL_CASE_PATTERN: regex pattern for check the camelCase naming convention.
-
-
Field Summary
Fields Modifier and Type Field Description protected static PatternCAMEL_CASE_PATTERNprotected static PatternCORE_PACKAGE_PATTERNprotected StringextensionClassFullNameprotected static PatternPARAMETER_NAME_PATTERNprotected static StringREPETITIVE_PARAMETER_NOTATION
-
Constructor Summary
Constructors Constructor Description AbstractAnnotationProcessor(String extensionClassFullName)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidbasicParameterValidation(String name, String description, String namespace)Basic @Extension annotation elements validation.voidexamplesValidation(Example[] examples)This method uses for validate @Extension / @Example elements.voidparameterOverloadValidation(ParameterOverload[] parameterOverloads, Parameter[] parameters)This method uses for validate @Extension / @ParameterOverload element.voidparameterValidation(Parameter[] parameters)This method uses for validate @Extension / @Parameter element.voidreturnAttributesValidation(ReturnAttribute[] returnAttributes)This method uses for validate @Extension / @ReturnAttribute elements.voidsystemParametersValidation(SystemParameter[] systemParameters)This method uses for validate @Extension / @SystemParameter elements.
-
-
-
Field Detail
-
CORE_PACKAGE_PATTERN
protected static final Pattern CORE_PACKAGE_PATTERN
-
PARAMETER_NAME_PATTERN
protected static final Pattern PARAMETER_NAME_PATTERN
-
REPETITIVE_PARAMETER_NOTATION
protected static final String REPETITIVE_PARAMETER_NOTATION
- See Also:
- Constant Field Values
-
CAMEL_CASE_PATTERN
protected static final Pattern CAMEL_CASE_PATTERN
-
extensionClassFullName
protected String extensionClassFullName
-
-
Constructor Detail
-
AbstractAnnotationProcessor
public AbstractAnnotationProcessor(String extensionClassFullName)
-
-
Method Detail
-
basicParameterValidation
public void basicParameterValidation(String name, String description, String namespace) throws AnnotationValidationException
Basic @Extension annotation elements validation.- Parameters:
name- name of the @Extension which needs to be validate.description- description of the @Extension which needs to be validate.namespace- namespace of the @Extension which needs to be validate.- Throws:
AnnotationValidationException- whenever if the validate rule violate, throws the annotation validate exception with proper message.
-
parameterValidation
public void parameterValidation(Parameter[] parameters) throws AnnotationValidationException
This method uses for validate @Extension / @Parameter element.- Parameters:
parameters- parameter array which needs to be validate.- Throws:
AnnotationValidationException- whenever if the validate rule violate, throws the annotation validate exception with proper message.
-
parameterOverloadValidation
public void parameterOverloadValidation(ParameterOverload[] parameterOverloads, Parameter[] parameters) throws AnnotationValidationException
This method uses for validate @Extension / @ParameterOverload element.- Parameters:
parameterOverloads- parameter array which needs to be validate.parameters- the set of supported parameters- Throws:
AnnotationValidationException- whenever if the validate rule violate, throws the annotation validate exception with proper message.
-
returnAttributesValidation
public void returnAttributesValidation(ReturnAttribute[] returnAttributes) throws AnnotationValidationException
This method uses for validate @Extension / @ReturnAttribute elements.- Parameters:
returnAttributes- returnA attributes array which needs to be validate.- Throws:
AnnotationValidationException- whenever if the validate rule violate, throws the annotation validate exception with proper message.
-
systemParametersValidation
public void systemParametersValidation(SystemParameter[] systemParameters) throws AnnotationValidationException
This method uses for validate @Extension / @SystemParameter elements.- Parameters:
systemParameters- system property array which needs to be validate.- Throws:
AnnotationValidationException- whenever if the validate rule violate, throws the annotation validate exception with proper message.
-
examplesValidation
public void examplesValidation(Example[] examples) throws AnnotationValidationException
This method uses for validate @Extension / @Example elements.- Parameters:
examples- examples array which needs to be validate.- Throws:
AnnotationValidationException- whenever if the validate rule violate, throws the annotation validate exception with proper message.
-
-