1 20 21 package org.snmp4j.agent.mo.ext; 22 23 import org.snmp4j.agent.mo.*; 24 import org.snmp4j.agent.MOAccess; 25 import java.util.Map ; 26 import java.util.HashMap ; 27 28 46 public class SimMOFactory extends DefaultMOFactory { 47 48 private Map accessModes = new HashMap (); 49 50 private static boolean simulationModeEnabled; 51 private static SimMOFactory instance; 52 53 private SimMOFactory() { 54 } 55 56 public synchronized static MOFactory getInstance() { 57 if (instance == null) { 58 instance = new SimMOFactory(); 59 } 60 return instance; 61 } 62 63 public static void setSimulationModeEnabled(boolean simulationMode) { 64 simulationModeEnabled = simulationMode; 65 } 66 67 public static boolean isSimulationModeEnabled() { 68 return simulationModeEnabled; 69 } 70 71 public synchronized MOAccess createAccess(int moAccess) { 72 MOAccess accessObj = (MOAccess) accessModes.get(new Integer (moAccess)); 73 if (accessObj == null) { 74 accessObj = new SimMOAccess(moAccess); 75 accessModes.put(new Integer (moAccess), accessObj); 76 } 77 return accessObj; 78 } 79 80 public class SimMOAccess extends MOAccessImpl { 81 82 public SimMOAccess(int moAccess) { 83 super(moAccess); 84 } 85 86 public boolean isAccessibleForCreate() { 87 if (isSimulationModeEnabled()) { 88 return true; 89 } 90 return super.isAccessibleForCreate(); 91 } 92 93 public boolean isAccessibleForWrite() { 94 if (isSimulationModeEnabled()) { 95 return true; 96 } 97 return super.isAccessibleForWrite(); 98 } 99 } 100 } 101 | Popular Tags |