net.sf.jelly.apt.strategies
Class NestedTypeDeclarationLoopStrategy<B extends TemplateBlock>

java.lang.Object
  extended by net.sf.jelly.apt.strategies.TemplateStrategyControl<B>
      extended by net.sf.jelly.apt.strategies.TemplateBlockStrategy<B>
          extended by net.sf.jelly.apt.strategies.TemplateLoopStrategy<D,B>
              extended by net.sf.jelly.apt.strategies.DeclarationLoopStrategy<D,B>
                  extended by net.sf.jelly.apt.strategies.AnnotationFilterableDeclarationLoopStrategy<com.sun.mirror.declaration.TypeDeclaration,B>
                      extended by net.sf.jelly.apt.strategies.TypeDeclarationLoopStrategy<B>
                          extended by net.sf.jelly.apt.strategies.NestedTypeDeclarationLoopStrategy<B>
All Implemented Interfaces:
TemplateStrategy<B>

public class NestedTypeDeclarationLoopStrategy<B extends TemplateBlock>
extends TypeDeclarationLoopStrategy<B>

Evaluates its body for all nested types in a type declaration.

Author:
Ryan Heaton

Constructor Summary
NestedTypeDeclarationLoopStrategy()
           
 
Method Summary
protected  java.util.Collection<com.sun.mirror.declaration.TypeDeclaration> getAllTypeDeclarations()
          Limits the loop to all type declarations of the current type declaration.
protected  com.sun.mirror.declaration.TypeDeclaration getCurrentTypeDeclaration()
          Gets the current declaration (in a loop).
 com.sun.mirror.declaration.TypeDeclaration getDeclaration()
          The declaration for which to iterate over all nested types.
 void setDeclaration(com.sun.mirror.declaration.TypeDeclaration declaration)
          The declaration for which to iterate over all nested types.
 
Methods inherited from class net.sf.jelly.apt.strategies.TypeDeclarationLoopStrategy
getAllDeclarationsToConsiderForAnnotationFiltering, getAnnotationProcessorEnvironment, getCurrentDeclaration, getCurrentPackageDeclaration, getPackage, isIncludeClasses, isIncludeInterfaces, setIncludeClasses, setIncludeInterfaces, setPackage
 
Methods inherited from class net.sf.jelly.apt.strategies.AnnotationFilterableDeclarationLoopStrategy
getAnnotation, getAnnotationVar, getDeclarations, getExcludes, hasAnnotation, setAnnotation, setAnnotationVar, setExcludes, setupModelForLoop
 
Methods inherited from class net.sf.jelly.apt.strategies.DeclarationLoopStrategy
getIndexVar, getLoop, getVar, setIndexVar, setVar
 
Methods inherited from class net.sf.jelly.apt.strategies.TemplateLoopStrategy
preProcess, processBody
 
Methods inherited from class net.sf.jelly.apt.strategies.TemplateBlockStrategy
postProcess
 
Methods inherited from class net.sf.jelly.apt.strategies.TemplateStrategyControl
invoke
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

NestedTypeDeclarationLoopStrategy

public NestedTypeDeclarationLoopStrategy()
Method Detail

getAllTypeDeclarations

protected java.util.Collection<com.sun.mirror.declaration.TypeDeclaration> getAllTypeDeclarations()
                                                                                           throws MissingParameterException
Limits the loop to all type declarations of the current type declaration.

Overrides:
getAllTypeDeclarations in class TypeDeclarationLoopStrategy<B extends TemplateBlock>
Returns:
The collection of nested types.
Throws:
MissingParameterException

getDeclaration

public com.sun.mirror.declaration.TypeDeclaration getDeclaration()
The declaration for which to iterate over all nested types.

Returns:
The declaration for which to iterate over all nested types.

setDeclaration

public void setDeclaration(com.sun.mirror.declaration.TypeDeclaration declaration)
The declaration for which to iterate over all nested types.

Parameters:
declaration - The declaration for which to iterate over all nested types.

getCurrentTypeDeclaration

protected com.sun.mirror.declaration.TypeDeclaration getCurrentTypeDeclaration()
Gets the current declaration (in a loop).

Returns:
the current declaration (in a loop).