package com.github.code4craft.helloworld.structural.decorator; import com.github.code4craft.helloworld.HelloWorld; import org.apache.commons.lang3.StringUtils; /** * @author yihua.huang@dianping.com */ public class HelloWorldDecorator implements HelloWorld { private HelloWorld helloWorld; public HelloWorldDecorator(HelloWorld helloWorld) { this.helloWorld = helloWorld; } @Override public String helloWorld() { return helloWorld.helloWorld(); } public String helloDecorator(){ return StringUtils.substringBefore(helloWorld.helloWorld()," ")+" Decorator!"; } public static class DefaultHelloWorld implements HelloWorld { @Override public String helloWorld() { return "Hello World!"; } } }