View Javadoc
1   /*
2    * Copyright (c) 2002-2026 Gargoyle Software Inc.
3    *
4    * Licensed under the Apache License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    * https://www.apache.org/licenses/LICENSE-2.0
8    *
9    * Unless required by applicable law or agreed to in writing, software
10   * distributed under the License is distributed on an "AS IS" BASIS,
11   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12   * See the License for the specific language governing permissions and
13   * limitations under the License.
14   */
15  package org.htmlunit.html;
16  
17  import java.util.Map;
18  
19  import org.htmlunit.SgmlPage;
20  import org.htmlunit.util.StringUtils;
21  
22  /**
23   * Wrapper for the HTML element "output".
24   *
25   * @author Ronald Brill
26   * @author Frank Danek
27   * @author Lai Quang Duong
28   */
29  public class HtmlOutput extends HtmlElement implements LabelableElement, ValidatableElement {
30  
31      /** The HTML tag represented by this element. */
32      public static final String TAG_NAME = "output";
33  
34      private String customValidity_;
35  
36      /**
37       * Creates a new instance.
38       *
39       * @param qualifiedName the qualified name of the element type to instantiate
40       * @param page the page that contains this element
41       * @param attributes the initial attributes
42       */
43      HtmlOutput(final String qualifiedName, final SgmlPage page,
44              final Map<String, DomAttr> attributes) {
45          super(qualifiedName, page, attributes);
46      }
47  
48      /**
49       * {@inheritDoc}
50       */
51      @Override
52      public DisplayStyle getDefaultStyleDisplay() {
53          return DisplayStyle.INLINE;
54      }
55  
56      /**
57       * {@inheritDoc}
58       */
59      @Override
60      public boolean willValidate() {
61          return false;
62      }
63  
64      /**
65       * {@inheritDoc}
66       */
67      @Override
68      public void setCustomValidity(final String message) {
69          customValidity_ = message;
70      }
71  
72      /**
73       * {@inheritDoc}
74       */
75      @Override
76      public boolean isValid() {
77          return true;
78      }
79  
80      /**
81       * {@inheritDoc}
82       */
83      @Override
84      public boolean isCustomErrorValidityState() {
85          return !StringUtils.isEmptyOrNull(customValidity_);
86      }
87  
88      @Override
89      public boolean isValidValidityState() {
90          return !isCustomErrorValidityState();
91      }
92  
93  }