Class DefaultPropertiesCollectorSPI
- Object
-
- DefaultPropertiesCollectorSPI
-
- All Implemented Interfaces:
PropertiesCollectorSPI,Factory,OptionalFactory
- Direct Known Subclasses:
ByteFileNameExtractorSPI,DoubleFileNameExtractorSPI,FloatFileNameExtractorSPI,IntegerFileNameExtractorSPI,LongFileNameExtractorSPI,RuntimeExtractorSPI,ShortFileNameExtractorSPI,StringFileNameExtractorSPI
public abstract class DefaultPropertiesCollectorSPI extends Object implements PropertiesCollectorSPI
-
-
Field Summary
Fields Modifier and Type Field Description static StringFULL_PATHstatic StringFULL_PATH_PREFIXstatic StringREGEXstatic StringREGEX_PREFIX
-
Constructor Summary
Constructors Constructor Description DefaultPropertiesCollectorSPI(String name)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description PropertiesCollectorcreate(Object o, List<String> propertyNames)protected abstract PropertiesCollectorcreateInternal(PropertiesCollectorSPI fileNameExtractorSPI, List<String> propertyNames, String string)Map<RenderingHints.Key,?>getImplementationHints()Map of hints (maybe unmodifiable) used by this factory to customize its use.StringgetName()booleanisAvailable()Returnstrueif this factory is ready for use.
-
-
-
Field Detail
-
REGEX
public static final String REGEX
- See Also:
- Constant Field Values
-
FULL_PATH
public static final String FULL_PATH
- See Also:
- Constant Field Values
-
REGEX_PREFIX
public static final String REGEX_PREFIX
- See Also:
- Constant Field Values
-
FULL_PATH_PREFIX
public static final String FULL_PATH_PREFIX
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
DefaultPropertiesCollectorSPI
public DefaultPropertiesCollectorSPI(String name)
-
-
Method Detail
-
getName
public String getName()
- Specified by:
getNamein interfacePropertiesCollectorSPI
-
isAvailable
public boolean isAvailable()
Description copied from interface:OptionalFactoryReturnstrueif this factory is ready for use. An optional factory may returnsfalsefor now but returnstruelater. However, the converse is not recommended.- Specified by:
isAvailablein interfaceOptionalFactory
-
getImplementationHints
public Map<RenderingHints.Key,?> getImplementationHints()
Description copied from interface:FactoryMap of hints (maybe unmodifiable) used by this factory to customize its use. This map is not guaranteed to contains all the hints supplied by the user; it may be only a subset. Consequently, hints provided here are usually not suitable for creating new factories, unless the implementation make some additional garantees.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
FactoryRegistryin order to compare this factory's hints against user's hints. This is dependency introspection only;FactoryRegistrynever invokes this method for creating new factories.Keys are usually static constants from the
Hintsclass, 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 helpsFactoryRegistryto 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
Classobject, 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;- Specified by:
getImplementationHintsin interfaceFactory- Returns:
- The map of hints, or an {@linkplain java.util.Collections.emptyMap() empty map} if none.
-
create
public PropertiesCollector create(Object o, List<String> propertyNames)
- Specified by:
createin interfacePropertiesCollectorSPI
-
createInternal
protected abstract PropertiesCollector createInternal(PropertiesCollectorSPI fileNameExtractorSPI, List<String> propertyNames, String string)
-
-