View Javadoc

1   // Copyright (C) 2004 Philip Aston
2   // All rights reserved.
3   //
4   // This file is part of The Grinder software distribution. Refer to
5   // the file LICENSE which is part of The Grinder distribution for
6   // licensing details. The Grinder distribution is available on the
7   // Internet at http://grinder.sourceforge.net/
8   //
9   // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
10  // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
11  // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
12  // FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
13  // COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
14  // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
15  // (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
16  // SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
17  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
18  // STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
19  // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
20  // OF THE POSSIBILITY OF SUCH DAMAGE.
21  
22  package net.grinder.console.editor;
23  
24  
25  /**
26   * Simple {@link TextSource} for the unit tests.
27   *
28   * @author Philip Aston
29   */
30  public class StringTextSource extends AbstractTextSource {
31  
32    private String m_text;
33  
34    public StringTextSource() {
35      this(null);
36    }
37  
38    public StringTextSource(String text) {
39      m_text = text;
40    }
41  
42    public String getText() {
43      setClean();
44      return m_text;
45    }
46  
47    public void setText(String text) {
48      m_text = text;
49      setClean();
50    }
51  
52    void markDirty() {
53      setChanged();
54    }
55  
56    public static final class Factory implements TextSource.Factory {
57      private TextSource m_last;
58  
59      public TextSource create() {
60        m_last = new StringTextSource();
61        return m_last;
62      }
63  
64      public TextSource getLast() {
65        return m_last;
66      }
67    }
68  }
69