KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > jetspeed > om > cms > slide > SlideCatalog


1 /* ====================================================================
2  * The Apache Software License, Version 1.1
3  *
4  * Copyright (c) 2001 The Apache Software Foundation. All rights
5  * reserved.
6  *
7  * Redistribution and use in source and binary forms, with or without
8  * modification, are permitted provided that the following conditions
9  * are met:
10  *
11  * 1. Redistributions of source code must retain the above copyright
12  * notice, this list of conditions and the following disclaimer.
13  *
14  * 2. Redistributions in binary form must reproduce the above copyright
15  * notice, this list of conditions and the following disclaimer in
16  * the documentation and/or other materials provided with the
17  * distribution.
18  *
19  * 3. The end-user documentation included with the redistribution,
20  * if any, must include the following acknowledgment:
21  * "This product includes software developed by the
22  * Apache Software Foundation (http://www.apache.org/)."
23  * Alternately, this acknowledgment may appear in the software itself,
24  * if and wherever such third-party acknowledgments normally appear.
25  *
26  * 4. The names "Apache" and "Apache Software Foundation" and
27  * "Apache Jetspeed" must not be used to endorse or promote products
28  * derived from this software without prior written permission. For
29  * written permission, please contact apache@apache.org.
30  *
31  * 5. Products derived from this software may not be called "Apache",
32  * "Apache Jetspeed", nor may "Apache" appear in their name, without
33  * prior written permission of the Apache Software Foundation.
34  *
35  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
36  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
37  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
38  * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
39  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
40  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
41  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
42  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
43  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
44  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
45  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
46  * SUCH DAMAGE.
47  * ====================================================================
48  *
49  * This software consists of voluntary contributions made by many
50  * individuals on behalf of the Apache Software Foundation. For more
51  * information on the Apache Software Foundation, please see
52  * <http://www.apache.org/>.
53  */

54 package org.apache.jetspeed.om.cms.slide;
55
56 import java.util.Vector JavaDoc;
57 import java.util.TreeMap JavaDoc;
58 import java.util.Comparator JavaDoc;
59
60 import org.apache.jetspeed.om.cms.*;
61
62 /**
63  * <p> Wrapper class for a slide catalog resource (ObjectNode).<br>
64  * Used to access to the catalog attributes
65  *
66  * @author <a HREF="mailto:christophe.lombart@skynet.be">Christophe Lombart</a>
67  *
68  */

69 public class SlideCatalog extends SlideResource implements Catalog
70 {
71
72     protected String JavaDoc logicalName = "";
73     private String JavaDoc title = "";
74     private String JavaDoc parentUri ="";
75     public static String JavaDoc TYPE="Catalog";
76     private TreeMap JavaDoc items = new TreeMap JavaDoc(new ItemComparator());
77
78     /**
79     * Constructor
80     */

81     public SlideCatalog()
82     {
83         super();
84         descriptor.setProperty("resourcetype","<collection/>");
85     }
86
87     public void addResource(String JavaDoc itemKey, Resource resource)
88     {
89         items.put(itemKey, resource);
90     }
91
92     public Vector JavaDoc getItems()
93     {
94         return new Vector JavaDoc(items.values()); // return a vector of "Resource"
95
}
96
97     /**
98     * Use in the comparator class for the treemap
99     *
100     */

101     public String JavaDoc getKey()
102     {
103         return "1" + this.getTitle( ); // "1" because the catalog should
104
// before the contentItem reference
105
}
106
107     public void setLogicalName(String JavaDoc logicalName)
108     {
109         if (descriptor != null)
110         {
111             descriptor.setProperty("logicalName", logicalName);
112         }
113
114         this.logicalName = logicalName;
115     }
116
117     public String JavaDoc getLogicalName()
118     {
119         if (descriptor != null)
120         {
121             this.logicalName = (String JavaDoc) this.getProperty("logicalName");
122         }
123
124         return this.logicalName;
125     }
126
127     public void setTitle(String JavaDoc title)
128     {
129         if (descriptor != null)
130         {
131             descriptor.setProperty("title", title);
132         }
133
134         this.title = title;
135     }
136
137     public String JavaDoc getTitle()
138     {
139         if (descriptor != null)
140         {
141             this.title = (String JavaDoc) this.getProperty("title");
142         }
143
144         return this.title;
145     }
146
147
148     public void setParentUri(String JavaDoc parentUri)
149     {
150         if (descriptor != null)
151         {
152             descriptor.setProperty("parentUri", parentUri);
153         }
154
155         this.parentUri = parentUri;
156     }
157
158     public String JavaDoc getParentUri()
159     {
160         if (descriptor != null)
161         {
162             this.parentUri = (String JavaDoc) this.getProperty("parentUri");
163             if (parentUri == null) parentUri = "";
164         }
165
166         return this.parentUri;
167     }
168
169     public String JavaDoc getType()
170     {
171         return SlideCatalog.TYPE;
172     }
173
174     class ItemComparator implements Comparator JavaDoc
175     {
176         public int compare (Object JavaDoc key1, Object JavaDoc key2)
177         {
178             return ((String JavaDoc) key1).compareTo((String JavaDoc)key2);
179         }
180     }
181 }
182
Popular Tags