org.jboss.metadata.plugins.context
Class CachingMetaDataContext

java.lang.Object
  extended by org.jboss.metadata.plugins.context.AbstractMetaDataContext
      extended by org.jboss.metadata.plugins.context.CachingMetaDataContext
All Implemented Interfaces:
MetaDataContext, MetaDataRetrieval

public class CachingMetaDataContext
extends AbstractMetaDataContext

CachingMetaDataContext. TODO JBMICROCONT-120 LRU Cache

Version:
$Revision: 69888 $
Author:
Adrian Brock

Constructor Summary
CachingMetaDataContext(MetaDataContext parent, List<MetaDataRetrieval> retrievals)
          Create a new CachingMetaDataContext.
CachingMetaDataContext(MetaDataContext parent, MetaDataRetrieval retrieval)
          Create a new CachingMetaDataContext.
CachingMetaDataContext(MetaDataRetrieval retrieval)
          Create a new CachingMetaDataContext.
 
Method Summary
 void append(MetaDataRetrieval retrieval)
          Append a meta data retrieval
protected  MetaDataRetrieval getCachedScopedRetrieval(ScopeLevel level, boolean update)
          Get the cached scoped retireval.
 MetaDataRetrieval getComponentMetaDataRetrieval(Signature signature)
          Get the component metadata retrieval
 MetaDataRetrieval getScopedRetrieval(ScopeLevel level)
          Get scoped retrieval for level param.
 boolean isEmpty()
          Is metadata empty.
 void prepend(MetaDataRetrieval retrieval)
          Prepend a meta data retrieval
 void remove(MetaDataRetrieval retrieval)
          Remove a meta data retrieval
<T extends Annotation>
AnnotationItem<T>
retrieveAnnotation(Class<T> annotationType)
          Get annotation
 AnnotationsItem retrieveAnnotations()
          Get all the annotations
 MetaDatasItem retrieveMetaData()
          Get all the metadata
<T> MetaDataItem<T>
retrieveMetaData(Class<T> type)
          Get metadata
 MetaDataItem<?> retrieveMetaData(String name)
          Get metadata
 
Methods inherited from class org.jboss.metadata.plugins.context.AbstractMetaDataContext
getLocalRetrievals, getParent, getRetrievals, getScope, getValidTime, retrieveLocalAnnotations, retrieveLocalMetaData
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CachingMetaDataContext

public CachingMetaDataContext(MetaDataRetrieval retrieval)
Create a new CachingMetaDataContext.

Parameters:
retrieval - the retrieval

CachingMetaDataContext

public CachingMetaDataContext(MetaDataContext parent,
                              MetaDataRetrieval retrieval)
Create a new CachingMetaDataContext.

Parameters:
parent - the parent
retrieval - the retrieval

CachingMetaDataContext

public CachingMetaDataContext(MetaDataContext parent,
                              List<MetaDataRetrieval> retrievals)
Create a new CachingMetaDataContext.

Parameters:
parent - the parent
retrievals - the retrievals
Method Detail

retrieveAnnotations

public AnnotationsItem retrieveAnnotations()
Description copied from interface: MetaDataRetrieval
Get all the annotations

Specified by:
retrieveAnnotations in interface MetaDataRetrieval
Overrides:
retrieveAnnotations in class AbstractMetaDataContext
Returns:
the annotations

retrieveAnnotation

public <T extends Annotation> AnnotationItem<T> retrieveAnnotation(Class<T> annotationType)
Description copied from interface: MetaDataRetrieval
Get annotation

Specified by:
retrieveAnnotation in interface MetaDataRetrieval
Overrides:
retrieveAnnotation in class AbstractMetaDataContext
Type Parameters:
T - the annotation type
Parameters:
annotationType - the annotation type
Returns:
the annotation or null if not present

retrieveMetaData

public MetaDatasItem retrieveMetaData()
Description copied from interface: MetaDataRetrieval
Get all the metadata

Specified by:
retrieveMetaData in interface MetaDataRetrieval
Overrides:
retrieveMetaData in class AbstractMetaDataContext
Returns:
the metadata

retrieveMetaData

public <T> MetaDataItem<T> retrieveMetaData(Class<T> type)
Description copied from interface: MetaDataRetrieval
Get metadata

Specified by:
retrieveMetaData in interface MetaDataRetrieval
Overrides:
retrieveMetaData in class AbstractMetaDataContext
Type Parameters:
T - the metadata type
Parameters:
type - the type
Returns:
the metadata or null if not present

retrieveMetaData

public MetaDataItem<?> retrieveMetaData(String name)
Description copied from interface: MetaDataRetrieval
Get metadata

Specified by:
retrieveMetaData in interface MetaDataRetrieval
Overrides:
retrieveMetaData in class AbstractMetaDataContext
Parameters:
name - the name of the meta data
Returns:
the metadata or null if not present

append

public void append(MetaDataRetrieval retrieval)
Description copied from interface: MetaDataContext
Append a meta data retrieval

Specified by:
append in interface MetaDataContext
Overrides:
append in class AbstractMetaDataContext
Parameters:
retrieval - the meta data retrieval

prepend

public void prepend(MetaDataRetrieval retrieval)
Description copied from interface: MetaDataContext
Prepend a meta data retrieval

Specified by:
prepend in interface MetaDataContext
Overrides:
prepend in class AbstractMetaDataContext
Parameters:
retrieval - the meta data retrieval

remove

public void remove(MetaDataRetrieval retrieval)
Description copied from interface: MetaDataContext
Remove a meta data retrieval

Specified by:
remove in interface MetaDataContext
Overrides:
remove in class AbstractMetaDataContext
Parameters:
retrieval - the meta data retrieval

getComponentMetaDataRetrieval

public MetaDataRetrieval getComponentMetaDataRetrieval(Signature signature)
Description copied from interface: MetaDataRetrieval
Get the component metadata retrieval

Specified by:
getComponentMetaDataRetrieval in interface MetaDataRetrieval
Overrides:
getComponentMetaDataRetrieval in class AbstractMetaDataContext
Parameters:
signature - the signature
Returns:
the component metadata retrieval

isEmpty

public boolean isEmpty()
Description copied from interface: MetaDataRetrieval
Is metadata empty.

Specified by:
isEmpty in interface MetaDataRetrieval
Overrides:
isEmpty in class AbstractMetaDataContext
Returns:
true if metadata empty

getScopedRetrieval

public MetaDataRetrieval getScopedRetrieval(ScopeLevel level)
Description copied from interface: MetaDataRetrieval
Get scoped retrieval for level param.

Specified by:
getScopedRetrieval in interface MetaDataRetrieval
Overrides:
getScopedRetrieval in class AbstractMetaDataContext
Parameters:
level - the scope level
Returns:
list of retrieval instances

getCachedScopedRetrieval

protected MetaDataRetrieval getCachedScopedRetrieval(ScopeLevel level,
                                                     boolean update)
Get the cached scoped retireval.

Parameters:
level - the scope level
update - update current cache
Returns:
cached retrieval or null


Copyright © 2008 JBoss Inc.. All Rights Reserved.