Created
July 12, 2011 14:10
-
-
Save jonasabreu/1078060 to your computer and use it in GitHub Desktop.
Wrapping Request
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class MeuRequest { | |
final HSR req; | |
public MeuRequest(HSR request){ | |
this.req = request; | |
} | |
public String referrer(){ | |
//Código nojento e bizarro | |
} | |
} | |
MeuRequest meuReq = new MeuRequest(httpServletRequest); | |
String referrer = meuReq.referrer(); // Internamente ele mexe com o HSR bizarro e encontra o referrer. dessa | |
//forma isolando o meu código da nojeira da api | |
/*Se você estiver usando a servlet API e precisar propagar a request, você tem duas opções. Propagar a | |
original e quando precisar novamente criar o wrapper novamente ou estender HSRWrapper e acrescentar os | |
métodos específicos do que você precisa. | |
*/ | |
class MeuRequest extends HSRWrapper{ | |
//Quase nada muda, apenas a interface do seu objeto fica bem nojenta e você facilita que a preguiça faça | |
//com que você viole o encapsulamento e use a API nojenta. No fim é um simples Adapter. | |
final HSR req; | |
public MeuRequest(HSR request){ | |
super(request); | |
this.req = request; | |
} | |
public String referrer(){ | |
//Código nojento e bizarro | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment