Exemple #1
0
 /**
  * Creates a new WriterCache object.
  *
  * @param writer DOCUMENT ME!
  */
 public WriterCache(CompositeFactory factory, NodeWriter writer) {
   _factory = factory;
   _originalLineSeparator = writer.originalLineSeparator;
   nodeWriter = writer;
   TestNodeWriter tester = new TestNodeWriter(this, factory, nodeWriter);
   tester.originalLineSeparator = _originalLineSeparator;
   _writers.add(tester);
 }
Exemple #2
0
  /**
   * Returns a TestNodeWriter object. If the cache is not empty, an element from the cache will be
   * returned; otherwise a new object will be created.
   *
   * @return a TestNodeWriter object.
   */
  public TestNodeWriter get() {
    synchronized (this) {
      if (_writers.size() > 0) {
        return (TestNodeWriter) _writers.remove(0);
      }
    }

    TestNodeWriter tester = new TestNodeWriter(this, _factory, nodeWriter);
    tester.originalLineSeparator = _originalLineSeparator;

    return tester;
  }
Exemple #3
0
 /**
  * Releases the given writer and adds it to the cache.
  *
  * @param writer the writer object that should be cached.
  */
 public synchronized void release(TestNodeWriter writer) {
   writer.reset();
   _writers.add(writer);
 }