01: /*
02: (c) Copyright 2005, 2006, 2007, 2008 Hewlett-Packard Development Company, LP
03: All rights reserved - see end of file.
04: $Id: PrefixMappingAssembler.java,v 1.8 2008/01/02 12:09:36 andy_seaborne Exp $
05: */
06:
07: package com.hp.hpl.jena.assembler.assemblers;
08:
09: import com.hp.hpl.jena.assembler.*;
10: import com.hp.hpl.jena.rdf.model.*;
11: import com.hp.hpl.jena.shared.PrefixMapping;
12:
13: public class PrefixMappingAssembler extends AssemblerBase implements
14: Assembler {
15: public Object open(Assembler a, Resource root, Mode irrelevant) {
16: checkType(root, JA.PrefixMapping);
17: return getPrefixes(a, root, PrefixMapping.Factory.create());
18: }
19:
20: public static PrefixMapping getPrefixes(Assembler a, Resource root,
21: PrefixMapping result) {
22: setSimplePrefixes(root, result);
23: setIncludedPrefixes(a, root, result);
24: return result;
25: }
26:
27: private static void setIncludedPrefixes(Assembler a, Resource root,
28: PrefixMapping result) {
29: for (StmtIterator it = root.listProperties(JA.includes); it
30: .hasNext();) {
31: Statement s = it.nextStatement();
32: PrefixMapping sub = (PrefixMapping) a.open(getResource(s));
33: result.setNsPrefixes(sub);
34: }
35: }
36:
37: private static void setSimplePrefixes(Resource root,
38: PrefixMapping result) {
39: if (root.hasProperty(JA.prefix)) {
40: Literal prefix = getUniqueLiteral(root, JA.prefix);
41: Literal namespace = getUniqueLiteral(root, JA.namespace);
42: result.setNsPrefix(prefix.getLexicalForm(), namespace
43: .getLexicalForm());
44: }
45: }
46: }
47:
48: /*
49: * (c) Copyright 2005, 2006, 2007, 2008 Hewlett-Packard Development Company, LP
50: * All rights reserved.
51: *
52: * Redistribution and use in source and binary forms, with or without
53: * modification, are permitted provided that the following conditions
54: * are met:
55: * 1. Redistributions of source code must retain the above copyright
56: * notice, this list of conditions and the following disclaimer.
57: * 2. Redistributions in binary form must reproduce the above copyright
58: * notice, this list of conditions and the following disclaimer in the
59: * documentation and/or other materials provided with the distribution.
60: * 3. The name of the author may not be used to endorse or promote products
61: * derived from this software without specific prior written permission.
62: *
63: * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
64: * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
65: * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
66: * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
67: * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
68: * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
69: * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
70: * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
71: * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
72: * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
73: */
|