Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

Source code: com/virtuosotechnologies/asaph/standardmodel/StdTextString.java


1   /*
2   ================================================================================
3   
4     FILE:  StdTextString.java
5     
6     PROJECT:
7     
8       Asaph
9     
10    CONTENTS:
11    
12      Standard implementation of TextString
13    
14    PROGRAMMERS:
15    
16      Daniel Azuma (DA)  <dazuma@kagi.com>
17    
18    COPYRIGHT:
19    
20      Copyright (C) 2003  Daniel Azuma  (dazuma@kagi.com)
21      
22      This program is free software; you can redistribute it and/or
23      modify it under the terms of the GNU General Public License as
24      published by the Free Software Foundation; either version 2
25      of the License, or (at your option) any later version.
26      
27      This program is distributed in the hope that it will be useful,
28      but WITHOUT ANY WARRANTY; without even the implied warranty of
29      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
30      GNU General Public License for more details.
31      
32      You should have received a copy of the GNU General Public
33      License along with this program; if not, write to
34        Free Software Foundation, Inc.
35        59 Temple Place, Suite 330
36        Boston, MA 02111-1307 USA
37  
38  ================================================================================
39  */
40  
41  
42  package com.virtuosotechnologies.asaph.standardmodel;
43  
44  
45  import java.io.IOException;
46  import org.xml.sax.SAXException;
47  import org.xml.sax.ErrorHandler;
48  import org.xml.sax.Locator;
49  
50  import com.virtuosotechnologies.lib.xml.XMLUnparser;
51  
52  import com.virtuosotechnologies.asaph.model.TextString;
53  
54  
55  /**
56   * Standard implementation of TextString
57   */
58  /*package*/ class StdTextString
59  extends BaseStringSongLineMember
60  implements
61    TextString
62  {
63    /*package*/ StdTextString(
64      StdSongLine line,
65      String value)
66    {
67      super(line, value);
68    }
69    
70    
71    /*package*/ void unparse(
72      XMLUnparser unparser)
73    throws
74      IOException
75    {
76      String str = getString();
77      if (str.length() == 0)
78      {
79        unparser.startSingleLineElement(XMLConstants.TEXT_ELEMENT);
80        unparser.endElement(XMLConstants.TEXT_ELEMENT);
81      }
82      else
83      {
84        unparser.addString(str);
85      }
86    }
87    
88    
89    /*package*/ class ParseHandler
90    extends ParseHandlerBase
91    {
92      /*package*/ ParseHandler(
93        ErrorHandler errorHandler,
94        Locator locator)
95      {
96        super(errorHandler, locator, XMLConstants.TEXT_ELEMENT);
97      }
98      
99      /*package*/ void localCharacters(
100       char[] chs,
101       int start,
102       int length)
103     throws
104       SAXException
105     {
106       setString(getString()+new String(chs, start, length), null);
107     }
108   }
109 }