Registering a security provider component

The complete source of structure_security.ek9, compiled by the EK9 compiler. Shown on structure.html.

#!ek9
defines module site.structure.security

  defines component

    SecurityProvider as abstract
      providerName() as abstract
        <- rtn as String?

    SimpleDevelopedSecurityProvider extends SecurityProvider
      override providerName()
        <- rtn as String: "Simple developed security provider"

  defines application

    SecuredApplication
      register SimpleDevelopedSecurityProvider() as SecurityProvider

  defines program

    Secured() with application of SecuredApplication
      stdout <- Stdout()
      provider as SecurityProvider!
      stdout.println(provider.providerName())

Download structure_security.ek9

Output

Simple developed security provider