it is from you previous implementations
Please code in Java:
SineScaleFilter: (10p)
public class SineScaleFilter extends DataFilter
This filter is similar to the ScaleFilter, except that
instead of multiplying by a constant at every step, it multiplies
by a sine wave (see SineSource) at every step. This filter
will implement the following:
public SineScaleFilter(DataSource src, Double a, Double f,
Double d) initializes the filter with the given data source
and sine wave parameters a for amplitude, f for
frequency, and d for offset.
@Override public Double next().
Implementation note: although you must derive this class
from DataFilter, you are not required to
derive directly from DataFilter. You can
either leave the declaration as-is, or use a variant (for example,
derive SineScaleFilter from ScaleFilter, or derive
both of them from some intermediate class).