org.eclipse.jetty.webapp

## Class MetaData

- java.lang.Object
- - org.eclipse.jetty.webapp.MetaData

    public class MetaData
    extends Object

MetaData All data associated with the configuration and deployment of a web application.

### Nested Class Summary

Nested Classes
`static class` `MetaData.OriginInfo`

### Field Summary

Fields
`protected List<DiscoveredAnnotation>` `_annotations`
`protected List<DescriptorProcessor>` `_descriptorProcessors`
`protected boolean` `_metaDataComplete`
`protected List<Resource>` `_orderedContainerJars`
`protected List<Resource>` `_orderedWebInfJars`
`protected Ordering` `_ordering`
`protected Map<String,MetaData.OriginInfo>` `_origins`
`protected WebDescriptor` `_webDefaultsRoot`
`protected Map<Resource,List<DiscoveredAnnotation>>` `_webFragmentAnnotations`
`protected Map<String,FragmentDescriptor>` `_webFragmentNameMap`
`protected Map<Resource,FragmentDescriptor>` `_webFragmentResourceMap`
`protected List<FragmentDescriptor>` `_webFragmentRoots`
`protected List<Resource>` `_webInfJars`
`protected List<WebDescriptor>` `_webOverrideRoots`
`protected WebDescriptor` `_webXmlRoot`
`protected boolean` `allowDuplicateFragmentNames`
`static String` `ORDERED_LIBS`

### Constructor Summary

Constructors
Constructor and Description
`MetaData()`

### Method Summary

Methods
`void` `addContainerJar(Resource jar)`
`void` `addDescriptorProcessor(DescriptorProcessor p)`
`void` `addDiscoveredAnnotation(Resource resource, DiscoveredAnnotation annotation)`
`void` `addDiscoveredAnnotations(List<DiscoveredAnnotation> annotations)` Annotations not associated with a WEB-INF/lib fragment jar.
`void` `addDiscoveredAnnotations(Resource resource, List<DiscoveredAnnotation> annotations)`
`void` `addFragment(Resource jarResource, Resource xmlResource)` Add a web-fragment.xml
`void` `addOverride(Resource override)`
`void` `addWebInfJar(Resource newResource)`
`void` `clear()` Empty ready for reuse
`FragmentDescriptor` `getFragment(Resource jar)`
`FragmentDescriptor` `getFragment(String name)`
`List<FragmentDescriptor>` `getFragments()`
`Resource` `getJarForFragment(String name)`
`Map<String,FragmentDescriptor>` `getNamedFragments()`
`List<Resource>` `getOrderedContainerJars()`
`List<FragmentDescriptor>` `getOrderedFragments()`
`List<Resource>` `getOrderedWebInfJars()`
`Ordering` `getOrdering()`
`Origin` `getOrigin(String name)`
`Descriptor` `getOriginDescriptor(String name)`
`List<WebDescriptor>` `getOverrideWebs()`
`WebDescriptor` `getWebDefault()`
`List<Resource>` `getWebInfJars()`
`WebDescriptor` `getWebXml()`
`boolean` `isAllowDuplicateFragmentNames()`
`boolean` `isDistributable()`
`boolean` `isMetaDataComplete()`
`void` `orderFragments()`
`void` `resolve(WebAppContext context)` Resolve all servlet/filter/listener metadata from all sources: descriptors and annotations.
`void` `setAllowDuplicateFragmentNames(boolean allowDuplicateFragmentNames)`
`void` `setDefaults(Resource webDefaults)`
`void` `setOrdering(Ordering o)`
`void` `setOrigin(String name)`
`void` `setOrigin(String name, Descriptor d)`
`void` `setOrigin(String name, Origin origin)`
`void` `setWebXml(Resource webXml)`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### ORDERED_LIBS

    public static final String ORDERED_LIBS

See Also:
  Constant Field Values

#### _origins

    protected Map<String,MetaData.OriginInfo> _origins

#### _webDefaultsRoot

    protected WebDescriptor _webDefaultsRoot

#### _webXmlRoot

    protected WebDescriptor _webXmlRoot

#### _webOverrideRoots

    protected final List<WebDescriptor> _webOverrideRoots

#### _metaDataComplete

    protected boolean _metaDataComplete

#### _annotations

    protected final List<DiscoveredAnnotation> _annotations

#### _descriptorProcessors

    protected final List<DescriptorProcessor> _descriptorProcessors

#### _webFragmentRoots

    protected final List<FragmentDescriptor> _webFragmentRoots

#### _webFragmentNameMap

    protected final Map<String,FragmentDescriptor> _webFragmentNameMap

#### _webFragmentResourceMap

    protected final Map<Resource,FragmentDescriptor> _webFragmentResourceMap

#### _webFragmentAnnotations

    protected final Map<Resource,List<DiscoveredAnnotation>> _webFragmentAnnotations

#### _webInfJars

    protected final List<Resource> _webInfJars

#### _orderedWebInfJars

    protected final List<Resource> _orderedWebInfJars

#### _orderedContainerJars

    protected final List<Resource> _orderedContainerJars

#### _ordering

    protected Ordering _ordering

#### allowDuplicateFragmentNames

    protected boolean allowDuplicateFragmentNames

### Constructor Detail

#### MetaData

    public MetaData()

### Method Detail

#### clear

    public void clear()

Empty ready for reuse

#### setDefaults

    public void setDefaults(Resource webDefaults)
                     throws Exception

Throws:
  `Exception`

#### setWebXml

    public void setWebXml(Resource webXml)
                   throws Exception

Throws:
  `Exception`

#### addOverride

    public void addOverride(Resource override)
                     throws Exception

Throws:
  `Exception`

#### addFragment

    public void addFragment(Resource jarResource,
                   Resource xmlResource)
                     throws Exception

Add a web-fragment.xml

Parameters:
  `jarResource` - the jar the fragment is contained in
  `xmlResource` - the resource representing the xml file
Throws:
  `Exception`

#### addDiscoveredAnnotations

    public void addDiscoveredAnnotations(List<DiscoveredAnnotation> annotations)

Annotations not associated with a WEB-INF/lib fragment jar. These are from WEB-INF/classes or the ??container path??

Parameters:
  `annotations` -

#### addDiscoveredAnnotation

    public void addDiscoveredAnnotation(Resource resource,
                               DiscoveredAnnotation annotation)

#### addDiscoveredAnnotations

    public void addDiscoveredAnnotations(Resource resource,
                                List<DiscoveredAnnotation> annotations)

#### addDescriptorProcessor

    public void addDescriptorProcessor(DescriptorProcessor p)

#### orderFragments

    public void orderFragments()

#### resolve

    public void resolve(WebAppContext context)
                 throws Exception

Resolve all servlet/filter/listener metadata from all sources: descriptors and annotations.

Throws:
  `Exception`

#### isDistributable

    public boolean isDistributable()

#### getWebXml

    public WebDescriptor getWebXml()

#### getOverrideWebs

    public List<WebDescriptor> getOverrideWebs()

#### getWebDefault

    public WebDescriptor getWebDefault()

#### getFragments

    public List<FragmentDescriptor> getFragments()

#### getOrderedWebInfJars

    public List<Resource> getOrderedWebInfJars()

#### getOrderedFragments

    public List<FragmentDescriptor> getOrderedFragments()

#### getOrdering

    public Ordering getOrdering()

#### setOrdering

    public void setOrdering(Ordering o)

#### getFragment

    public FragmentDescriptor getFragment(Resource jar)

#### getFragment

    public FragmentDescriptor getFragment(String name)

#### getJarForFragment

    public Resource getJarForFragment(String name)

#### getNamedFragments

    public Map<String,FragmentDescriptor> getNamedFragments()

#### getOrigin

    public Origin getOrigin(String name)

#### getOriginDescriptor

    public Descriptor getOriginDescriptor(String name)

#### setOrigin

    public void setOrigin(String name,
                 Descriptor d)

#### setOrigin

    public void setOrigin(String name)

#### setOrigin

    public void setOrigin(String name,
                 Origin origin)

#### isMetaDataComplete

    public boolean isMetaDataComplete()

#### addWebInfJar

    public void addWebInfJar(Resource newResource)

#### getWebInfJars

    public List<Resource> getWebInfJars()

#### getOrderedContainerJars

    public List<Resource> getOrderedContainerJars()

#### addContainerJar

    public void addContainerJar(Resource jar)

#### isAllowDuplicateFragmentNames

    public boolean isAllowDuplicateFragmentNames()

#### setAllowDuplicateFragmentNames

    public void setAllowDuplicateFragmentNames(boolean allowDuplicateFragmentNames)