public class TLcyGXYCompositeLabelPlacementHintProvider extends TLcyGenericComposite<ILcyGXYLabelPlacementHintProvider> implements ILcyGXYLabelPlacementHintProvider
ILcyGXYLabelPlacementHintProvider
according to the composite
design pattern.
When creating a new TLcyCompositeLabelPlacementHintProvider
using the default
constructor (see TLcyGXYCompositeLabelPlacementHintProvider()
), the created instance will
only work on/with the ILcyGXYLabelPlacementHintProviders registered on this composite
instance (see addLabelPlacementHintProvider(com.luciad.lucy.map.labeling.ILcyGXYLabelPlacementHintProvider)
and removeLabelPlacementHintProvider(com.luciad.lucy.map.labeling.ILcyGXYLabelPlacementHintProvider)
.
When creating a new TLcyCompositeLabelPlacementHintProvider
using the constructor
specifying an ILcyLucyEnv
instance (see TLcyGXYCompositeLabelPlacementHintProvider(ILcyLucyEnv)
,
the created instance will work on the Lucy back-end
services. It will use all registered ILcyGXYLabelPlacementHintProvider instances of the
Lucy back-end, adding and/or removing an ILcyLabelPlacementHintProvider
will
add/remove the ILcyLabelPlacementHintProvider
as service from Lucy, ... .
Creating a TLcyGXYLabelPlacementHint
using the back-end based implementation can be done by
creating a new instance of this class:
//Create a new instance whenever you need it.
TLcyGXYCompositeLabelPlacementHintProvider provider = new TLcyGXYCompositeLabelPlacementHintProvider(aLucyEnv);
TLcyGXYLabelPlacementHint hint = provider.getLabelPlacementHint(aLayer);
// There is no need to keep a reference to the composite instance, you can create a new one
// the next time you would need it
provider = null;
PRIORITY_DEFAULT, PRIORITY_FALLBACK
Constructor and Description |
---|
TLcyGXYCompositeLabelPlacementHintProvider()
Default constructor.
|
TLcyGXYCompositeLabelPlacementHintProvider(ILcyLucyEnv aLucyEnv)
Construct a
TLcyCompositeLabelPlacementHintProvider working on the Lucy
back-end. |
Modifier and Type | Method and Description |
---|---|
void |
addLabelPlacementHintProvider(ILcyGXYLabelPlacementHintProvider aLabelPlacementHintProvider)
Adds the given
ILcyLabelPlacementHintProvider to the list of registered
label placement hint providers. |
TLcyGXYLabelPlacementHint |
getLabelPlacementHint(ILcdGXYLayer aGXYLayer)
Returns a label placement hint for the specified layer.
|
ILcyGXYLabelPlacementHintProvider |
getLabelPlacementHintProvider(int aIndex)
Returns the
ILcyLabelPlacementHintProvider at index aIndex . |
int |
getLabelPlacementHintProviderCount()
Returns the number of registered
ILcyLabelPlacementHintProvider instances. |
void |
removeLabelPlacementHintProvider(ILcyGXYLabelPlacementHintProvider aLabelPlacementHintProvider)
Removes the given
ILcyLabelPlacementHintProvider from the list of registered
label placement hint providers. |
add, add, getList, getPriority, iterator, remove
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
forEach, spliterator
public TLcyGXYCompositeLabelPlacementHintProvider()
The created instance will only work on the ILcyLabelPlacementHintProvider
instances
registered to it. If you want to use all registered ILcyLabelPlacementHintProvider
instances of the Lucy back-end, use TLcyGXYCompositeLabelPlacementHintProvider(ILcyLucyEnv)
instead.
public TLcyGXYCompositeLabelPlacementHintProvider(ILcyLucyEnv aLucyEnv)
TLcyCompositeLabelPlacementHintProvider
working on the Lucy
back-end.
It will use all ILcyLabelPlacementHintProvider
instances registered to the
back-end, and adding and/or removing ILcyLabelPlacementHintProvider
s to/from this
TLcyCompositeLabelPlacementHintProvider
will respectively add/remove it as service
from the back-end.
If you want to create a TLcyCompositeLabelPlacementHintProvider
which does not
use the back-end, use TLcyGXYCompositeLabelPlacementHintProvider()
instead.
aLucyEnv
- The Lucy back-end.TLcyGXYCompositeLabelPlacementHintProvider()
,
ILcyLucyEnv.addService(Object, int)
,
ILcyLucyEnv.removeService(Object)
public void addLabelPlacementHintProvider(ILcyGXYLabelPlacementHintProvider aLabelPlacementHintProvider)
ILcyLabelPlacementHintProvider
to the list of registered
label placement hint providers.
If the constructor specifying an ILcyLucyEnv
is used, the
ILcyLabelPlacementHintProvider
will be registered as a service on the Lucy
back-end (see ILcyLucyEnv.addService(Object, int)
). When calling ILcyLucyEnv.getServices(Class)
afterwards, aLabelPlacementHintProvider
will only be included in the returned list when the requested class was
ILcyLabelPlacementHintProvider.class
.
Note: if you want to remove the registered ILcyLabelPlacementHintProvider
afterwards, use removeLabelPlacementHintProvider(ILcyGXYLabelPlacementHintProvider)
and not ILcyLucyEnv.removeService(Object)
.
aLabelPlacementHintProvider
- The label placement hint provider to add. Must not be
null
.removeLabelPlacementHintProvider(ILcyGXYLabelPlacementHintProvider)
public void removeLabelPlacementHintProvider(ILcyGXYLabelPlacementHintProvider aLabelPlacementHintProvider)
ILcyLabelPlacementHintProvider
from the list of registered
label placement hint providers. Nothing will happen if the given factory was never added
before.
If the constructor specifying an ILcyLucyEnv
is used, the
ILcyLabelPlacementHintProvider
will be removed as service from the Lucy back-end
(see ILcyLucyEnv.removeService(Object)
).
Note: it is only possible to remove ILcyLabelPlacementHintProvider
instances
which were registered using the addLabelPlacementHintProvider(ILcyGXYLabelPlacementHintProvider)
method.
aLabelPlacementHintProvider
- The label placement hint provider to remove. Must not be
null
.addLabelPlacementHintProvider(ILcyGXYLabelPlacementHintProvider)
public TLcyGXYLabelPlacementHint getLabelPlacementHint(ILcdGXYLayer aGXYLayer)
ILcyGXYLabelPlacementHintProvider
null
should be
returned.getLabelPlacementHint
in interface ILcyGXYLabelPlacementHintProvider
aGXYLayer
- the layer for which we wish to retrieve a label placement hint.null
otherwise.TLcyGXYLabelPlacementHint
public int getLabelPlacementHintProviderCount()
ILcyLabelPlacementHintProvider
instances.ILcyLabelPlacementHintProvider
instances.public ILcyGXYLabelPlacementHintProvider getLabelPlacementHintProvider(int aIndex)
Returns the ILcyLabelPlacementHintProvider
at index aIndex
.
aIndex
- The index: 0 <= aIndex < getLabelPlacementHintProviderCount()
ILcyLabelPlacementHintProvider
at index aIndex
.