public abstract class DefaultPropertiesCollectorSPI extends Object implements PropertiesCollectorSPI
Modifier and Type | Field and Description |
---|---|
static String |
REGEX_PREFIX |
Constructor and Description |
---|
DefaultPropertiesCollectorSPI(String name) |
Modifier and Type | Method and Description |
---|---|
PropertiesCollector |
create(Object o,
List<String> propertyNames) |
protected abstract PropertiesCollector |
createInternal(PropertiesCollectorSPI fileNameExtractorSPI,
List<String> propertyNames,
String string) |
Map<RenderingHints.Key,?> |
getImplementationHints()
Map of hints (maybe unmodifiable) used by
this factory to customize its use.
|
String |
getName() |
boolean |
isAvailable()
Returns
true if this factory is ready for use. |
public static final String REGEX_PREFIX
public DefaultPropertiesCollectorSPI(String name)
public String getName()
getName
in interface PropertiesCollectorSPI
public boolean isAvailable()
OptionalFactory
true
if this factory is ready for use. An optional factory may returns false
for now but returns true
later. However, the converse is not recommended.isAvailable
in interface OptionalFactory
public Map<RenderingHints.Key,?> getImplementationHints()
Factory
FactoryUsingVolatileDependencies
).
The primary purpose of this method is to determine if an existing factory
instance can be reused for a set of user-supplied hints. This method is invoked by FactoryRegistry
in order to compare this factory's hints against user's hints. This is
dependency introspection only; FactoryRegistry
never invokes this
method for creating new factories.
Keys are usually static constants from the Hints
class, while values are instances
of some key-dependent class. The key set must contains at least all
hints impacting functionality. While the key set may contains all hints supplied by the user,
it is recommended to limit the set to only the hints used by this particular factory
instance. A minimal set will helps FactoryRegistry
to compare only hints that matter
and avoid the creation of unnecessary instances of this factory.
The hint values may be different than the one supplied by the user. If a user supplied a
hint as a Class
object, this method shall replace it by the actual instance used, if
possible.
Implementations of this method are usually quite simple. For example if a datum authority factory uses an ordinary datum factory, its method could be implemented as below (note that we should not check if the datum factory is null, since key with null value is the expected behaviour in this case). Example:
Map hints = new HashMap();
hints.put(Hints.DATUM_FACTORY, datumFactory);
return hints;
getImplementationHints
in interface Factory
public PropertiesCollector create(Object o, List<String> propertyNames)
create
in interface PropertiesCollectorSPI
protected abstract PropertiesCollector createInternal(PropertiesCollectorSPI fileNameExtractorSPI, List<String> propertyNames, String string)
Copyright © 1996–2019 Geotools. All rights reserved.