An elegant decorator with Scala

abstract class Check {

  

  def check() = “checked application Details”

 

}

 

trait CreditCheck extends Check {

   override def check() = “Checked credit ……” + super.check() 

}

 

 

trait EmploymentCheck extends Check {

   override def check() = “employment check ……” + super.check() 

}

 

 

trait CriminalRecordCheck extends Check {

   override def check() = “Criminal record check ……” + super.check() 

}

 

 

object CheckTest {

  

  def main(args: Array[String]) { 

    

    

    println (new Check() with CreditCheck with EmploymentCheck check)

    

    

    println (new Check() with CriminalRecordCheck with CreditCheck check)

  

 }

}

Advertisements
This entry was posted in Uncategorized and tagged . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s