org.objectweb.fractal.adl
Class ResolvingLoader

java.lang.Object
  extended byorg.objectweb.fractal.adl.DelegatingLoader
      extended byorg.objectweb.fractal.adl.CachingLoader
          extended byorg.objectweb.fractal.adl.ResolvingLoader
All Implemented Interfaces:
BindingController, Loader

public class ResolvingLoader
extends CachingLoader

A CachingLoader that resolves the inheritance relations between definitions. This loader transforms definitions that extend other definitions into equivalent definitions that do not use inheritance. This loader also checks typing constraints on the definitions it loads.


Field Summary
 
Fields inherited from class org.objectweb.fractal.adl.DelegatingLoader
delegate, logger, loggerFactory
 
Constructor Summary
ResolvingLoader()
          Constructs a new ResolvingLoader object.
ResolvingLoader(boolean comment)
          Constructs a new ResolvingLoader object.
 
Method Summary
protected  XMLElement handleTemplateDescriptor(String name, XMLElement desc)
          Handles a template descriptor that has just been loaded by the delegate.
protected  XMLElement handleTypeDescriptor(String name, XMLElement desc)
          Handles a type descriptor that has just been loaded by the delegate.
 
Methods inherited from class org.objectweb.fractal.adl.CachingLoader
loadTemplateDescriptor, loadTypeDescriptor
 
Methods inherited from class org.objectweb.fractal.adl.DelegatingLoader
bindFc, listFc, lookupFc, unbindFc
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ResolvingLoader

public ResolvingLoader()
Constructs a new ResolvingLoader object.


ResolvingLoader

public ResolvingLoader(boolean comment)
Constructs a new ResolvingLoader object.

Parameters:
comment - true to add generated attributes to the resolved elements to indicate the source of each attribute or element (this source can be the base element, the super element, or a merged of these two elements. The generated attribute is empty in the first case, [src]="super" in the second case, and [src]="merge" in the last case - the attribute name is voluntarily not a valid identifier to show that this attribute has been generated, and to avoid conflicts with normal attributes).
Method Detail

handleTypeDescriptor

protected XMLElement handleTypeDescriptor(String name,
                                          XMLElement desc)
                                   throws ParserException
Description copied from class: DelegatingLoader
Handles a type descriptor that has just been loaded by the delegate.

Specified by:
handleTypeDescriptor in class DelegatingLoader
Parameters:
name - the name of the type descriptor.
desc - a type descriptor.
Returns:
the given type descriptor, possibly modified by this method.
Throws:
ParserException - if the type descriptor is invalid.

handleTemplateDescriptor

protected XMLElement handleTemplateDescriptor(String name,
                                              XMLElement desc)
                                       throws ParserException
Description copied from class: DelegatingLoader
Handles a template descriptor that has just been loaded by the delegate.

Specified by:
handleTemplateDescriptor in class DelegatingLoader
Parameters:
name - the name of the template descriptor.
desc - a template descriptor.
Returns:
the given template descriptor, possibly modified by this method.
Throws:
ParserException - if the template descriptor is invalid.