public boolean flushable() throws SIResourceException
  {
    if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
      SibTr.entry(tc, "flushable");

    // Short circuit if we've never created a stream
    if (streamSet == null)
    {
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
        SibTr.exit(tc, "flushable", Boolean.TRUE);
      return true;
    }

    StreamSet streamSet = getStreamSet();

    //iterate over the non-null streams
    Iterator itr = streamSet.iterator();
    while(itr.hasNext())
    {
      SourceStream stream = (SourceStream) itr.next();
      if(!stream.flushable())
      {
        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) SibTr.exit(tc, "flushable", Boolean.FALSE);
        return false;
      }
    }
    if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) SibTr.exit(tc, "flushable", Boolean.TRUE);
    return true;
  }
public boolean flushable ( ) throws SIResourceException { if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isEntryEnabled ( ) ) SibTr . entry ( tc , "flushable" ) ; if ( streamSet == null ) { if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isEntryEnabled ( ) ) SibTr . exit ( tc , "flushable" , Boolean . TRUE ) ; return true ; } StreamSet streamSet = getStreamSet ( ) ; Iterator itr = streamSet . iterator ( ) ; while ( itr . hasNext ( ) ) { SourceStream stream = ( SourceStream ) itr . next ( ) ; if ( ! stream . flushable ( ) ) { if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isEntryEnabled ( ) ) SibTr . exit ( tc , "flushable" , Boolean . FALSE ) ; return false ; } } if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isEntryEnabled ( ) ) SibTr . exit ( tc , "flushable" , Boolean . TRUE ) ; return true ; }
Check whether a particular set of streams is flushable.  A stream is
flushable if the use count is zero and none of the component
streams contain a V/U or L/U tick

@return true if the set of streams are all flushable, and false otherwise.