DatanodeAdminMonitorInterface has some setter and getters but they are not part of the contract they are used by the implementation. An other implementation of the interface may require different setters. Therefore the interface should contain only the required fields.
DatanodeAdminMonitorInterface can be renamed to DatanodeAdminMonitor to follow the naming convention in the code (*Impl)
PipelineManager is unused field can be removed from DatanodeAdminMonitorImpl