1. Project Clover database mar. avr. 16 2024 08:19:06 CEST
  2. Package org.devacfr.maven.skins.reflow.snippet

File Components.java

 

Coverage histogram

../../../../../../img/srcFileCovDistChart7.png
50% of files have more coverage

Code metrics

8
11
5
1
82
31
9
0,82
2,2
5
1,8

Classes

Class Line # Actions
Components 29 11 0% 9 8
0.666666766,7%
 

Contributing tests

This file is covered by 6 tests. .

Source view

1    /*
2    * Licensed to the Apache Software Foundation (ASF) under one
3    * or more contributor license agreements. See the NOTICE file
4    * distributed with this work for additional information
5    * regarding copyright ownership. The ASF licenses this file
6    * to you under the Apache License, Version 2.0 (the
7    * "License"); you may not use this file except in compliance
8    * with the License. You may obtain a copy of the License at
9    *
10    * http://www.apache.org/licenses/LICENSE-2.0
11    *
12    * Unless required by applicable law or agreed to in writing,
13    * software distributed under the License is distributed on an
14    * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15    * KIND, either express or implied. See the License for the
16    * specific language governing permissions and limitations
17    * under the License.
18    */
19    package org.devacfr.maven.skins.reflow.snippet;
20   
21    import java.util.ArrayList;
22   
23    import org.jsoup.internal.StringUtil;
24   
25    /**
26    * @author Christophe Friederich
27    * @version 2.4
28    */
 
29    public class Components extends ArrayList<Component<?>> {
30   
31    /** */
32    private static final long serialVersionUID = 1L;
33   
34    /** */
35    private static final Components EMPTY = new Components();
36   
37    /** */
 
38  0 toggle public static Components empty() {
39  0 return EMPTY;
40    }
41   
42    /**
43    *
44    */
 
45  513 toggle public Components() {
46    }
47   
48    /**
49    * @return
50    */
 
51  104 toggle public String html() {
52  104 final StringBuilder sb = StringUtil.borrowBuilder();
53  104 for (final Component<?> component : this) {
54  178 if (sb.length() != 0) {
55  74 sb.append("\n");
56    }
57  178 final String html = component.getHtml();
58  178 if (html != null) {
59  178 sb.append(html);
60    }
61    }
62  104 return StringUtil.releaseBuilder(sb);
63    }
64   
65    /**
66    * Get the first matched element.
67    *
68    * @return The first matched component, or <code>null</code> if contents is empty.
69    */
 
70  138 toggle public Component<?> first() {
71  138 return isEmpty() ? null : get(0);
72    }
73   
74    /**
75    * Get the last matched component.
76    *
77    * @return The last matched component, or <code>null</code> if contents is empty.
78    */
 
79  0 toggle public Component<?> last() {
80  0 return isEmpty() ? null : get(size() - 1);
81    }
82    }