Class DatumFilterChainService
java.lang.Object
net.solarnetwork.service.support.BasicIdentifiable
net.solarnetwork.node.service.support.BaseIdentifiable
net.solarnetwork.node.service.support.BaseDatumFilterSupport
net.solarnetwork.node.service.support.DatumFilterChainService
- All Implemented Interfaces:
net.solarnetwork.service.DatumFilterService,net.solarnetwork.service.Identifiable,net.solarnetwork.settings.SettingSpecifierProvider
public class DatumFilterChainService
extends BaseDatumFilterSupport
implements net.solarnetwork.service.DatumFilterService, net.solarnetwork.settings.SettingSpecifierProvider
A configurable chain of transformer services.
If a staticService is configured then it will be applied
first. Then the transformUids will be iterated over and the
first matching service found for each value in transformServices will
be applied.
- Since:
- 2.0
- Version:
- 1.3
- Author:
- matt
-
Field Summary
Fields inherited from class net.solarnetwork.node.service.support.BaseDatumFilterSupport
DEFAULT_STAT_LOG_FREQUENCY, DEFAULT_UID, statsFields inherited from class net.solarnetwork.node.service.support.BaseIdentifiable
logFields inherited from interface net.solarnetwork.service.DatumFilterService
PARAM_TEST_ONLYFields inherited from interface net.solarnetwork.service.Identifiable
GROUP_UID_PROPERTY, UID_PROPERTY -
Constructor Summary
ConstructorsConstructorDescriptionDatumFilterChainService(String settingUid, List<net.solarnetwork.service.DatumFilterService> transformServices) Constructor.DatumFilterChainService(String settingUid, List<net.solarnetwork.service.DatumFilterService> transformServices, boolean configurableUid) Constructor.DatumFilterChainService(String settingUid, List<net.solarnetwork.service.DatumFilterService> transformServices, boolean configurableUid, net.solarnetwork.service.DatumFilterService staticService) Constructor. -
Method Summary
Modifier and TypeMethodDescriptionnet.solarnetwork.domain.datum.DatumSamplesOperationsfilter(net.solarnetwork.domain.datum.Datum datum, net.solarnetwork.domain.datum.DatumSamplesOperations samples, Map<String, Object> parameters) List<net.solarnetwork.settings.SettingSpecifier> String[]Get the transform UIDs to use.intGet the transform UIDs count.booleanGet the ignoretransformUidsflag.voidsetAlternateDatumFilterServices(List<net.solarnetwork.service.DatumFilterService> alternateDatumFilterServices) Set the sample transformers to use.voidsetIgnoreTransformUids(boolean ignoreTransformUids) Set the ignoretransformUidsflag.voidsetTransformUids(String[] transformUids) Set the transform UIDs to use.voidsetTransformUidsCount(int count) Set the transform UIDs count.Methods inherited from class net.solarnetwork.node.service.support.BaseDatumFilterSupport
conditionsMatch, getDatumService, getDescription, getOpModesService, getRequiredOperationalMode, getRequiredTag, getSourceId, getSourceIdPattern, getStatusMessage, incrementIgnoredStats, incrementInputStats, incrementStats, matchesAny, operationalModeMatches, populateBaseSampleTransformSupportSettings, populateBaseSampleTransformSupportSettings, populateStatusSettings, setDatumService, setOpModesService, setRequiredOperationalMode, setRequiredTag, setSourceId, setUid, smartPlaceholders, sourceIdMatches, tagMatchesMethods inherited from class net.solarnetwork.node.service.support.BaseIdentifiable
baseIdentifiableSettings, baseIdentifiableSettings, getExpressionServices, getPlaceholderService, populateExpressionDatumProperties, resolvePlaceholders, resolvePlaceholders, setExpressionServices, setPlaceholderServiceMethods inherited from class net.solarnetwork.service.support.BasicIdentifiable
basicIdentifiableMetadataSettings, basicIdentifiableSettings, basicIdentifiableSettings, basicIdentifiableSettings, doubleMetadataValue, getDisplayName, getGroupUid, getGroupUID, getMessageSource, getMetadata, getMetadataCount, getUid, getUID, integerMetadataValue, metadataValue, numberMetadataValue, saveMetadataValue, saveMetadataValue, setDisplayName, setGroupUid, setGroupUID, setMessageSource, setMetadata, setMetadataCount, setUID, smartMetadataValueMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface net.solarnetwork.service.DatumFilterService
getDescriptionMethods inherited from interface net.solarnetwork.service.Identifiable
getDisplayName, getGroupUid, getUidMethods inherited from interface net.solarnetwork.settings.SettingSpecifierProvider
getDisplayName, getMessageSource, templateSettingSpecifiers
-
Constructor Details
-
DatumFilterChainService
public DatumFilterChainService(String settingUid, List<net.solarnetwork.service.DatumFilterService> transformServices) Constructor.The
configurableUidproperty will be set to true.- Parameters:
settingUid- theSettingSpecifierProvider.getSettingUid()value to usetransformServices- the list of available services- Throws:
IllegalArgumentException- ifsettingUidortransformServicesare null
-
DatumFilterChainService
public DatumFilterChainService(String settingUid, List<net.solarnetwork.service.DatumFilterService> transformServices, boolean configurableUid) Constructor.- Parameters:
settingUid- theSettingSpecifierProvider.getSettingUid()value to usetransformServices- the list of available servicesconfigurableUid- true to support the UID and groupUid values as setting specifiers- Throws:
IllegalArgumentException- ifsettingUidortransformServicesare null
-
DatumFilterChainService
public DatumFilterChainService(String settingUid, List<net.solarnetwork.service.DatumFilterService> transformServices, boolean configurableUid, net.solarnetwork.service.DatumFilterService staticService) Constructor.- Parameters:
settingUid- theSettingSpecifierProvider.getSettingUid()value to usetransformServices- the list of available servicesconfigurableUid- true to support the UID and groupUid values as setting specifiersstaticService- an optional static service- Throws:
IllegalArgumentException- ifsettingUidortransformServicesare null
-
-
Method Details
-
getSettingUid
- Specified by:
getSettingUidin interfacenet.solarnetwork.settings.SettingSpecifierProvider
-
getSettingSpecifiers
- Specified by:
getSettingSpecifiersin interfacenet.solarnetwork.settings.SettingSpecifierProvider
-
filter
public net.solarnetwork.domain.datum.DatumSamplesOperations filter(net.solarnetwork.domain.datum.Datum datum, net.solarnetwork.domain.datum.DatumSamplesOperations samples, Map<String, Object> parameters) - Specified by:
filterin interfacenet.solarnetwork.service.DatumFilterService
-
getTransformUids
Get the transform UIDs to use.- Returns:
- the transform UIDs.
-
setTransformUids
Set the transform UIDs to use.This list defines the
DatumFilterServiceinstances to apply, from the list of available services.- Parameters:
transformUids- the UIDs to set
-
getTransformUidsCount
public int getTransformUidsCount()Get the transform UIDs count.- Returns:
- the number of UIDs to support
-
setTransformUidsCount
public void setTransformUidsCount(int count) Set the transform UIDs count.- Parameters:
count- the number of UIDs to support
-
setAlternateDatumFilterServices
public void setAlternateDatumFilterServices(List<net.solarnetwork.service.DatumFilterService> alternateDatumFilterServices) Set the sample transformers to use.These are not applied by this class. Rather, if this is set then a read-only setting will be included in
getSettingSpecifiers()that lists the configured filters.- Parameters:
alternateDatumFilterServices- the transformers to use
-
isIgnoreTransformUids
public boolean isIgnoreTransformUids()Get the ignoretransformUidsflag.- Returns:
- true to always apply all available filters in the
transformServicesproperty; defaults to false - Since:
- 1.2
-
setIgnoreTransformUids
public void setIgnoreTransformUids(boolean ignoreTransformUids) Set the ignoretransformUidsflag.- Parameters:
ignoreTransformUids- true to always apply all available filters in thetransformServicesproperty- Since:
- 1.2
-