/** * Checks if the tag returned by {@link #peekTag()} is either open or open-close. * * @return */ public boolean isAtOpenOrOpenCloseTag() { ComponentTag tag = peekTag(); return tag != null && (tag.isOpen() || tag.isOpenClose()); }
/** * @return True if current markup element is an open tag */ public boolean atOpenTag() { return atTag() && getTag().isOpen(); }
/** * Checks if the tag returned by {@link #peekTag()} is either open or open-close. * * @return */ public boolean isAtOpenOrOpenCloseTag() { ComponentTag tag = peekTag(); return tag != null && (tag.isOpen() || tag.isOpenClose()); }
/** * @return True if current markup element is an open tag */ public boolean atOpenTag() { return atTag() && getTag().isOpen(); }
/** * Note: * * @return The next markup element in the stream */ public MarkupElement nextOpenTag() { while (next() != null) { MarkupElement elem = get(); if (elem instanceof ComponentTag) { ComponentTag tag = (ComponentTag)elem; if (tag.isOpen() || tag.isOpenClose()) { return current = get(currentIndex); } } } return null; }
/** * @return True if current markup element is an open tag */ public boolean atOpenTag() { return atTag() && getTag().isOpen(); }
/** * Note: * * @return The next markup element in the stream */ public MarkupElement nextOpenTag() { while (next() != null) { MarkupElement elem = get(); if (elem instanceof ComponentTag) { ComponentTag tag = (ComponentTag)elem; if (tag.isOpen() || tag.isOpenClose()) { return current = get(currentIndex); } } } return null; }
/** * @return True if current markup element is an open tag */ public boolean atOpenTag() { return atTag() && getTag().isOpen(); }
@Override protected final MarkupElement onComponentTag(ComponentTag tag) throws ParseException { // is it a <wicket:head> tag? if (tag instanceof WicketTag && ((WicketTag)tag).isHeadTag()) { inHead = tag.isOpen(); } // no, it's not. Are we in <wicket:head> ? else if (inHead == true) { // is the tag open and has empty wicket:id? if ((tag instanceof WicketTag == false) && (tag.getId() == null) && (tag.isOpen() || tag.isOpenClose()) && needId(tag)) { if (tag.getAttributes().get("id") == null) { tag.getAttributes().put("id", headElementIdPrefix + nextValue()); tag.setModified(true); } } } return tag; }
@Override protected final MarkupElement onComponentTag(ComponentTag tag) throws ParseException { if (usesDevelopmentConfig) { if (tag instanceof WicketTag) { WicketTag wtag = (WicketTag)tag; if (tag.isOpen() && wtag.isContainerTag()) { handleContainerTag(wtag); } } } return tag; }
/** * Handle tag <wicket:header-items> * * @param tag */ private void handleHeaderItemsTag(ComponentTag tag) { if ((tag.isOpen() || tag.isOpenClose()) && foundHeaderItemsTag) { throw new MarkupException(new MarkupStream(markup), "More than one <wicket:header-items/> detected in the <head> element. Only one is allowed."); } else if (foundClosingHead) { throw new MarkupException(new MarkupStream(markup), "Detected <wicket:header-items/> after the closing </head> element."); } foundHeaderItemsTag = true; tag.setId(HEADER_ID); tag.setAutoComponentTag(true); tag.setModified(true); tag.setAutoComponentFactory(HTML_HEADER_ITEMS_FACTORY); }
@Override protected final MarkupElement onComponentTag(ComponentTag tag) throws ParseException { if (usesDevelopmentConfig) { if (tag instanceof WicketTag) { WicketTag wtag = (WicketTag)tag; if (tag.isOpen() && wtag.isContainerTag()) { handleContainerTag(wtag); } } } return tag; }
@Override protected final MarkupElement onComponentTag(ComponentTag tag) throws ParseException { if (tag.isOpen() && "html".equals(tag.getName().toLowerCase(Locale.ROOT))) { final String namespace = determineWicketNamespace(tag); if (namespace != null) { getMarkupResourceStream().setWicketNamespace(namespace); } } return tag; }
@Override protected final MarkupElement onComponentTag(ComponentTag tag) throws ParseException { if (tag.isOpen() && "html".equals(tag.getName().toLowerCase(Locale.ROOT))) { final String namespace = determineWicketNamespace(tag); if (namespace != null) { getMarkupResourceStream().setWicketNamespace(namespace); } } return tag; }
/** * @see org.apache.wicket.Component#onComponentTag(org.apache.wicket.markup.ComponentTag) */ protected void onComponentTag(final ComponentTag tag) { if (tag.isOpen() == false) { throw new WicketRuntimeException( "The border tag must be an open tag. Open-close is not allowed: " + tag.toString()); } super.onComponentTag(tag); }
/** * Retrieves the next markup tag * * @return */ public ComponentTag takeTag() { ComponentTag taken = next; if (taken == null) { return null; } if (taken.isOpen() && !taken.hasNoCloseTag()) { tags.push(taken); } else if (tags.size() > 0 && taken.closes(tags.peek())) { tags.pop(); } next = nextTag(); return taken; }
/** * @see org.apache.wicket.Component#onComponentTag(org.apache.wicket.markup.ComponentTag) */ @Override protected void onComponentTag(final ComponentTag tag) { if (tag.isOpen() == false) { throw new WicketRuntimeException( "The border tag must be an open tag. Open-close is not allowed: " + tag.toString()); } super.onComponentTag(tag); }
@Override public void onComponentTagBody(final MarkupStream markupStream, final ComponentTag openTag) { // skip the <wicket:body> body if (markupStream.getPreviousTag().isOpen()) { // Only RawMarkup is allowed within the preview region, // which gets stripped from output markupStream.skipRawMarkup(); } // Get the <span wicket:id="myBorder"> markup and render that instead IMarkupFragment markup = Border.this.getMarkup(); MarkupStream stream = new MarkupStream(markup); ComponentTag tag = stream.getTag(); stream.next(); super.onComponentTagBody(stream, tag); }
@Override public void onComponentTagBody(final MarkupStream markupStream, final ComponentTag openTag) { // skip the <wicket:body> body if (markupStream.getPreviousTag().isOpen()) { // Only RawMarkup is allowed within the preview region, // which gets stripped from output markupStream.skipRawMarkup(); } // Get the <span wicket:id="myBorder"> markup and render that instead IMarkupFragment markup = Border.this.getMarkup(); MarkupStream stream = new MarkupStream(markup); ComponentTag tag = stream.getTag(); stream.next(); super.onComponentTagBody(stream, tag); }
/** * * @see org.apache.wicket.Component#onComponentTagBody(org.apache.wicket.markup.MarkupStream, * org.apache.wicket.markup.ComponentTag) */ protected void onComponentTagBody(final MarkupStream markupStream, final ComponentTag openTag) { // Skip the components body. It will be replaced by the fragment if (((ComponentTag)markupStream.get(markupStream.getCurrentIndex() - 1)).isOpen()) { markupStream.skipRawMarkup(); } final MarkupStream providerMarkupStream = chooseMarkupStream(markupStream); if (providerMarkupStream == null) { throw new MarkupNotFoundException( "Fragment: No markup stream found for providing markup container " + markupProvider.toString() + ". Fragment: " + toString()); } renderFragment(providerMarkupStream, openTag); }