|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object pt.digitalis.dif.codegen.util.ClassEnhancerImpl
public class ClassEnhancerImpl
Constructor Summary | |
---|---|
ClassEnhancerImpl(IRegistrationManager registrationManager,
IParameterManager parameterManager,
IIdentityManager identityManager,
IAuthorizationManager authorizationManager)
Constructor. |
Method Summary | |
---|---|
pt.digitalis.utils.bytecode.holders.ClassHolder |
enhance(pt.digitalis.utils.bytecode.holders.ClassHolder clazz)
Reads and iterates over the class annotations, processing them according to their target scope. |
void |
processAnnotation(ClassEnhancementContext classEnhancementContext,
pt.digitalis.utils.bytecode.holders.AnnotationHolder annotation,
DEMAnnotationLogic annotationLogic)
Processes a given type-targeted annotation, enhancing the class with bytecode generated accordingly to the annotation. |
void |
processAnnotation(ClassEnhancementContext classEnhancementContext,
pt.digitalis.utils.bytecode.holders.AttributeHolder attribute,
pt.digitalis.utils.bytecode.holders.AnnotationHolder annotation,
DEMAnnotationLogic annotationLogic)
Processes a given field-targeted annotation, enhancing the class with bytecode generated accordingly to the annotation. |
void |
processAnnotation(ClassEnhancementContext classEnhancementContext,
pt.digitalis.utils.bytecode.holders.MethodHolder method,
pt.digitalis.utils.bytecode.holders.AnnotationHolder annotation,
DEMAnnotationLogic annotationLogic)
Processes a given method-targeted annotation, enhancing the class with bytecode generated accordingly to the annotation. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public ClassEnhancerImpl(IRegistrationManager registrationManager, IParameterManager parameterManager, IIdentityManager identityManager, IAuthorizationManager authorizationManager) throws pt.digitalis.utils.bytecode.exceptions.CodeGenerationException
registrationManager
- the registration manager instanceparameterManager
- the parameter manager instanceidentityManager
- the identity manager instanceauthorizationManager
- the authorization manager instance
pt.digitalis.utils.bytecode.exceptions.CodeGenerationException
- if the needed resources for class enhancement could not be properly initializedMethod Detail |
---|
public pt.digitalis.utils.bytecode.holders.ClassHolder enhance(pt.digitalis.utils.bytecode.holders.ClassHolder clazz) throws pt.digitalis.utils.inspection.exception.ResourceNotFoundException, pt.digitalis.utils.bytecode.exceptions.CodeGenerationException, DIFCodeGenerationException
enhance
in interface IClassEnhancer
clazz
- the class to enhance.
pt.digitalis.utils.inspection.exception.ResourceNotFoundException
- if the class could not be loaded
pt.digitalis.utils.bytecode.exceptions.CodeGenerationException
- if class could not be enhanced
AnnotationMisuseException
- if an inappropriate annotation use was made
DIFCodeGenerationException
IClassEnhancer.enhance(ClassHolder)
public void processAnnotation(ClassEnhancementContext classEnhancementContext, pt.digitalis.utils.bytecode.holders.AnnotationHolder annotation, DEMAnnotationLogic annotationLogic) throws pt.digitalis.utils.inspection.exception.ResourceNotFoundException, pt.digitalis.utils.bytecode.exceptions.CodeGenerationException, DIFCodeGenerationException
IClassEnhancer
processAnnotation
in interface IClassEnhancer
classEnhancementContext
- the class enhancement contextannotation
- the annotation used to choose the appropriate code enhancementannotationLogic
- the annotationLogic class implementation
pt.digitalis.utils.inspection.exception.ResourceNotFoundException
- if any need resource can't be found or loaded
pt.digitalis.utils.bytecode.exceptions.CodeGenerationException
- if source code can not be compiled or appended to class
DIFCodeGenerationException
IClassEnhancer.processAnnotation(pt.digitalis.dif.codegen.util.ClassEnhancementContext,
pt.digitalis.utils.bytecode.holders.AnnotationHolder, pt.digitalis.dif.dem.DEMAnnotationLogic)
public void processAnnotation(ClassEnhancementContext classEnhancementContext, pt.digitalis.utils.bytecode.holders.AttributeHolder attribute, pt.digitalis.utils.bytecode.holders.AnnotationHolder annotation, DEMAnnotationLogic annotationLogic) throws pt.digitalis.utils.inspection.exception.ResourceNotFoundException, pt.digitalis.utils.bytecode.exceptions.CodeGenerationException, DIFCodeGenerationException
IClassEnhancer
processAnnotation
in interface IClassEnhancer
classEnhancementContext
- the class enhancement contextattribute
- annotated attributeannotation
- the annotation used to choose the appropriate code enhancementannotationLogic
- the annotationLogic class implementation
pt.digitalis.utils.inspection.exception.ResourceNotFoundException
- if any need resource can't be found or loaded
pt.digitalis.utils.bytecode.exceptions.CodeGenerationException
- if source code can not be compiled or appended to class
DIFCodeGenerationException
IClassEnhancer.processAnnotation(pt.digitalis.dif.codegen.util.ClassEnhancementContext,
pt.digitalis.utils.bytecode.holders.AttributeHolder, pt.digitalis.utils.bytecode.holders.AnnotationHolder,
pt.digitalis.dif.dem.DEMAnnotationLogic)
public void processAnnotation(ClassEnhancementContext classEnhancementContext, pt.digitalis.utils.bytecode.holders.MethodHolder method, pt.digitalis.utils.bytecode.holders.AnnotationHolder annotation, DEMAnnotationLogic annotationLogic) throws pt.digitalis.utils.inspection.exception.ResourceNotFoundException, pt.digitalis.utils.bytecode.exceptions.CodeGenerationException, DIFCodeGenerationException
IClassEnhancer
processAnnotation
in interface IClassEnhancer
classEnhancementContext
- the class enhancement contextmethod
- annotated methodannotation
- the annotation used to choose the appropriate code enhancementannotationLogic
- the annotationLogic class implementation
pt.digitalis.utils.inspection.exception.ResourceNotFoundException
- if any need resource can't be found or loaded
pt.digitalis.utils.bytecode.exceptions.CodeGenerationException
- if source code can not be compiled or appended to class
DIFCodeGenerationException
IClassEnhancer.processAnnotation(pt.digitalis.dif.codegen.util.ClassEnhancementContext,
pt.digitalis.utils.bytecode.holders.MethodHolder, pt.digitalis.utils.bytecode.holders.AnnotationHolder,
pt.digitalis.dif.dem.DEMAnnotationLogic)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |