@Override protected TileTransformer<?> create () throws ConfigurationException { String transformerTypes = getPropertyValue(TILE_TRANSFORMER_TYPE); if ("filtervars".equals(transformerTypes)) { JSONObject variables = getPropertyValue(INITIALIZATION_DATA); return new FilterVarsDoubleArrayTileTransformer<>(variables); } else if ("filterbucket".equals(transformerTypes)) { JSONObject arguments = getPropertyValue(INITIALIZATION_DATA); return new FilterByBucketTileTransformer<>(arguments); } else if ("filtertopicbucket".equals(transformerTypes)) { JSONObject arguments = getPropertyValue(INITIALIZATION_DATA); return new FilterTopicByBucketTileTransformer<>(arguments); } else if ("avgdivbucket".equals(transformerTypes)) { JSONObject arguments = getPropertyValue(INITIALIZATION_DATA); return new AvgDivBucketTileTransformer<>(arguments); } else if ("avglogbucket".equals(transformerTypes)) { JSONObject arguments = getPropertyValue(INITIALIZATION_DATA); return new AvgLogBucketTileTransformer<>(arguments); } else { // 'identity' or none passed in will give the default transformer return new IdentityTileTransformer<Object>(); } } }