2018-12-08 19:18:51 +00:00
|
|
|
package goldsmith
|
|
|
|
|
|
|
|
type Initializer interface {
|
2018-12-10 01:00:46 +00:00
|
|
|
Initialize(context *Context) (Filter, error)
|
2018-12-08 19:18:51 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
type Processor interface {
|
2018-12-10 01:00:46 +00:00
|
|
|
Process(context *Context, file *File) error
|
2018-12-08 19:18:51 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
type Finalizer interface {
|
2018-12-10 01:00:46 +00:00
|
|
|
Finalize(context *Context) error
|
2018-12-08 19:18:51 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
type Component interface {
|
|
|
|
Name() string
|
|
|
|
}
|
|
|
|
|
|
|
|
type Filter interface {
|
|
|
|
Component
|
2018-12-10 01:00:46 +00:00
|
|
|
Accept(context *Context, file *File) (bool, error)
|
2018-12-08 19:18:51 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
type Plugin interface {
|
|
|
|
Component
|
|
|
|
}
|