View Javadoc

    1   //========================================================================
    2   //Copyright 2004-2008 Mort Bay Consulting Pty. Ltd.
    3   //------------------------------------------------------------------------
    4   //Licensed under the Apache License, Version 2.0 (the "License");
    5   //you may not use this file except in compliance with the License.
    6   //You may obtain a copy of the License at
    7   //http://www.apache.org/licenses/LICENSE-2.0
    8   //Unless required by applicable law or agreed to in writing, software
    9   //distributed under the License is distributed on an "AS IS" BASIS,
    10  //WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    11  //See the License for the specific language governing permissions and
    12  //limitations under the License.
    13  //========================================================================
    14
    15  package org.mortbay.io;
    16
    17  import java.text.DateFormatSymbols;
    18  import java.util.Locale;
    19
    20  import org.mortbay.util.DateCache;
    21
    22  public class BufferDateCache extends DateCache
    23  {
    24      Buffer _buffer;
    25      String _last;
    26
    27      public BufferDateCache()
    28      {
    29          super();
    30      }
    31
    32      public BufferDateCache(String format, DateFormatSymbols s)
    33      {
    34          super(format,s);
    35      }
    36
    37      public BufferDateCache(String format, Locale l)
    38      {
    39          super(format,l);
    40      }
    41
    42      public BufferDateCache(String format)
    43      {
    44          super(format);
    45      }
    46
    47      public synchronized Buffer formatBuffer(long date)
    48      {
    49          String d = super.format(date);
    50          if (d==_last)
    51              return _buffer;
    52          _last=d;
    53          _buffer=new ByteArrayBuffer(d);
    54
    55          return _buffer;
    56      }
    57  }