public class ExtensionService extends AbstractService implements IExtensionService
IExtensionPoints defined both by SymmetricDS
and others found in the ApplicationContext.
It also reads the sym_extension table for IExtensionPoints defined there.
SymmetricDS reads in any Spring XML file found in the classpath of the application that matches the following pattern: /META-INF/services/symmetric-*-ext.xml
| Modifier and Type | Field and Description |
|---|---|
protected ISymmetricEngine |
engine |
protected java.util.List<ExtensionPointMetaData> |
extensionMetaData |
protected java.util.Map<java.lang.Class,java.util.Map<java.lang.String,org.jumpmind.extension.IExtensionPoint>> |
extensionsByClassByName |
protected org.jumpmind.util.SimpleClassCompiler |
simpleClassCompiler |
protected java.util.Map<java.lang.Class,java.util.Map<java.lang.String,org.jumpmind.extension.IExtensionPoint>> |
staticExtensionsByClassByName |
parameterService, platform, sqlTemplate, sqlTemplateDirty, symmetricDialect, tablePrefix| Constructor and Description |
|---|
ExtensionService(ISymmetricEngine engine) |
| Modifier and Type | Method and Description |
|---|---|
void |
addExtensionPoint(org.jumpmind.extension.IExtensionPoint extension) |
void |
addExtensionPoint(java.lang.String name,
org.jumpmind.extension.IExtensionPoint extension) |
protected void |
addExtensionPointMetaData(org.jumpmind.extension.IExtensionPoint extensionPoint,
java.lang.String name,
java.lang.Class<? extends org.jumpmind.extension.IExtensionPoint> extensionClass,
boolean installed) |
void |
deleteExtension(java.lang.String extensionId) |
java.lang.Object |
getCompiledClass(java.lang.String javaCode) |
protected java.util.List<java.lang.Class> |
getExtensionClassList(org.jumpmind.extension.IExtensionPoint ext) |
<T extends org.jumpmind.extension.IExtensionPoint> |
getExtensionPoint(java.lang.Class<T> extensionClass) |
<T extends org.jumpmind.extension.IExtensionPoint> |
getExtensionPointList(java.lang.Class<T> extensionClass) |
<T extends org.jumpmind.extension.IExtensionPoint> |
getExtensionPointMap(java.lang.Class<T> extensionClass) |
java.util.List<ExtensionPointMetaData> |
getExtensionPointMetaData() |
java.util.List<Extension> |
getExtensions() |
protected java.util.Map<java.lang.String,org.jumpmind.extension.IExtensionPoint> |
getExtensionsByNameMap(java.lang.Class extensionClass) |
protected java.util.Map<java.lang.String,org.jumpmind.extension.IExtensionPoint> |
getExtensionsByNameMap(java.util.Map<java.lang.Class,java.util.Map<java.lang.String,org.jumpmind.extension.IExtensionPoint>> byClassByNameMap,
java.lang.Class extensionClass) |
protected java.util.Map<java.lang.String,org.jumpmind.extension.IExtensionPoint> |
getStaticExtensionsByNameMap(java.lang.Class extensionClass) |
protected boolean |
initializeExtension(org.jumpmind.extension.IExtensionPoint ext) |
void |
refresh() |
protected void |
registerExtension(Extension extension) |
protected boolean |
registerExtension(java.lang.String name,
org.jumpmind.extension.IExtensionPoint ext) |
protected boolean |
registerExtension(java.lang.String name,
org.jumpmind.extension.IExtensionPoint ext,
boolean shouldLog) |
void |
removeExtensionPoint(org.jumpmind.extension.IExtensionPoint extension) |
void |
saveExtension(Extension extension) |
protected void |
unRegisterExtension(java.lang.String name,
org.jumpmind.extension.IExtensionPoint ext) |
assertNotNull, buildBatchWhere, close, createSqlReplacementTokens, createSqlReplacementTokens, getJdbcTemplate, getParameterService, getSql, getSymmetricDialect, getTablePrefix, getTargetDialect, getTargetPlatform, getTargetPlatform, isCalledFromSymmetricAdminTool, isSet, isStreamClosedByClient, isSymmetricTable, logOnce, maxDate, readAcks, sendAck, setSqlMap, synchronize, toNodeIds, toNodeIdsprotected ISymmetricEngine engine
protected org.jumpmind.util.SimpleClassCompiler simpleClassCompiler
protected java.util.Map<java.lang.Class,java.util.Map<java.lang.String,org.jumpmind.extension.IExtensionPoint>> staticExtensionsByClassByName
protected java.util.Map<java.lang.Class,java.util.Map<java.lang.String,org.jumpmind.extension.IExtensionPoint>> extensionsByClassByName
protected java.util.List<ExtensionPointMetaData> extensionMetaData
public ExtensionService(ISymmetricEngine engine)
public void refresh()
refresh in interface IExtensionServiceprotected void registerExtension(Extension extension)
protected boolean registerExtension(java.lang.String name,
org.jumpmind.extension.IExtensionPoint ext)
protected boolean registerExtension(java.lang.String name,
org.jumpmind.extension.IExtensionPoint ext,
boolean shouldLog)
protected void unRegisterExtension(java.lang.String name,
org.jumpmind.extension.IExtensionPoint ext)
protected boolean initializeExtension(org.jumpmind.extension.IExtensionPoint ext)
protected java.util.List<java.lang.Class> getExtensionClassList(org.jumpmind.extension.IExtensionPoint ext)
public java.util.List<ExtensionPointMetaData> getExtensionPointMetaData()
getExtensionPointMetaData in interface IExtensionServiceprotected void addExtensionPointMetaData(org.jumpmind.extension.IExtensionPoint extensionPoint,
java.lang.String name,
java.lang.Class<? extends org.jumpmind.extension.IExtensionPoint> extensionClass,
boolean installed)
public <T extends org.jumpmind.extension.IExtensionPoint> T getExtensionPoint(java.lang.Class<T> extensionClass)
getExtensionPoint in interface IExtensionServicepublic <T extends org.jumpmind.extension.IExtensionPoint> java.util.List<T> getExtensionPointList(java.lang.Class<T> extensionClass)
getExtensionPointList in interface IExtensionServicepublic <T extends org.jumpmind.extension.IExtensionPoint> java.util.Map<java.lang.String,T> getExtensionPointMap(java.lang.Class<T> extensionClass)
getExtensionPointMap in interface IExtensionServicepublic void addExtensionPoint(org.jumpmind.extension.IExtensionPoint extension)
addExtensionPoint in interface IExtensionServicepublic void addExtensionPoint(java.lang.String name,
org.jumpmind.extension.IExtensionPoint extension)
addExtensionPoint in interface IExtensionServicepublic void removeExtensionPoint(org.jumpmind.extension.IExtensionPoint extension)
removeExtensionPoint in interface IExtensionServiceprotected java.util.Map<java.lang.String,org.jumpmind.extension.IExtensionPoint> getStaticExtensionsByNameMap(java.lang.Class extensionClass)
protected java.util.Map<java.lang.String,org.jumpmind.extension.IExtensionPoint> getExtensionsByNameMap(java.lang.Class extensionClass)
protected java.util.Map<java.lang.String,org.jumpmind.extension.IExtensionPoint> getExtensionsByNameMap(java.util.Map<java.lang.Class,java.util.Map<java.lang.String,org.jumpmind.extension.IExtensionPoint>> byClassByNameMap,
java.lang.Class extensionClass)
public java.util.List<Extension> getExtensions()
getExtensions in interface IExtensionServicepublic void saveExtension(Extension extension)
saveExtension in interface IExtensionServicepublic void deleteExtension(java.lang.String extensionId)
deleteExtension in interface IExtensionServicepublic java.lang.Object getCompiledClass(java.lang.String javaCode)
throws java.lang.Exception
getCompiledClass in interface IExtensionServicejava.lang.Exception