001/*
002 * Licensed to the Apache Software Foundation (ASF) under one or more
003 * contributor license agreements.  See the NOTICE file distributed with
004 * this work for additional information regarding copyright ownership.
005 * The ASF licenses this file to You under the Apache License, Version 2.0
006 * (the "License"); you may not use this file except in compliance with
007 * the License.  You may obtain a copy of the License at
008 *
009 *      http://www.apache.org/licenses/LICENSE-2.0
010 *
011 * Unless required by applicable law or agreed to in writing, software
012 * distributed under the License is distributed on an "AS IS" BASIS,
013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014 * See the License for the specific language governing permissions and
015 * limitations under the License.
016 */
017package org.apache.juneau.examples.bean.atom;
018
019import org.apache.juneau.commons.logging.*;
020import org.apache.juneau.marshall.html.*;
021
022/**
023 * Atom feed HTML example.
024 *
025 */
026public class AtomHtmlExample {
027
028   /**
029    * HTML Atom feed example.
030    *
031    * @param args Unused.
032    * @throws Exception Unused.
033    */
034   public static void main(String[] args) throws Exception {
035
036      var feed = AtomFeed.getAtomFeed();
037
038      // Example with no namespaces
039      // Create a serializer with readable output, no namespaces yet.
040      var s = HtmlSerializer.create().sq().ws().build();
041
042      //Produces
043      /**
044       * <table>
045       *  <tr>
046       *      <td>title</td>
047       *      <td>
048       *          <table>
049       *              <tr>
050       *                  <td>text</td>
051       *                  <td>Juneau ATOM specification</td>
052       *              </tr>
053       *          </table>
054       *      </td>
055       *  </tr>
056       *  <tr>
057       *      <td>updated</td>
058       *      <td>2016-01-02T03:04:05Z</td>
059       *  </tr>
060       *  <tr>
061       *      <td>links</td>
062       *      <td>
063       *          <table _type='array'>
064       *              <tr>
065       *                  <th>rel</th>
066       *                  <th>href</th>
067       *                  <th>hreflang</th>
068       *                  <th>type</th>
069       *              </tr>
070       *              <tr>
071       *                  <td>alternate</td>
072       *                  <td><a href='http://juneau.apache.org'>http://juneau.apache.org</a></td>
073       *                  <td>en</td>
074       *                  <td>text/html</td>
075       *              </tr>
076       *              <tr>
077       *                  <td>self</td>
078       *                  <td><a href='http://juneau.apache.org/feed.atom'>http://juneau.apache.org/feed.atom</a></td>
079       *                  <td><null/></td>
080       *                  <td>application/atom+xml</td>
081       *              </tr>
082       *          </table>
083       *      </td>
084       *  </tr>
085       *  <tr>
086       *      <td>id</td>
087       *      <td>
088       *          <table>
089       *              <tr>
090       *                  <td>text</td>
091       *                  <td>tag:juneau.apache.org</td>
092       *              </tr>
093       *          </table>
094       *      </td>
095       *  </tr>
096       *  <tr>
097       *      <td>subtitle</td>
098       *      <td>
099       *          <table>
100       *              <tr>
101       *                  <td>text</td>
102       *                  <td>Describes &lt;em&gt;stuff&lt;/em&gt; about Juneau</td>
103       *              </tr>
104       *              <tr>
105       *                  <td>type</td>
106       *                  <td>html</td>
107       *              </tr>
108       *          </table>
109       *      </td>
110       *  </tr>
111       *  <tr>
112       *      <td>generator</td>
113       *      <td>
114       *          <table>
115       *              <tr>
116       *                  <td>version</td>
117       *                  <td>1.0</td>
118       *              </tr>
119       *              <tr>
120       *                  <td>text</td>
121       *                  <td>Juneau</td>
122       *              </tr>
123       *              <tr>
124       *                  <td>uri</td>
125       *                  <td><a href='http://juneau.apache.org'>http://juneau.apache.org</a></td>
126       *              </tr>
127       *          </table>
128       *      </td>
129       *  </tr>
130       *  <tr>
131       *      <td>entries</td>
132       *      <td>
133       *          <table _type='array'>
134       *          <tr>
135       *              <th>title</th>
136       *              <th>updated</th>
137       *              <th>links</th>
138       *              <th>contributors</th>
139       *              <th>authors</th>
140       *              <th>id</th>
141       *              <th>content</th>
142       *          </tr>
143       *          <tr>
144       *              <td>
145       *                  <table>
146       *                          <tr>
147       *                              <td>text</td>
148       *                              <td>Juneau ATOM specification snapshot</td>
149       *                          </tr>
150       *                  </table>
151       *              </td>
152       *              <td>2016-01-02T03:04:05Z</td>
153       *              <td>
154       *                  <table _type='array'>
155       *                      <tr>
156       *                          <th>rel</th>
157       *                          <th>href</th>
158       *                          <th>type</th>
159       *                          <th>length</th>
160       *                      </tr>
161       *                      <tr>
162       *                          <td>alternate</td>
163       *                          <td><a href='http://juneau.apache.org/juneau.atom'>http://juneau.apache.org/juneau.atom</a></td>
164       *                          <td>text/html</td>
165       *                          <td><null/></td>
166       *                      </tr>
167       *                      <tr>
168       *                          <td>enclosure</td>
169       *                          <td><a href='http://juneau.apache.org/audio/juneau_podcast.mp3'>http://juneau.apache.org/audio/juneau_podcast.mp3</a></td>
170       *                          <td>audio/mpeg</td>
171       *                          <td>1337</td>
172       *                      </tr>
173       *                  </table>
174       *               </td>
175       *               <td>
176       *                   <table _type='array'>
177       *                      <tr>
178       *                          <th>uri</th>
179       *                          <th>email</th>
180       *                          <th>name</th>
181       *                      </tr>
182       *                      <tr>
183       *                          <td><a href='http://juneau.apache.org'>http://juneau.apache.org</a></td>
184       *                          <td>janesmith@apache.org</td>
185       *                          <td>Jane Smith</td>
186       *                      </tr>
187       *                   </table>
188       *                </td>
189       *                <td>
190       *                   <table _type='array'>
191       *                      <tr>
192       *                          <th>name</th>
193       *                      </tr>
194       *                      <tr>
195       *                          <td>John Smith</td>
196       *                      </tr>
197       *                   </table>
198       *                </td>
199       *                <td>
200       *                  <table>
201       *                      <tr>
202       *                          <td>text</td>
203       *                          <td>tag:juneau.sample.com,2013:1.2345</td>
204       *                      </tr>
205       *                  </table>
206       *                </td>
207       *                <td>2016-01-02T03:04:05Z</td>
208       *                <td>
209       *                  <table>
210       *                      <tr>
211       *                          <td>lang</td>
212       *                          <td>en</td>
213       *                      </tr>
214       *                      <tr>
215       *                          <td>base</td>
216       *                          <td><a href='http://www.apache.org/'>http://www.apache.org/</a></td>
217       *                      </tr>
218       *                      <tr>
219       *                          <td>text</td>
220       *                          <td>&lt;div&gt;&lt;p&gt;&lt;i&gt;[Update: Juneau supports ATOM.]&lt;/i&gt;&lt;/p&gt;&lt;/div&gt;</td>
221       *                      </tr>
222       *                      <tr>
223       *                          <td>type</td>
224       *                          <td>xhtml</td>
225       *                      </tr>
226       *                   </table>
227       *                </td>
228       *             </tr>
229       *          </table>
230       *       </td>
231       *     </tr>
232       *  </table>
233       */
234      RichLogger.getLogger(AtomHtmlExample.class).info(s.write(feed));
235   }
236}