1 9 package org.ozoneDB.core.admin; 10 11 import org.ozoneDB.DxLib.DxCollection; 12 import org.ozoneDB.OzoneCompatible; 13 import org.ozoneDB.core.*; 14 import org.ozoneDB.util.LogWriter; 15 16 17 21 public class AdminObjectContainer extends AbstractObjectContainer { 22 23 protected final static long serialVersionUID = 1L; 24 25 protected Env env; 26 27 protected OzoneCompatible target; 28 29 protected ObjectID objID; 30 31 protected String name; 32 33 protected Lock lock; 34 35 protected Permissions permissions; 36 37 38 public AdminObjectContainer() { 39 } 40 41 42 public AdminObjectContainer( Env _env, OzoneCompatible _target, ObjectID _objID ) { 43 state = STATE_CREATED; 44 target = _target; 45 objID = _objID; 46 env = _env; 47 env.logWriter.newEntry( this, "admin container created...", LogWriter.INFO ); 48 } 49 50 51 public long modTime() { 52 throw new RuntimeException ( "Not supported: modTime()" ); 53 } 54 55 56 public Class targetClass() { 57 return target.getClass(); 58 } 59 60 61 public void setTarget( OzoneCompatible _target ) { 62 if (target != null) { 63 target.setContainer( null ); 64 } 65 target = _target; 66 target.setContainer( this ); 67 } 68 69 70 public OzoneCompatible target() { 71 return target; 72 } 73 74 75 public void touch() { 76 } 77 78 79 public Lock lock() { 80 return lock; 81 } 82 83 84 public void updateLockLevel( Transaction ta ) throws Exception { 85 if (env.logWriter.hasTarget( LogWriter.DEBUG3 )) { 86 env.logWriter.newEntry( this, "upgradeLockLevel(): ", LogWriter.DEBUG3 ); 87 } 88 throw new RuntimeException ( "Not supported: updateLockLevel()" ); 89 } 90 91 92 public Permissions permissions() { 93 return permissions; 94 } 95 96 97 public int lockLevel( Transaction ta ) { 98 return lock.level( ta ); 99 } 100 101 102 public Object invokeTarget( Env env, String methodName, String sig, Object [] args ) throws Exception { 103 if (env.logWriter.hasTarget( LogWriter.DEBUG3 )) { 104 env.logWriter.newEntry( this, "invokeTarget(): ", LogWriter.DEBUG3 ); 105 } 106 return super.invokeTarget( env, methodName, sig, args ); 107 } 108 109 110 public void deleteTarget() { 111 if (env.logWriter.hasTarget( LogWriter.DEBUG3 )) { 112 env.logWriter.newEntry( this, "deleteTarget(): ", LogWriter.DEBUG3 ); 113 } 114 throw new RuntimeException ( "Not supported: deleteTarget()" ); 115 } 116 117 118 public void nameTarget( String _name ) { 119 if (env.logWriter.hasTarget( LogWriter.DEBUG3 )) { 120 env.logWriter.newEntry( this, "nameTarget(): ", LogWriter.DEBUG3 ); 121 } 122 throw new RuntimeException ( "Not supported: nameTarget()" ); 123 } 124 125 126 public DxCollection allLockers() { 127 throw new RuntimeException ( "Not supported: allLockers()" ); 128 } 129 130 131 public boolean equals( Object obj ) { 132 if (obj != null && obj instanceof AdminObjectContainer) { 133 AdminObjectContainer rhs = (AdminObjectContainer)obj; 134 return objID.equals( rhs.objID ); 135 } 136 return false; 137 } 138 139 140 public ObjectID id() { 141 return objID; 142 } 143 144 145 public String name() { 146 return name; 147 } 148 149 150 public void setName( String _name ) { 151 name = _name; 152 } 153 154 159 public void pin() { 160 } 161 162 166 public void unpin() { 167 } 168 169 172 public boolean isPinned() { 173 return false; 174 } 175 176 189 public int ensureGarbageCollectionLevel(int newGarbageCollectionLevel) { 190 return 1; 191 } 192 193 196 public int getGarbageCollectionLevel() { 197 return 0; 199 } 200 } 201 | Popular Tags |