01: /*
02: (c) Copyright 2005, 2006, 2007, 2008 Hewlett-Packard Development Company, LP
03: All rights reserved - see end of file.
04: $Id: Content.java,v 1.7 2008/01/03 15:19:07 chris-dollin Exp $
05: */
06:
07: package com.hp.hpl.jena.assembler;
08:
09: import java.util.*;
10:
11: import com.hp.hpl.jena.rdf.model.Model;
12:
13: /**
14: A Content object records content to be used to fill models. This Content
15: class contains other Content objects.
16: @author kers
17: */
18: public class Content {
19: /**
20: An empty Content object for your convenience.
21: */
22: public static final Content empty = new Content();
23:
24: /**
25: The list of component Content objects.
26: */
27: protected final List contents;
28:
29: /**
30: Initialise a content object that includes the contents of each (Content) item
31: in the list <code>contents</code>.
32: */
33: public Content(List contents) {
34: this .contents = contents;
35: }
36:
37: /**
38: Initialise an empty Content object.
39: */
40: public Content() {
41: this (new ArrayList());
42: }
43:
44: /**
45: Answer the model <code>m</code> after filling it with the contents
46: described by this object.
47: */
48: public Model fill(Model m) {
49: for (int i = 0; i < contents.size(); i += 1)
50: ((Content) contents.get(i)).fill(m);
51: return m;
52: }
53:
54: public boolean isEmpty() {
55: for (int i = 0; i < contents.size(); i += 1)
56: if (!((Content) contents.get(i)).isEmpty())
57: return false;
58: return true;
59: }
60: }
61:
62: /*
63: * (c) Copyright 2005, 2006, 2007, 2008 Hewlett-Packard Development Company, LP
64: * All rights reserved.
65: *
66: * Redistribution and use in source and binary forms, with or without
67: * modification, are permitted provided that the following conditions
68: * are met:
69: * 1. Redistributions of source code must retain the above copyright
70: * notice, this list of conditions and the following disclaimer.
71: * 2. Redistributions in binary form must reproduce the above copyright
72: * notice, this list of conditions and the following disclaimer in the
73: * documentation and/or other materials provided with the distribution.
74: * 3. The name of the author may not be used to endorse or promote products
75: * derived from this software without specific prior written permission.
76: *
77: * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
78: * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
79: * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
80: * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
81: * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
82: * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
83: * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
84: * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
85: * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
86: * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
87: */
|