Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Licensed to the Apache Software Foundation (ASF) under one or more
   * contributor license agreements.  See the NOTICE file distributed with
   * this work for additional information regarding copyright ownership.
   * The ASF licenses this file to You under the Apache License, Version 2.0
   * (the "License"); you may not use this file except in compliance with
   * the License.  You may obtain a copy of the License at
   *
   *      http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 package org.apache.jasper.compiler;
 
 import static org.jboss.web.JasperMessages.MESSAGES;
 
 import java.util.List;
 import java.util.Set;
 
 
A repository for various info about the translation unit under compilation.

Author(s):
Kin-man Chung
 
 
 class PageInfo {
 
     private Vector imports;
     private Vector dependants;
 
     private BeanRepository beanRepository;
     private Set<StringvarInfoNames;
     private HashMap taglibsMap;
     private HashMap jspPrefixMapper;
     private HashMap xmlPrefixMapper;
     private HashMap nonCustomTagPrefixMap;
     private String jspFile;
     private String defaultLanguage = "java";
     private String language;
     private String xtends;
     private String contentType = null;
     private String session;
     private boolean isSession = true;
     private String bufferValue;
     private int buffer = 8*1024;    // XXX confirm
     private String autoFlush;
     private boolean isAutoFlush = true;
     private String isThreadSafeValue;
     private boolean isThreadSafe = true;
     private String isErrorPageValue;
     private boolean isErrorPage = false;
     private String errorPage = null;
     private String info;
 
     private boolean scriptless = false;
     private boolean scriptingInvalid = false;
     
     private String isELIgnoredValue;
     private boolean isELIgnored = false;
     
     // JSP 2.1
     private boolean deferredSyntaxAllowedAsLiteral = false;
     private ExpressionFactory expressionFactory = ExpressionFactory.newInstance();
     private boolean trimDirectiveWhitespaces = false;
     
     // JSP 2.2
     private boolean isErrorOnUndeclaredNamespace = false;
     
     private String omitXmlDecl = null;
     private String doctypeName = null;
     private String doctypePublic = null;
     private String doctypeSystem = null;
 
     private boolean isJspPrefixHijacked;
 
     // Set of all element and attribute prefixes used in this translation unit
     private HashSet prefixes;
 
     private boolean hasJspRoot = false;
     private ArrayList<StringincludePrelude;
    private ArrayList<StringincludeCoda;
    private Vector pluginDcls;      // Id's for tagplugin declarations
    private boolean isTagFile = false;
    PageInfo(BeanRepository beanRepositoryString jspFileboolean isTagFile) {
        this. = jspFile;
        this. = isTagFile;
        this. = beanRepository;
        this. = new HashSet<String>();
        this. = new HashMap();
        this. = new HashMap();
        this. = new HashMap();
        this. = new HashMap();
        this. = new Vector();
        this. = new Vector();
        this. = new ArrayList<String>();
        this. = new ArrayList<String>();
        this. = new Vector();
        this. = new HashSet();
        // Enter standard imports
        for(int i = 0; i < ..i++)
            .add(.[i]);
    }
    public boolean isTagFile() {
        return ;
    }

    
Check if the plugin ID has been previously declared. Make a not that this Id is now declared.

Returns:
true if Id has been declared.
    public boolean isPluginDeclared(String id) {
        if (.contains(id))
            return true;
        .add(id);
        return false;
    }
    public void addImports(List imports) {
        this..addAll(imports);
    }
    public void addImport(String imp) {
        this..add(imp);
    }
    public List getImports() {
        return ;
    }
    public String getJspFile() {
        return ;
    }
    public void addDependant(String d) {
        if (!.contains(d) && !.equals(d))
                .add(d);
    }
    public List getDependants() {
        return ;
    }
    public BeanRepository getBeanRepository() {
        return ;
    }
    public void setScriptless(boolean s) {
         = s;
    }
    public boolean isScriptless() {
        return ;
    }
    public void setScriptingInvalid(boolean s) {
         = s;
    }
    public boolean isScriptingInvalid() {
        return ;
    }
    public List getIncludePrelude() {
        return ;
    }
    public void setIncludePrelude(ArrayList<Stringprelude) {
         = prelude;
    }
    public List getIncludeCoda() {
        return ;
    }
    public void setIncludeCoda(ArrayList<Stringcoda) {
         = coda;
    }
    public void setHasJspRoot(boolean s) {
         = s;
    }
    public boolean hasJspRoot() {
        return ;
    }
    public String getOmitXmlDecl() {
        return ;
    }
    public void setOmitXmlDecl(String omit) {
         = omit;
    }
    public String getDoctypeName() {
        return ;
    }
    public void setDoctypeName(String doctypeName) {
        this. = doctypeName;
    }
    public String getDoctypeSystem() {
        return ;
    }
    public void setDoctypeSystem(String doctypeSystem) {
        this. = doctypeSystem;
    }
    public String getDoctypePublic() {
        return ;
    }
    public void setDoctypePublic(String doctypePublic) {
        this. = doctypePublic;
    }
    /* Tag library and XML namespace management methods */
    public void setIsJspPrefixHijacked(boolean isHijacked) {
         = isHijacked;
    }
    public boolean isJspPrefixHijacked() {
        return ;
    }
    /*
     * Adds the given prefix to the set of prefixes of this translation unit.
     *
     * @param prefix The prefix to add
     */
    public void addPrefix(String prefix) {
        .add(prefix);
    }
    /*
     * Checks to see if this translation unit contains the given prefix.
     *
     * @param prefix The prefix to check
     *
     * @return true if this translation unit contains the given prefix, false
     * otherwise
     */
    public boolean containsPrefix(String prefix) {
        return .contains(prefix);
    }
    /*
     * Maps the given URI to the given tag library.
     *
     * @param uri The URI to map
     * @param info The tag library to be associated with the given URI
     */
    public void addTaglib(String uriTagLibraryInfo info) {
        .put(uriinfo);
    }
    /*
     * Gets the tag library corresponding to the given URI.
     *
     * @return Tag library corresponding to the given URI
     */
    public TagLibraryInfo getTaglib(String uri) {
        return (TagLibraryInfo.get(uri);
    }
    /*
     * Gets the collection of tag libraries that are associated with a URI
     *
     * @return Collection of tag libraries that are associated with a URI
     */
    public Collection getTaglibs() {
        return .values();
    }
    /*
     * Checks to see if the given URI is mapped to a tag library.
     *
     * @param uri The URI to map
     *
     * @return true if the given URI is mapped to a tag library, false
     * otherwise
     */
    public boolean hasTaglib(String uri) {
        return .containsKey(uri);
    }
    /*
     * Maps the given prefix to the given URI.
     *
     * @param prefix The prefix to map
     * @param uri The URI to be associated with the given prefix
     */
    public void addPrefixMapping(String prefixString uri) {
        .put(prefixuri);
    }
    /*
     * Pushes the given URI onto the stack of URIs to which the given prefix
     * is mapped.
     *
     * @param prefix The prefix whose stack of URIs is to be pushed
     * @param uri The URI to be pushed onto the stack
     */
    public void pushPrefixMapping(String prefixString uri) {
        LinkedList stack = (LinkedList.get(prefix);
        if (stack == null) {
            stack = new LinkedList();
            .put(prefixstack);
        }
        stack.addFirst(uri);
    }
    /*
     * Removes the URI at the top of the stack of URIs to which the given
     * prefix is mapped.
     *
     * @param prefix The prefix whose stack of URIs is to be popped
     */
    public void popPrefixMapping(String prefix) {
        LinkedList stack = (LinkedList.get(prefix);
        if (stack == null || stack.size() == 0) {
            // XXX throw new Exception("XXX");
        }
        stack.removeFirst();
    }
    /*
     * Returns the URI to which the given prefix maps.
     *
     * @param prefix The prefix whose URI is sought
     *
     * @return The URI to which the given prefix maps
     */
    public String getURI(String prefix) {
        String uri = null;
        LinkedList stack = (LinkedList.get(prefix);
        if (stack == null || stack.size() == 0) {
            uri = (String.get(prefix);
        } else {
            uri = (Stringstack.getFirst();
        }
        return uri;
    }
    /* Page/Tag directive attributes */
    /*
     * language
     */
    public void setLanguage(String valueNode nErrorDispatcher err,
                boolean pagedir)
        throws JasperException {
        if (!"java".equalsIgnoreCase(value)) {
            if (pagedir)
                err.jspError(n.getStart(), .unsupportedPageDirectiveLanguage());
            else
                err.jspError(n.getStart(), .unsupportedTagDirectiveLanguage());
        }
         = value;
    }
    public String getLanguage(boolean useDefault) {
        return ( == null && useDefault ?  : );
    }
    public String getLanguage() {
        return getLanguage(true);
    }
    /*
     * extends
     */
    public void setExtends(String value) {
         = value;
    }

    
Gets the value of the 'extends' page directive attribute.

Parameters:
useDefault TRUE if the default (org.apache.jasper.runtime.HttpJspBase) should be returned if this attribute has not been set, FALSE otherwise
Returns:
The value of the 'extends' page directive attribute, or the default (org.apache.jasper.runtime.HttpJspBase) if this attribute has not been set and useDefault is TRUE
    public String getExtends(boolean useDefault) {
        return ( == null && useDefault ?  : );
    }

    
Gets the value of the 'extends' page directive attribute.

Returns:
The value of the 'extends' page directive attribute, or the default (org.apache.jasper.runtime.HttpJspBase) if this attribute has not been set
    public String getExtends() {
        return getExtends(true);
    }
    /*
     * contentType
     */
    public void setContentType(String value) {
         = value;
    }
    public String getContentType() {
        return ;
    }
    /*
     * buffer
     */
    public void setBufferValue(String valueNode nErrorDispatcher err)
        throws JasperException {
        if ("none".equalsIgnoreCase(value))
             = 0;
        else {
            if (value == null || !value.endsWith("kb"))
                err.jspError(n.getStart(), .invalidPageDirectiveBufferSize());
            try {
                Integer k = new Integer(value.substring(0, value.length()-2));
                 = k.intValue() * 1024;
            } catch (NumberFormatException e) {
                err.jspError(n.getStart(), .invalidPageDirectiveBufferSize());
            }
        }
         = value;
    }
    public void setBufferValue(String valueErrorDispatcher err)
    throws JasperException {
        if ("none".equalsIgnoreCase(value))
             = 0;
        else {
            if (value == null || !value.endsWith("kb"))
                err.jspError(.invalidPageDirectiveBufferSize());
            try {
                Integer k = new Integer(value.substring(0, value.length()-2));
                 = k.intValue() * 1024;
            } catch (NumberFormatException e) {
                err.jspError(.invalidPageDirectiveBufferSize());
            }
        }
         = value;
    }
    public String getBufferValue() {
        return ;
    }
    public int getBuffer() {
        return ;
    }
    /*
     * session
     */
    public void setSession(String valueNode nErrorDispatcher err)
        throws JasperException {
        if ("true".equalsIgnoreCase(value))
             = true;
        else if ("false".equalsIgnoreCase(value))
             = false;
        else
            err.jspError(n.getStart(), .invalidPageDirectiveSession());
         = value;
    }
    public String getSession() {
        return ;
    }
    public boolean isSession() {
        return ;
    }
    /*
     * autoFlush
     */
    public void setAutoFlush(String valueNode nErrorDispatcher err)
        throws JasperException {
        if ("true".equalsIgnoreCase(value))
             = true;
        else if ("false".equalsIgnoreCase(value))
             = false;
        else
            err.jspError(n.getStart(), .invalidPageDirectiveAutoFlush());
         = value;
    }
    public String getAutoFlush() {
        return ;
    }
    public boolean isAutoFlush() {
        return ;
    }
    /*
     * isThreadSafe
     */
    public void setIsThreadSafe(String valueNode nErrorDispatcher err)
        throws JasperException {
        if ("true".equalsIgnoreCase(value))
             = true;
        else if ("false".equalsIgnoreCase(value))
             = false;
        else
            err.jspError(n.getStart(), .invalidPageDirectiveIsThreadSafe());
         = value;
    }
    public String getIsThreadSafe() {
        return ;
    }
    public boolean isThreadSafe() {
        return ;
    }
    /*
     * info
     */
    public void setInfo(String value) {
         = value;
    }
    public String getInfo() {
        return ;
    }
    /*
     * errorPage
     */
    public void setErrorPage(String value) {
         = value;
    }
    public String getErrorPage() {
        return ;
    }
    /*
     * isErrorPage
     */
    public void setIsErrorPage(String valueNode nErrorDispatcher err)
        throws JasperException {
        if ("true".equalsIgnoreCase(value))
             = true;
        else if ("false".equalsIgnoreCase(value))
             = false;
        else
            err.jspError(n.getStart(), .invalidPageDirectiveIsErrorPage());
         = value;
    }
    public String getIsErrorPage() {
        return ;
    }
    public boolean isErrorPage() {
        return ;
    }
    /*
     * isELIgnored
     */
    public void setIsELIgnored(String valueNode nErrorDispatcher err,
                   boolean pagedir)
        throws JasperException {
        if ("true".equalsIgnoreCase(value))
             = true;
        else if ("false".equalsIgnoreCase(value))
             = false;
        else {
            if (pagedir)
                err.jspError(n.getStart(), .invalidPageDirectiveIsElIgnored());
            else
                err.jspError(n.getStart(), .invalidTagDirectiveIsElIgnored());
        }
         = value;
    }
    
    /*
     * deferredSyntaxAllowedAsLiteral
     */
    public void setDeferredSyntaxAllowedAsLiteral(String valueNode nErrorDispatcher err,
                   boolean pagedir)
        throws JasperException {
        if ("true".equalsIgnoreCase(value))
             = true;
        else if ("false".equalsIgnoreCase(value))
             = false;
        else {
            if (pagedir)
            else
        }
         = value;
    }
    
    /*
     * trimDirectiveWhitespaces
     */
    public void setTrimDirectiveWhitespaces(String valueNode nErrorDispatcher err,
                   boolean pagedir)
        throws JasperException {
        if ("true".equalsIgnoreCase(value))
             = true;
        else if ("false".equalsIgnoreCase(value))
             = false;
        else {
            if (pagedir)
                err.jspError(n.getStart(), .invalidPageDirectiveTrimDirectiveWhitespaces());
            else
                err.jspError(n.getStart(), .invalidTagDirectiveTrimDirectiveWhitespaces());
        }
         = value;
    }
    public void setELIgnored(boolean s) {
         = s;
    }
    public String getIsELIgnored() {
        return ;
    }
    public boolean isELIgnored() {
        return ;
    }
    public void putNonCustomTagPrefix(String prefixMark where) {
        .put(prefixwhere);
    }
    public Mark getNonCustomTagPrefix(String prefix) {
        return (Mark.get(prefix);
    }
    
    }
    public boolean isDeferredSyntaxAllowedAsLiteral() {
        return ;
    }
    public void setDeferredSyntaxAllowedAsLiteral(boolean isELDeferred) {
        this. = isELDeferred;
    }
        return ;
    }
        return ;
    }
    public boolean isTrimDirectiveWhitespaces() {
        return ;
    }
    public void setTrimDirectiveWhitespaces(boolean trimDirectiveWhitespaces) {
        this. = trimDirectiveWhitespaces;
    }
    public void setErrorOnUndeclaredNamespace(boolean s) {
         = s;
    }
    public boolean isErrorOnUndeclaredNamespace() {
        return ;
    }
    public Set<StringgetVarInfoNames() {
        return ;
    }
New to GrepCode? Check out our FAQ X