protected boolean isSuppressed ( ) { if ( _suppressed == null ) { // we haven't called this method before, so determine the suppressed // value and cache it for later calls to this method. if ( isFacet ( ) ) { // facets are always rendered by their parents --> suppressed _suppressed = Boolean . TRUE ; return true ; } UIComponent component = getComponentInstance ( ) ; // Does any parent render its children? // (We must determine this first, before calling any isRendered method // because rendered properties might reference a data var of a nesting UIData, // which is not set at this time, and would cause a VariableResolver error!) UIComponent parent = component . getParent ( ) ; while ( parent != null ) { if ( parent . getRendersChildren ( ) ) { // Yes, parent found, that renders children --> suppressed _suppressed = Boolean . TRUE ; return true ; } parent = parent . getParent ( ) ; } // does component or any parent has a false rendered attribute? while ( component != null ) { if ( ! component . isRendered ( ) ) { // Yes, component or any parent must not be rendered --> suppressed _suppressed = Boolean . TRUE ; return true ; } component = component . getParent ( ) ; } // else --> not suppressed _suppressed = Boolean . FALSE ; } return _suppressed . booleanValue ( ) ; }
Determine whether this component renders itself . A component is suppressed when it is either not rendered or when it is rendered by its parent component at a time of the parent s choosing .