KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > hp > hpl > jena > n3 > N3JenaWriterTriples


1 /*
2  * (c) Copyright 2001, 2002, 2003, 2004, 2005 Hewlett-Packard Development Company, LP
3  * [See end of file]
4  */

5
6 package com.hp.hpl.jena.n3;
7
8 //import org.apache.commons.logging.*;
9
import com.hp.hpl.jena.rdf.model.*;
10
11 /** A simple N3 writer - writes N3 out as triples with prefixes done.
12  * "N3 triples" - triples with N3 abbreviations and prefixes.
13  * Very simple.
14  *
15  * @author Andy Seaborne
16  * @version $Id: N3JenaWriterTriples.java,v 1.6 2005/02/21 12:04:06 andy_seaborne Exp $
17  */

18
19 public class N3JenaWriterTriples extends N3JenaWriterCommon
20 {
21     static public final int colWidth = 8 ;
22     
23     protected void writeModel(Model model)
24     {
25         alwaysAllocateBNodeLabel = true ;
26         StmtIterator sIter = model.listStatements() ;
27         for ( ; sIter.hasNext() ; )
28         {
29             Statement stmt = sIter.nextStatement() ;
30             String JavaDoc subjStr = formatResource(stmt.getSubject()) ;
31             
32             out.print(subjStr) ;
33             padCol(subjStr) ;
34             out.print(minGapStr) ;
35             
36             
37             String JavaDoc predStr = formatProperty(stmt.getPredicate()) ;
38             out.print(predStr) ;
39             padCol(predStr) ;
40             out.print(minGapStr) ;
41             
42             out.print( formatNode(stmt.getObject()) ) ;
43             out.println(" .") ;
44         }
45         sIter.close() ;
46     }
47     
48     private void padCol(String JavaDoc tmp)
49     {
50         if ( tmp.length() < (colWidth) )
51             out.print(pad( colWidth - tmp.length())) ;
52     }
53 }
54
55 /*
56  * (c) Copyright 2001, 2002, 2003, 2004, 2005 Hewlett-Packard Development Company, LP
57  * All rights reserved.
58  *
59  * Redistribution and use in source and binary forms, with or without
60  * modification, are permitted provided that the following conditions
61  * are met:
62  * 1. Redistributions of source code must retain the above copyright
63  * notice, this list of conditions and the following disclaimer.
64  * 2. Redistributions in binary form must reproduce the above copyright
65  * notice, this list of conditions and the following disclaimer in the
66  * documentation and/or other materials provided with the distribution.
67  * 3. The name of the author may not be used to endorse or promote products
68  * derived from this software without specific prior written permission.
69  *
70  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
71  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
72  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
73  * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
74  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
75  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
76  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
77  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
78  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
79  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
80  */

81
Popular Tags