View Javadoc

1   package org.apache.commons.digester3.rss;
2   
3   /*
4    * Licensed to the Apache Software Foundation (ASF) under one or more
5    * contributor license agreements.  See the NOTICE file distributed with
6    * this work for additional information regarding copyright ownership.
7    * The ASF licenses this file to You under the Apache License, Version 2.0
8    * (the "License"); you may not use this file except in compliance with
9    * the License.  You may obtain a copy of the License at
10   * 
11   *      http://www.apache.org/licenses/LICENSE-2.0
12   * 
13   * Unless required by applicable law or agreed to in writing, software
14   * distributed under the License is distributed on an "AS IS" BASIS,
15   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16   * See the License for the specific language governing permissions and
17   * limitations under the License.
18   */
19  
20  import java.io.PrintWriter;
21  import java.io.Serializable;
22  
23  /**
24   * <p>Implementation object representing an <strong>item</strong> in the
25   * <em>Rich Site Summary</em> DTD, version 0.91.  This class may be subclassed
26   * to further specialize its behavior.</p>
27   */
28  public class Item implements Serializable {
29  
30      /**
31       * 
32       */
33      private static final long serialVersionUID = -2535241576243936839L;
34  
35      // ------------------------------------------------------------- Properties
36  
37      /**
38       * The item description (1-500 characters).
39       */
40      protected String description = null;
41  
42      public String getDescription()
43      {
44          return ( this.description );
45      }
46  
47      public void setDescription( String description )
48      {
49          this.description = description;
50      }
51  
52      /**
53       * The item link (1-500 characters).
54       */
55      protected String link = null;
56  
57      public String getLink()
58      {
59          return ( this.link );
60      }
61  
62      public void setLink( String link )
63      {
64          this.link = link;
65      }
66  
67      /**
68       * The item title (1-100 characters).
69       */
70      protected String title = null;
71  
72      public String getTitle()
73      {
74          return ( this.title );
75      }
76  
77      public void setTitle( String title )
78      {
79          this.title = title;
80      }
81  
82      // -------------------------------------------------------- Package Methods
83  
84      /**
85       * Render this channel as XML conforming to the RSS 0.91 specification,
86       * to the specified writer.
87       *
88       * @param writer The writer to render output to
89       */
90      void render( PrintWriter writer )
91      {
92          writer.println( "    <item>" );
93  
94          writer.print( "      <title>" );
95          writer.print( title );
96          writer.println( "</title>" );
97  
98          writer.print( "      <link>" );
99          writer.print( link );
100         writer.println( "</link>" );
101 
102         if ( description != null )
103         {
104             writer.print( "      <description>" );
105             writer.print( description );
106             writer.println( "</description>" );
107         }
108 
109         writer.println( "    </item>" );
110     }
111 
112 }