Skip to content

Instantly share code, notes, and snippets.

@jonasabreu
Created July 12, 2011 14:10
Show Gist options
  • Save jonasabreu/1078060 to your computer and use it in GitHub Desktop.
Save jonasabreu/1078060 to your computer and use it in GitHub Desktop.
Wrapping Request
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