1 20 21 22 package org.snmp4j.agent.mo; 23 24 import org.snmp4j.agent.MOAccess; 25 26 36 public class MOAccessImpl implements MOAccess { 37 38 public static final short ACCESSIBLE_FOR_READ = 1; 39 public static final short ACCESSIBLE_FOR_WRITE = 2; 40 public static final short ACCESSIBLE_FOR_CREATE = 4; 41 public static final short ACCESSIBLE_FOR_NOTIFY = 8; 42 43 public static final short ACCESSIBLE_FOR_READ_ONLY = 44 ACCESSIBLE_FOR_READ | ACCESSIBLE_FOR_NOTIFY; 45 public static final short ACCESSIBLE_FOR_READ_WRITE = 46 ACCESSIBLE_FOR_WRITE | ACCESSIBLE_FOR_READ | ACCESSIBLE_FOR_NOTIFY; 47 public static final short ACCESSIBLE_FOR_READ_CREATE = 48 ACCESSIBLE_FOR_WRITE | ACCESSIBLE_FOR_CREATE | 49 ACCESSIBLE_FOR_READ | ACCESSIBLE_FOR_NOTIFY; 50 51 public static final MOAccess ACCESS_READ_ONLY = 52 new MOAccessImpl(ACCESSIBLE_FOR_READ_ONLY); 53 public static final MOAccess ACCESS_FOR_NOTIFY = 54 new MOAccessImpl(ACCESSIBLE_FOR_NOTIFY); 55 public static final MOAccess ACCESS_WRITE_ONLY = 56 new MOAccessImpl(ACCESSIBLE_FOR_WRITE); 57 public static final MOAccess ACCESS_READ_WRITE = 58 new MOAccessImpl(ACCESSIBLE_FOR_READ_WRITE); 59 public static final MOAccess ACCESS_READ_CREATE = 60 new MOAccessImpl(ACCESSIBLE_FOR_READ_CREATE); 61 62 private short access = ACCESSIBLE_FOR_READ | ACCESSIBLE_FOR_NOTIFY; 63 64 public MOAccessImpl(int access) { 65 this.access = (short)(access & 0xFFFF); 66 } 67 68 public boolean isAccessibleForRead() { 69 return ((access & ACCESSIBLE_FOR_READ) > 0); 70 } 71 72 public boolean isAccessibleForWrite() { 73 return ((access & ACCESSIBLE_FOR_WRITE) > 0); 74 } 75 76 public boolean isAccessibleForNotify() { 77 return ((access & ACCESSIBLE_FOR_NOTIFY) > 0); 78 } 79 80 public boolean isAccessibleForCreate() { 81 return ((access & ACCESSIBLE_FOR_CREATE) > 0); 82 } 83 84 89 public final short getAccess() { 90 return access; 91 } 92 93 105 public static MOAccess getInstance(int moAccess) { 106 switch (moAccess) { 107 case ACCESSIBLE_FOR_READ_ONLY: { 108 return ACCESS_READ_ONLY; 109 } 110 case ACCESSIBLE_FOR_READ_CREATE: { 111 return ACCESS_READ_CREATE; 112 } 113 case ACCESSIBLE_FOR_NOTIFY: { 114 return ACCESS_FOR_NOTIFY; 115 } 116 case ACCESSIBLE_FOR_READ_WRITE: { 117 return ACCESS_READ_WRITE; 118 } 119 case ACCESSIBLE_FOR_WRITE: { 120 return ACCESS_WRITE_ONLY; 121 } 122 default: { 123 return new MOAccessImpl(moAccess); 124 } 125 } 126 } 127 } 128 | Popular Tags |