I made it non-final.

Eelco


On 9/13/05, Scott Sauyet <[EMAIL PROTECTED]> wrote:
> Is there a good reason to have FileResourceStream final?  I may be
> missing a better way to use it, but I feel I'm jumping through some
> serious hoops because I want to override one method of this class.  What
> I'd like to do is this:
> 
>      add(new ResourceLink("downloadLink", new Resource() {
>          public IResourceStream getResourceStream() {
>              return new FileResourceStream(
>                              new wicket.util.file.File(filename)) {
>                  public String getContentType() {
>                      if (filename.toLowerCase().endsWith(".doc")) {
>                          return "application/msword";
>                      }
>                      return super.getContentType();
>                  }
>              };
>          }
>      }));
> 
> But because FileResourceStream is final, I need to do something like
> this instead:
> 
>      add(new ResourceLink("downloadLink", new Resource() {
>          public IResourceStream getResourceStream() {
>              return new IResourceStream() {
>                  FileResourceStream frs = new FileResourceStream(
>                              new wicket.util.file.File(filename));
> 
>                  public String getContentType() {
>                      if (filename.toLowerCase().endsWith(".doc")) {
>                          return "application/msword";
>                      }
>                      return frs.getContentType();
>                  }
>                  public void close() throws IOException {
>                      frs.close();
>                  }
>                  public InputStream getInputStream()
>                              throws ResourceStreamNotFoundException {
>                      return frs.getInputStream();
>                  }
>                  public Locale getLocale() {
>                      return frs.getLocale();
>                  }
>                  public long length() {
>                      return frs.length();
>                  }
>                  public void setLocale(Locale locale) {
>                      frs.setLocale(locale);
>                  }
>                  public Time lastModifiedTime() {
>                      return frs.lastModifiedTime();
>                  }
>              };
>          }
>      }));
> 
> Of course I should probably move this to a separate class, but,
> regardless, if it weren't final, this would be easier.
> 
> Of course any suggestions for how to do this more easily would also be
> welcome!  :-)
> 
> Thanks,
> 
>    -- Scott Sauyet
> 
> P.S.  This class has the following Javadoc comment for its one (public)
> constructor: "Private constructor to force use of static factory
> methods."  I don't think there is any static factory for this.  There
> certainly isn't one in the class itself.
> 
> 
> 
> -------------------------------------------------------
> SF.Net email is sponsored by:
> Tame your development challenges with Apache's Geronimo App Server. Download
> it for free - -and be entered to win a 42" plasma tv or your very own
> Sony(tm)PSP.  Click here to play: http://sourceforge.net/geronimo.php
> _______________________________________________
> Wicket-user mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/wicket-user
>


-------------------------------------------------------
SF.Net email is sponsored by:
Tame your development challenges with Apache's Geronimo App Server. Download
it for free - -and be entered to win a 42" plasma tv or your very own
Sony(tm)PSP.  Click here to play: http://sourceforge.net/geronimo.php
_______________________________________________
Wicket-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wicket-user

Reply via email to