Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Code Block
languagejs
titleFramework Interface
collapsetrue
enum PolicyTemplateScope {
	General,Embedded, 
	// Customized: possible to support save certain ad-hoc policy as template
}
 
interface PolicyTemplate {	
	String getName(); // "SINGLE_SOURCE_THRESHOLD_ALERT"
	String getDescription(); // "An alert policy template consuming single stream source."
	String getFormPath(); // "/path/to/form"
 
     <Class extends PolicyTemplateConfig> getConfigType();
	 PolicyTemplateScope getScope();
     PolicyDefinition render(PolicyTemplateConfig);
}
 
abstract class PolicyTemplateConfig {
	internal: String
}
 
final class PolicyTemplateEntity {
	uuid: UUID,
	enabled: Boolean, // FALSE: save, TRUE: deploy
	config: PolicyTemplateConfig,
	template: "org.apache.eagle.policy.PolicyTemplate"
}

...