to.etc.domui.server.parts
Interface IBufferedPartFactory

All Superinterfaces:
IPartFactory
All Known Implementing Classes:
ButtonPart, FileTypePart, InternalResourcePart, PropBtnPart, SvgPartFactory, ThemePartFactory

public interface IBufferedPartFactory
extends IPartFactory


Method Summary
 java.lang.Object decodeKey(java.lang.String rurl, IExtendedParameterInfo param)
          Decode the input and create a KEY for the request.
 void generate(PartResponse pr, DomApplication da, java.lang.Object key, IResourceDependencyList rdl)
          This must generate the output for the resource.
 

Method Detail

decodeKey

@Nonnull
java.lang.Object decodeKey(@Nonnull
                                   java.lang.String rurl,
                                   @Nonnull
                                   IExtendedParameterInfo param)
                           throws java.lang.Exception
Decode the input and create a KEY for the request. This key must be hashable, and forms the key for the cache to retrieve an already generated copy.

Parameters:
ctx -
rurl -
Returns:
Throws:
java.lang.Exception

generate

void generate(@Nonnull
              PartResponse pr,
              @Nonnull
              DomApplication da,
              @Nonnull
              java.lang.Object key,
              @Nonnull
              IResourceDependencyList rdl)
              throws java.lang.Exception
This must generate the output for the resource. That output will be put into the cache and re-rendered when the same resource is used without calling this method again.

Parameters:
os - The stream to write the data to.
da - The Application on behalf of which this resource is generated.
key - The key, as specified by decodeKey.
rdl - When running in development mode, each file resource used should be added to this list. The buffer code will use that list to check whether a source for this thing has changed; if so it will be re-generated. This causes runtime editability for parameter files of any buffered thingydoo.
Throws:
java.lang.Exception