public class MultiTenantClassTransformer extends Object implements org.broadleafcommerce.common.extensibility.jpa.convert.BroadleafClassTransformer
| Modifier and Type | Field and Description |
|---|---|
protected org.broadleafcommerce.common.weave.ConditionalDirectCopyTransformersManager |
conditionalDirectCopyTransformersManager |
protected List<org.broadleafcommerce.common.filter.FilterDefinition> |
definitions |
protected List<org.broadleafcommerce.common.filter.Filter> |
filters |
protected List<org.broadleafcommerce.common.extensibility.jpa.copy.DirectCopyIgnorePattern> |
ignorePatterns |
protected boolean |
isAdmin |
protected org.broadleafcommerce.common.logging.SupportLogger |
logger |
protected String |
moduleName |
protected Map<String,String> |
multiTenantFilters |
protected Map<String,List<String>> |
templateTokens |
| Constructor and Description |
|---|
MultiTenantClassTransformer(String moduleName) |
| Modifier and Type | Method and Description |
|---|---|
protected String |
buildClassLevelAnnotations(List<org.broadleafcommerce.common.filter.FilterDefinition> myDefinitions,
List<org.broadleafcommerce.common.filter.Filter> myFilters,
javassist.bytecode.ClassFile classFile,
javassist.bytecode.ConstPool constantPool) |
protected boolean |
buildFieldLevelAnnotations(List<org.broadleafcommerce.common.filter.Filter> myFilters,
javassist.bytecode.ClassFile classFile,
String tableName,
javassist.bytecode.ConstPool constantPool,
boolean isSubClass,
javassist.bytecode.ClassFile parentClass) |
protected boolean |
checkFilterSetupStatus(String convertedClassName,
List<org.broadleafcommerce.common.extensibility.jpa.copy.DirectCopyIgnorePattern> matchedPatterns,
List<org.broadleafcommerce.common.filter.Filter> myFilters,
List<org.broadleafcommerce.common.filter.FilterDefinition> myDefinitions) |
void |
compileJPAProperties(Properties props,
Object key) |
protected javassist.bytecode.annotation.Annotation |
getAdminEntityPersister(javassist.bytecode.ConstPool constantPool,
String inheritanceStrategy) |
protected String[] |
getClassTableData(javassist.bytecode.ClassFile classFile) |
List<org.broadleafcommerce.common.filter.FilterDefinition> |
getDefinitions() |
protected javassist.bytecode.annotation.Annotation |
getEntityListeners(javassist.bytecode.ConstPool constantPool,
javassist.bytecode.annotation.Annotation existingEntityListeners) |
protected javassist.bytecode.annotation.Annotation |
getFilterDefs(List<org.broadleafcommerce.common.filter.FilterDefinition> myDefinitions,
javassist.bytecode.ConstPool constantPool,
javassist.bytecode.annotation.Annotation existingFilterDefs,
javassist.bytecode.annotation.Annotation existingFilterDef,
javassist.bytecode.ClassFile classFile) |
List<org.broadleafcommerce.common.filter.Filter> |
getFilters() |
protected List<javassist.bytecode.annotation.Annotation> |
getFilters(List<org.broadleafcommerce.common.filter.Filter> myFilters,
javassist.bytecode.ConstPool constantPool,
javassist.bytecode.annotation.Annotation existingFilters,
javassist.bytecode.annotation.Annotation existingFilter,
javassist.bytecode.ClassFile containingClassFile,
String parentTableName,
javassist.bytecode.ClassFile fieldClassFile,
boolean isSubClass,
javassist.bytecode.ClassFile parentClassFile) |
List<org.broadleafcommerce.common.extensibility.jpa.copy.DirectCopyIgnorePattern> |
getIgnorePatterns() |
protected Map<javassist.bytecode.FieldInfo,List<String>> |
getMultiTenantFields(javassist.bytecode.ClassFile classFile) |
Map<String,String> |
getMultiTenantFilters() |
protected javassist.bytecode.annotation.Annotation |
getTable(javassist.bytecode.ConstPool constantPool,
javassist.bytecode.annotation.Annotation existingTable,
List<org.broadleafcommerce.common.filter.Filter> myClassFilters,
String tableName) |
Map<String,List<String>> |
getTemplateTokens() |
boolean |
isAdmin() |
protected boolean |
isSandboxable(String val) |
protected void |
populateFiltersAndDefinitions(List<org.broadleafcommerce.common.extensibility.jpa.copy.DirectCopyIgnorePattern> matchedPatterns,
List<org.broadleafcommerce.common.filter.Filter> myFilters,
List<org.broadleafcommerce.common.filter.FilterDefinition> myDefinitions,
String val,
boolean isSandboxable) |
protected boolean |
reviewAnnotationSetup(javassist.bytecode.ClassFile classFile,
List<org.broadleafcommerce.common.extensibility.jpa.copy.DirectCopyIgnorePattern> matchedPatterns,
List<org.broadleafcommerce.common.filter.Filter> myFilters,
List<org.broadleafcommerce.common.filter.FilterDefinition> myDefinitions) |
void |
setAdmin(boolean isAdmin) |
void |
setDefinitions(List<org.broadleafcommerce.common.filter.FilterDefinition> definitions) |
void |
setFilters(List<org.broadleafcommerce.common.filter.Filter> filters) |
void |
setIgnorePatterns(List<org.broadleafcommerce.common.extensibility.jpa.copy.DirectCopyIgnorePattern> ignorePatterns) |
void |
setTemplateTokens(Map<String,List<String>> templateTokens) |
byte[] |
transform(ClassLoader loader,
String className,
Class<?> classBeingRedefined,
ProtectionDomain protectionDomain,
byte[] classfileBuffer) |
protected org.broadleafcommerce.common.logging.SupportLogger logger
protected String moduleName
protected List<org.broadleafcommerce.common.filter.FilterDefinition> definitions
protected List<org.broadleafcommerce.common.filter.Filter> filters
protected boolean isAdmin
protected List<org.broadleafcommerce.common.extensibility.jpa.copy.DirectCopyIgnorePattern> ignorePatterns
protected org.broadleafcommerce.common.weave.ConditionalDirectCopyTransformersManager conditionalDirectCopyTransformersManager
public MultiTenantClassTransformer(String moduleName)
public void compileJPAProperties(Properties props, Object key) throws Exception
compileJPAProperties in interface org.broadleafcommerce.common.extensibility.jpa.convert.BroadleafClassTransformerExceptionpublic byte[] transform(ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws IllegalClassFormatException
transform in interface javax.persistence.spi.ClassTransformerIllegalClassFormatExceptionprotected boolean reviewAnnotationSetup(javassist.bytecode.ClassFile classFile,
List<org.broadleafcommerce.common.extensibility.jpa.copy.DirectCopyIgnorePattern> matchedPatterns,
List<org.broadleafcommerce.common.filter.Filter> myFilters,
List<org.broadleafcommerce.common.filter.FilterDefinition> myDefinitions)
protected boolean checkFilterSetupStatus(String convertedClassName, List<org.broadleafcommerce.common.extensibility.jpa.copy.DirectCopyIgnorePattern> matchedPatterns, List<org.broadleafcommerce.common.filter.Filter> myFilters, List<org.broadleafcommerce.common.filter.FilterDefinition> myDefinitions)
protected boolean isSandboxable(String val)
protected void populateFiltersAndDefinitions(List<org.broadleafcommerce.common.extensibility.jpa.copy.DirectCopyIgnorePattern> matchedPatterns, List<org.broadleafcommerce.common.filter.Filter> myFilters, List<org.broadleafcommerce.common.filter.FilterDefinition> myDefinitions, String val, boolean isSandboxable)
protected String buildClassLevelAnnotations(List<org.broadleafcommerce.common.filter.FilterDefinition> myDefinitions, List<org.broadleafcommerce.common.filter.Filter> myFilters, javassist.bytecode.ClassFile classFile, javassist.bytecode.ConstPool constantPool) throws javassist.NotFoundException
javassist.NotFoundExceptionprotected javassist.bytecode.annotation.Annotation getAdminEntityPersister(javassist.bytecode.ConstPool constantPool,
String inheritanceStrategy)
protected javassist.bytecode.annotation.Annotation getTable(javassist.bytecode.ConstPool constantPool,
javassist.bytecode.annotation.Annotation existingTable,
List<org.broadleafcommerce.common.filter.Filter> myClassFilters,
String tableName)
protected javassist.bytecode.annotation.Annotation getEntityListeners(javassist.bytecode.ConstPool constantPool,
javassist.bytecode.annotation.Annotation existingEntityListeners)
protected boolean buildFieldLevelAnnotations(List<org.broadleafcommerce.common.filter.Filter> myFilters, javassist.bytecode.ClassFile classFile, String tableName, javassist.bytecode.ConstPool constantPool, boolean isSubClass, javassist.bytecode.ClassFile parentClass) throws javassist.NotFoundException
javassist.NotFoundExceptionprotected javassist.bytecode.annotation.Annotation getFilterDefs(List<org.broadleafcommerce.common.filter.FilterDefinition> myDefinitions, javassist.bytecode.ConstPool constantPool, javassist.bytecode.annotation.Annotation existingFilterDefs, javassist.bytecode.annotation.Annotation existingFilterDef, javassist.bytecode.ClassFile classFile) throws javassist.NotFoundException
javassist.NotFoundExceptionprotected List<javassist.bytecode.annotation.Annotation> getFilters(List<org.broadleafcommerce.common.filter.Filter> myFilters, javassist.bytecode.ConstPool constantPool, javassist.bytecode.annotation.Annotation existingFilters, javassist.bytecode.annotation.Annotation existingFilter, javassist.bytecode.ClassFile containingClassFile, String parentTableName, javassist.bytecode.ClassFile fieldClassFile, boolean isSubClass, javassist.bytecode.ClassFile parentClassFile) throws javassist.NotFoundException
javassist.NotFoundExceptionprotected String[] getClassTableData(javassist.bytecode.ClassFile classFile)
protected Map<javassist.bytecode.FieldInfo,List<String>> getMultiTenantFields(javassist.bytecode.ClassFile classFile)
public List<org.broadleafcommerce.common.filter.FilterDefinition> getDefinitions()
public void setDefinitions(List<org.broadleafcommerce.common.filter.FilterDefinition> definitions)
public List<org.broadleafcommerce.common.filter.Filter> getFilters()
public void setFilters(List<org.broadleafcommerce.common.filter.Filter> filters)
public List<org.broadleafcommerce.common.extensibility.jpa.copy.DirectCopyIgnorePattern> getIgnorePatterns()
public void setIgnorePatterns(List<org.broadleafcommerce.common.extensibility.jpa.copy.DirectCopyIgnorePattern> ignorePatterns)
public boolean isAdmin()
public void setAdmin(boolean isAdmin)
Copyright © 2020. All rights reserved.