Package org.apache.cocoon.taglib

Examples of org.apache.cocoon.taglib.Tag


    //
    // Implementation methods
    //

    private UIComponentTag findParent() {
        Tag parent = this;
        do {
            parent = parent.getParent();
        } while (parent != null && !(parent instanceof UIComponentTag));

        return (UIComponentTag) parent;
    }
View Full Code Here


    /**
     * Get name of the facet or null
     */
    private String getFacetName() {
        final Tag parentTag = getParent();
        if (parentTag instanceof FacetTag) {
            return ((FacetTag) parentTag).getName();
        }

        return null;
View Full Code Here

            if (skipLevel > 0) {
                return;
            }
        }

        Tag tag = (Tag) tagStack.pop();
        if (tag != null) {
            ServiceSelector tagSelector = (ServiceSelector)tagSelectorStack.pop();
            try {
                if (saxFragment != null) {
                    //start Iteration
                    IterationTag iterTag = (IterationTag) tag;
                    XMLDeserializer xmlDeserializer = null;
                    try {
                        xmlDeserializer = (XMLDeserializer) manager.lookup(XMLDeserializer.ROLE);
                        xmlDeserializer.setConsumer(this);
                        do {
                            xmlDeserializer.deserialize(saxFragment);
                        } while (iterTag.doAfterBody() != Tag.SKIP_BODY);

                    } catch (ServiceException e) {
                        throw new SAXException("lookup XMLDeserializer failed", e);
                    }
                    finally {
                        if (xmlDeserializer != null)
                            manager.release(xmlDeserializer);
                    }
                }
                tag.doEndTag(namespaceURI, localName, qName);
                currentTag = tag.getParent();

                if (tag == currentConsumer) {
                    // search next XMLConsumer
                    Tag loop = currentTag;
                    for (; loop != null; loop = loop.getParent()) {
                        if (loop instanceof XMLConsumer)
                            break;
                    }
                    if (loop != null) {
                        currentConsumer = (XMLConsumer) loop;
View Full Code Here

            manager.release(xmlSerializer);
            xmlSerializer = null;
        }

        while (!tagStack.isEmpty()) {
            Tag tag = (Tag) tagStack.pop();
            if (tag == null)
                continue;
            ServiceSelector tagSelector = (ServiceSelector)tagSelectorStack.pop();
            tagSelector.release(tag);
View Full Code Here

            skipLevel++;
            // and ignore this start element
            return;
        }

        Tag tag = null;
        if (namespaceURI != null && namespaceURI.length() > 0) {
            ServiceSelector tagSelector = null;
            Transformer tagTransformer = null;
            try {
                tagSelector = (ServiceSelector) tagNamespaceSelector.select(namespaceURI);
                tagSelectorStack.push(tagSelector);

                // namespace matches tag library, lookup tag now.
                tag = (Tag) tagSelector.select(localName);

                // tag found, setup Tag and connect it to pipeline
                tag.setParent(currentTag);
                tag.setup(this.resolver, this.objectModel, this.parameters);

                if (tag instanceof XMLProducer) {
                    if (transformerSelector != null) {
                        // add additional (Tag)Transformer to the output of the Tag
                        tagTransformer = (Transformer) transformerSelector.select(transformerHint);
                        tagTransformerStack.push(tagTransformer);
                        tagTransformer.setup(this.resolver, this.objectModel, null, this.parameters);
                        ((XMLProducer) tag).setConsumer(tagTransformer);
                        tagTransformer.setConsumer(currentConsumer);
                    }
                }
                if (tag instanceof XMLConsumer) {
                    currentConsumer = (XMLConsumer) tag;
                }

                currentTag = tag;

                // Set Tag-Attributes, Attributes are mapped to the coresponding Tag method
                for (int i = 0; i < atts.getLength(); i++) {
                    String attributeName = atts.getLocalName(i);
                    String attributeValue = atts.getValue(i);
                    paramArray[0] = attributeValue;
                    try {
                        Method method = getWriteMethod(tag.getClass(), attributeName);
                        method.invoke(tag, paramArray);
                    } catch (Throwable e) {
                        if (getLogger().isInfoEnabled())
                            getLogger().info("startElement(" + localName + "): Attribute " + attributeName + " not set", e);
                    }
                }
            } catch (Exception ignore) {
                // No namespace or tag found, process it as normal element (tag == null)
            }
        }

        tagStack.push(tag);
        if (tag == null) {
            currentConsumer.startElement(namespaceURI, localName, qName, atts);
        } else {
            int eval = tag.doStartTag(namespaceURI, localName, qName, atts);
            switch (eval) {
                case Tag.EVAL_BODY :
                    skipLevel = 0;
                    if (tag instanceof IterationTag) {
                        // start recording for IterationTag
                        try {
                            xmlSerializer = (XMLSerializer) manager.lookup(XMLSerializer.ROLE);
                            currentConsumerBackup = currentConsumer;
                            currentConsumer = xmlSerializer;
                            recordingLevel = 1;
                        } catch (ServiceException e) {
                            throw new SAXException("lookup XMLSerializer failed", e);
                        }
                    }
                    break;

                case Tag.SKIP_BODY :
                    skipLevel = 1;
                    break;

                default :
                    String tagName = tag.getClass().getName();
                    getLogger().warn("Bad return value from doStartTag(" + tagName + "): " + eval);
                    break;
            }
        }
    }
View Full Code Here

            if (skipLevel > 0) {
                return;
            }
        }

        Tag tag = (Tag) tagStack.pop();
        if (tag != null) {
            ServiceSelector tagSelector = (ServiceSelector)tagSelectorStack.pop();
            try {
                if (saxFragment != null) {
                    //start Iteration
                    IterationTag iterTag = (IterationTag) tag;
                    XMLDeserializer xmlDeserializer = null;
                    try {
                        xmlDeserializer = (XMLDeserializer) manager.lookup(XMLDeserializer.ROLE);
                        xmlDeserializer.setConsumer(this);
                        do {
                            xmlDeserializer.deserialize(saxFragment);
                        } while (iterTag.doAfterBody() != Tag.SKIP_BODY);

                    } catch (ServiceException e) {
                        throw new SAXException("lookup XMLDeserializer failed", e);
                    }
                    finally {
                        if (xmlDeserializer != null)
                            manager.release(xmlDeserializer);
                    }
                }
                tag.doEndTag(namespaceURI, localName, qName);
                currentTag = tag.getParent();

                if (tag == currentConsumer) {
                    // search next XMLConsumer
                    Tag loop = currentTag;
                    for (; loop != null; loop = loop.getParent()) {
                        if (loop instanceof XMLConsumer)
                            break;
                    }
                    if (loop != null) {
                        currentConsumer = (XMLConsumer) loop;
View Full Code Here

            manager.release(xmlSerializer);
            xmlSerializer = null;
        }

        while (!tagStack.isEmpty()) {
            Tag tag = (Tag) tagStack.pop();
            if (tag == null)
                continue;
            ServiceSelector tagSelector = (ServiceSelector)tagSelectorStack.pop();
            tagSelector.release(tag);
View Full Code Here

            skipLevel++;
            // and ignore this start element
            return;
        }

        Tag tag = null;
        if (namespaceURI != null && namespaceURI.length() > 0) {
            ServiceSelector tagSelector = null;
            Transformer tagTransformer = null;
            try {
                tagSelector = (ServiceSelector) tagNamespaceSelector.select(namespaceURI);
                tagSelectorStack.push(tagSelector);

                // namespace matches tag library, lookup tag now.
                tag = (Tag) tagSelector.select(localName);

                // tag found, setup Tag and connect it to pipeline
                tag.setParent(currentTag);
                tag.setup(this.resolver, this.objectModel, this.parameters);

                if (tag instanceof XMLProducer) {
                    if (transformerSelector != null) {
                        // add additional (Tag)Transformer to the output of the Tag
                        tagTransformer = (Transformer) transformerSelector.select(transformerHint);
                        tagTransformerStack.push(tagTransformer);
                        tagTransformer.setup(this.resolver, this.objectModel, null, this.parameters);
                        ((XMLProducer) tag).setConsumer(tagTransformer);
                        tagTransformer.setConsumer(currentConsumer);
                    }
                }
                if (tag instanceof XMLConsumer) {
                    currentConsumer = (XMLConsumer) tag;
                }

                currentTag = tag;

                // Set Tag-Attributes, Attributes are mapped to the coresponding Tag method
                for (int i = 0; i < atts.getLength(); i++) {
                    String attributeName = atts.getLocalName(i);
                    String attributeValue = atts.getValue(i);
                    paramArray[0] = attributeValue;
                    try {
                        Method method = getWriteMethod(tag.getClass(), attributeName);
                        method.invoke(tag, paramArray);
                    } catch (Throwable e) {
                        if (getLogger().isInfoEnabled())
                            getLogger().info("startElement(" + localName + "): Attribute " + attributeName + " not set", e);
                    }
                }
            } catch (Exception ignore) {
                // No namespace or tag found, process it as normal element (tag == null)
            }
        }

        tagStack.push(tag);
        if (tag == null) {
            currentConsumer.startElement(namespaceURI, localName, qName, atts);
        } else {
            int eval = tag.doStartTag(namespaceURI, localName, qName, atts);
            switch (eval) {
                case Tag.EVAL_BODY :
                    skipLevel = 0;
                    if (tag instanceof IterationTag) {
                        // start recording for IterationTag
                        try {
                            xmlSerializer = (XMLSerializer) manager.lookup(XMLSerializer.ROLE);
                            currentConsumerBackup = currentConsumer;
                            currentConsumer = xmlSerializer;
                            recordingLevel = 1;
                        } catch (ServiceException e) {
                            throw new SAXException("lookup XMLSerializer failed", e);
                        }
                    }
                    break;

                case Tag.SKIP_BODY :
                    skipLevel = 1;
                    break;

                default :
                    String tagName = tag.getClass().getName();
                    getLogger().warn("Bad return value from doStartTag(" + tagName + "): " + eval);
                    break;
            }
        }
    }
View Full Code Here

    //
    // Implementation methods
    //

    private UIComponentTag findParent() {
        Tag parent = this;
        do {
            parent = parent.getParent();
        } while (parent != null && !(parent instanceof UIComponentTag));

        return (UIComponentTag) parent;
    }
View Full Code Here

    /**
     * Get name of the facet or null
     */
    private String getFacetName() {
        final Tag parentTag = getParent();
        if (parentTag instanceof FacetTag) {
            return ((FacetTag) parentTag).getName();
        }

        return null;
View Full Code Here

TOP

Related Classes of org.apache.cocoon.taglib.Tag

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.