Class OptionalDirectCopyClassTransformer
java.lang.Object
org.broadleafcommerce.common.extensibility.jpa.copy.AbstractClassTransformer
org.broadleafcommerce.common.extensibility.jpa.copy.DirectCopyClassTransformer
org.broadleafcommerce.common.extensibility.jpa.copy.OptionalDirectCopyClassTransformer
- All Implemented Interfaces:
jakarta.persistence.spi.ClassTransformer,BroadleafClassTransformer,org.springframework.beans.factory.Aware,org.springframework.beans.factory.BeanFactoryAware,org.springframework.beans.factory.InitializingBean
public class OptionalDirectCopyClassTransformer
extends DirectCopyClassTransformer
implements org.springframework.beans.factory.BeanFactoryAware
Based on a Spring property value resolving to a boolean, this ClassTransformer will optionally perform
bytecode transformations.
- Author:
- Jeff Fischer
-
Nested Class Summary
Nested classes/interfaces inherited from class org.broadleafcommerce.common.extensibility.jpa.copy.DirectCopyClassTransformer
DirectCopyClassTransformer.XFormParams -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected org.springframework.beans.factory.config.ConfigurableBeanFactoryprotected StringFields inherited from class org.broadleafcommerce.common.extensibility.jpa.copy.DirectCopyClassTransformer
annotationTransformedClasses, conditionalDirectCopyTransformersManager, ignorePatterns, moduleName, renameMethodOverlaps, renameMethodPrefix, skipOverlaps, templateTokens, transformedMethods, xformTemplatesFields inherited from class org.broadleafcommerce.common.extensibility.jpa.copy.AbstractClassTransformer
alreadyLoadedClasses, preLoadClassNamePatterns -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidsetBeanFactory(org.springframework.beans.factory.BeanFactory beanFactory) voidsetPropertyName(String propertyName) byte[]transform(ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) Will return null if the Spring property value defined inpropertyNameresolves to false, or if an exception occurs while trying to determine the value for the property.Methods inherited from class org.broadleafcommerce.common.extensibility.jpa.copy.DirectCopyClassTransformer
addXformTemplate, buildClassCacheAnnotation, buildClassLevelAnnotations, buildEntityListenerAnnotations, cloneIndexAnnotation, cloneUniqueAnnotation, combineXFormParams, compileJPAProperties, getEntityListeners, getIgnorePatterns, getImplementationType, getIndexes, getNewCacheAnnotation, getRenameMethodOverlaps, getRenameMethodPrefix, getSkipOverlaps, getTemplateTokens, getXformTemplates, methodDescription, reviewConditionalDirectCopyTransforms, reviewDirectCopyTransformAnnotations, reviewTemplateTokens, setIgnorePatterns, setRenameMethodOverlaps, setRenameMethodPrefix, setSkipOverlaps, setTemplateTokens, setXformTemplates, transformIndexAnnotationsMethods inherited from class org.broadleafcommerce.common.extensibility.jpa.copy.AbstractClassTransformer
afterPropertiesSet, setPreLoadClassNamePatterns
-
Field Details
-
propertyName
-
beanFactory
protected org.springframework.beans.factory.config.ConfigurableBeanFactory beanFactory
-
-
Constructor Details
-
OptionalDirectCopyClassTransformer
-
-
Method Details
-
setBeanFactory
public void setBeanFactory(org.springframework.beans.factory.BeanFactory beanFactory) throws org.springframework.beans.BeansException - Specified by:
setBeanFactoryin interfaceorg.springframework.beans.factory.BeanFactoryAware- Throws:
org.springframework.beans.BeansException
-
transform
public byte[] transform(ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws IllegalClassFormatException Will return null if the Spring property value defined inpropertyNameresolves to false, or if an exception occurs while trying to determine the value for the property.- Specified by:
transformin interfacejakarta.persistence.spi.ClassTransformer- Overrides:
transformin classDirectCopyClassTransformer- Parameters:
loader-className-classBeingRedefined-protectionDomain-classfileBuffer-- Returns:
- Throws:
IllegalClassFormatException
-
getPropertyName
-
setPropertyName
-