public class ChainedAnnotationFontFactory extends Object implements AnnotationFontFactory
AnnotationFontFactory
instances which it delegates calls to, one after
the other. The first result will become the chain's result. No further delegates will be asked.
If all delegates return null
, this will also be the
ChainedAnnotationFontFactory
's result.
A typical place to use AnnotationFontFactory
instances is in Annotations
helper
class. The AnnotationFontFactory
registered there must never return null
. A
simple way to fulfill this requirement is to register a ChainedAnnotationFontFactory
which, as its last delegate, has a AnnotationFontFactory
that always returns a
Font
. One such example is the AnnotationBasicFontFactory
.
Modifier and Type | Field and Description |
---|---|
protected List<AnnotationFontFactory> |
factoryChain |
Constructor and Description |
---|
ChainedAnnotationFontFactory(AnnotationFontFactory... factoryChain) |
Modifier and Type | Method and Description |
---|---|
Font |
create(FontAttributeSet fontAttributeSet,
Map<String,Object> scope)
Supply a
Font which fits well for the requested parameters. |
Collection<FontAttributeSet> |
getAvailableFontAttributeSets()
Returns available fonts provided by this implementation described via
FontAttributeSet
class. |
protected final List<AnnotationFontFactory> factoryChain
public ChainedAnnotationFontFactory(AnnotationFontFactory... factoryChain)
public Font create(FontAttributeSet fontAttributeSet, Map<String,Object> scope)
FontFactory
Font
which fits well for the requested parameters. Care should be taken to
provide a fast implementation. This method might be called frequently and from various Threads at
the same time. Blocking should be avoided.create
in interface FontFactory
fontAttributeSet
- The Attribute
s the requested font should have. Characteristics
like its name or styles.scope
- Information about this request's scope. This could encompass things like its intent,
target, purpose or source.Font
deemed appropriate, or null
if no such Font
is
available. Some implementations might be able to return a Font
which fits all
requested characteristics. Others might have several to choose from or none at all. The
Font
which is returned doesn't have to fit all of the requested characteristics,
or even any at all. It must only be appropriate in the given situation.Scopes
public Collection<FontAttributeSet> getAvailableFontAttributeSets()
AnnotationFontFactory
FontAttributeSet
class.
This method is currently used by annotation based font face editors. Current implementations
provide a simple FontAttributeSet
definition containing FamilyName
attribute
only.getAvailableFontAttributeSets
in interface AnnotationFontFactory
FontAttributeSet
definitionCopyright © 2024 levigo holding gmbh. All rights reserved.