View Javadoc
1   // ---------- Attention: Generated code, please do not modify! -----------
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  package org.apache.myfaces.tobago.component;
21  
22  import javax.faces.context.FacesContext;
23  import org.apache.myfaces.tobago.internal.component.AbstractUIScript;
24  import org.apache.myfaces.tobago.internal.util.ArrayUtils;
25  import org.apache.myfaces.tobago.internal.util.StringUtils;
26  import org.apache.myfaces.tobago.internal.util.Deprecation;
27  import org.apache.myfaces.tobago.component.Tags;
28  import javax.annotation.Generated;
29  import javax.el.ELException;
30  import javax.faces.FacesException;
31  import java.util.Arrays;
32  import java.util.ArrayList;
33  import java.util.Collection;
34  import java.util.List;
35  import javax.el.MethodExpression;
36  import javax.el.ValueExpression;
37  
38  /**
39   This tag adds script files to include into the rendered page.
40    <br>
41    Some features are deprecated (because of CSP): This tag adds client side script to the rendered page.
42    * UIComponent class, generated from template {@code component.stg} with class
43    * {@link org.apache.myfaces.tobago.internal.taglib.component.ScriptTagDeclaration}.
44   */
45  @Generated("component.stg")
46  public class UIScript
47      extends AbstractUIScript  {
48  
49    public static final String COMPONENT_TYPE = Tags.script.componentType();
50  
51    public static final String COMPONENT_FAMILY = "org.apache.myfaces.tobago.Script";
52  
53  
54    enum PropertyKeys {
55      file,
56      type,
57    }
58  
59    public String getFamily() {
60      return COMPONENT_FAMILY;
61    }
62  
63  
64    /**
65    File name to include into the rendered page. The name must be full qualified, or relative.
66     If using a complete path from root, you'll need to add the contextPath from the web application.
67     This can be done with the EL #{request.contextPath}.
68  
69    */
70    public java.lang.String getFile() {
71      return (java.lang.String) getStateHelper().eval(PropertyKeys.file);
72    }
73  
74    public void setFile(java.lang.String file) {
75      getStateHelper().put(PropertyKeys.file, file);
76    }
77  
78    /**
79    Type of the script.
80    <br>Default: <code>text/javascript</code>
81    */
82    public java.lang.String getType() {
83      java.lang.String type = (java.lang.String) getStateHelper().eval(PropertyKeys.type);
84      if (type != null) {
85        return type;
86      }
87      return "text/javascript";
88    }
89  
90    public void setType(java.lang.String type) {
91      getStateHelper().put(PropertyKeys.type, type);
92    }
93  
94  
95    @Override
96    public void restoreState(FacesContext context, Object state) {
97      // FIXME HACK for mojarra SystemEventListener state restoring bug
98      pushComponentToEL(context, this);
99      super.restoreState(context, state);
100     popComponentFromEL(context);
101   }
102 
103 }