Class BaseComponentTag

java.lang.Object
javax.faces.webapp.UIComponentTagBase
javax.faces.webapp.UIComponentClassicTagBase
javax.faces.webapp.UIComponentTag
org.eclnt.jsfserver.elements.BaseComponentTagBase
org.eclnt.jsfserver.elements.BaseComponentTag
All Implemented Interfaces:
javax.servlet.jsp.tagext.BodyTag, javax.servlet.jsp.tagext.IterationTag, javax.servlet.jsp.tagext.JspIdConsumer, javax.servlet.jsp.tagext.JspTag, javax.servlet.jsp.tagext.Tag, ICCComponentProperties, CLogConstants
Direct Known Subclasses:
org.eclnt.jsfserver.elements.impl.PAGEBEANCONFIGComponentTag, org.eclnt.jsfserver.elements.impl.ROWPAGEBEANINCLUDEComponentTag, StructureComponentTag

public abstract class BaseComponentTag extends BaseComponentTagBase implements CLogConstants
  • Field Details

    • m_originalAttributes

      protected Map<String,String> m_originalAttributes
    • m_tagName

      protected String m_tagName
    • m_tagPrefix

      protected String m_tagPrefix
    • m_isGridCellComponent

      protected boolean m_isGridCellComponent
  • Constructor Details

    • BaseComponentTag

      public BaseComponentTag()
  • Method Details

    • m_componentRepository

      protected ComponentRepository m_componentRepository()
    • setRendered

      public void setRendered(String value)
      Overrides:
      setRendered in class javax.faces.webapp.UIComponentTag
    • getRendererType

      public String getRendererType()
      Specified by:
      getRendererType in class javax.faces.webapp.UIComponentTagBase
      Returns:
      Null is returned.
    • getComponentType

      public String getComponentType()
      Specified by:
      getComponentType in class javax.faces.webapp.UIComponentTagBase
      Returns:
      Class of tag, without the last 3 characters. Example: if the tag class is "org.eclnt.jsfserver.elements.impl.ROWComponentTag" then the returned component type is "org.eclnt.jsfserver.elements.impl.ROWComponent".
    • release

      public void release()
      Specified by:
      release in interface javax.servlet.jsp.tagext.Tag
      Overrides:
      release in class javax.faces.webapp.UIComponentTag
    • setAttributeInAttributeMap

      public void setAttributeInAttributeMap(String attribute, String value)
    • updateIntoUniqueAttributeName

      public static String updateIntoUniqueAttributeName(String attribute)
    • getAttributeFromAttributeMap

      public String getAttributeFromAttributeMap(String attribute)
    • getTagName

      public String getTagName()
    • getTagPrefix

      public String getTagPrefix()
    • getTagNameWithPrefix

      public String getTagNameWithPrefix()
    • doEndTag

      public int doEndTag() throws javax.servlet.jsp.JspException
      Specified by:
      doEndTag in interface javax.servlet.jsp.tagext.Tag
      Overrides:
      doEndTag in class javax.faces.webapp.UIComponentClassicTagBase
      Throws:
      javax.servlet.jsp.JspException
    • defineContentReplacements

      public void defineContentReplacements(List<ValueManager.NameValue> contentReplacements)
      Internal use only.
      Passes content replacements that are applied to all variable values when creating the component. The content replacements are processed AFTER setting defaults and after macro processing.
    • isGridCellComponent

      public boolean isGridCellComponent()
      Returns if this component tag was automatically generated within the grid generation. On server side a (FIXGRID-) grid is multiplied out into its cell components when accessed the first time. All the cell components are generated from the definition that is done below the GRIDCOL-component. The "mulitplied-components" return true when calling this method while the "just-normal-Components" return false.

      This information is quite useful when applying macros: in this case the macro is called twice - both for the component tag within GRIDCOL and for the multiplied out component. There are cases in which you want to differenciate between both cases.
    • setIsGridCellComponent

      public void setIsGridCellComponent(boolean value)
      INTERNAL USAGE ONLY.
    • setId

      public void setId(String id)
      Overrides:
      setId in class javax.faces.webapp.UIComponentClassicTagBase
    • readTagAttributes

      protected List<String> readTagAttributes()
    • hasAction

      protected boolean hasAction()
    • hasActionListener

      protected boolean hasActionListener()
    • checkIfIsValueReference

      public static boolean checkIfIsValueReference(String attrName, String attrValue)
    • setProperties

      public void setProperties(javax.faces.component.UIComponent component)
      Overrides:
      setProperties in class javax.faces.webapp.UIComponentTag
    • checkIfToSendObjectBinding

      protected boolean checkIfToSendObjectBinding()
      By default the attribut "objectbinding" is not set to the client side. But: some components require the attribute to be resolved + send.
    • createBaseComponent

      public BaseComponent createBaseComponent()
      Creates a BaseComponent out of the tag definition. This method is used for dynamically creating components.
    • createUniqueId

      public String createUniqueId()
    • invokeSetter

      public void invokeSetter(String property, String value)
      Dynamic calling of all the setter methods by which attribute values are passed into the BaseComponentTag instance...
    • presetHardWiredProperties

      protected void presetHardWiredProperties()
    • presetPropertyIfNull

      protected void presetPropertyIfNull(String name, String value)
    • executeDefaultAttributeMacro

      protected void executeDefaultAttributeMacro()
    • executeAttributeMacro

      protected void executeAttributeMacro()
    • junit_executeReplacement

      public static BaseComponentTag.ReplacementResult junit_executeReplacement(String v, List<ValueManager.NameValue> contentReplacements)
    • presetDefaults

      protected void presetDefaults()
      After applying default + style elements the component tag gets a last chance to update attributes.