/* * Copyright (c) 2016 EMC Corporation * All Rights Reserved */ package com.emc.storageos.volumecontroller.impl.validators.smis; import com.emc.storageos.db.client.DbClient; import com.emc.storageos.volumecontroller.impl.smis.CIMObjectPathFactory; import com.emc.storageos.volumecontroller.impl.smis.SmisCommandHelper; import com.emc.storageos.volumecontroller.impl.validators.Validator; import com.emc.storageos.volumecontroller.impl.validators.ValidatorConfig; import com.emc.storageos.volumecontroller.impl.validators.ValidatorLogger; /** * Abstract super-class for SMIS validators, providing convenience * methods for external dependencies set on the factory. */ public abstract class AbstractSMISValidator implements Validator { private AbstractSMISValidatorFactory factory; private ValidatorLogger logger; private EMCRefreshSystemInvoker emcRefreshSystemInvoker; public void setFactory(AbstractSMISValidatorFactory factory) { this.factory = factory; } public ValidatorLogger getLogger() { return logger; } public void setLogger(ValidatorLogger logger) { this.logger = logger; } public EMCRefreshSystemInvoker getEmcRefreshSystemInvoker() { return emcRefreshSystemInvoker; } public void setEmcRefreshSystemInvoker(EMCRefreshSystemInvoker emcRefreshSystemInvoker) { this.emcRefreshSystemInvoker = emcRefreshSystemInvoker; } /* * Convenience delegation methods for external dependencies. */ public CIMObjectPathFactory getCimPath() { return factory.getCimPath(); } public DbClient getDbClient() { return factory.getDbClient(); } public ValidatorConfig getConfig() { return factory.getConfig(); } public SmisCommandHelper getHelper() { return factory.getHelper(); } }