1 21 22 package org.apache.derby.impl.services.bytecode; 23 24 import org.apache.derby.iapi.services.cache.Cacheable; 25 import org.apache.derby.iapi.services.cache.CacheManager; 26 27 import org.apache.derby.iapi.services.sanity.SanityManager; 28 29 import org.apache.derby.iapi.services.classfile.ClassHolder; 30 31 35 class VMTypeIdCacheable implements Cacheable { 36 37 private Object descriptor; 39 40 41 private Object key; 42 43 44 45 46 public void clearIdentity() { 47 } 48 49 50 public Object getIdentity() { 51 return key; 52 } 53 54 55 public Cacheable createIdentity(Object key, Object createParameter) { 56 if (SanityManager.DEBUG) { 57 SanityManager.THROWASSERT("VMTypeIdCacheable.create() called!"); 58 } 59 return this; 60 } 61 62 63 public Cacheable setIdentity(Object key) { 64 65 this.key = key; 66 if (key instanceof String ) { 67 68 String javaName = (String ) key; 69 70 71 String vmName = ClassHolder.convertToInternalDescriptor(javaName); 72 descriptor = new Type(javaName, vmName); 73 } 74 else 75 { 76 descriptor = ((BCMethodDescriptor) key).buildMethodDescriptor(); 77 } 78 79 return this; 80 } 81 82 83 public void clean(boolean remove) { 84 85 return; 86 } 87 88 89 public boolean isDirty() { 90 91 return false; 92 } 93 94 97 98 101 102 Object descriptor() { 103 return descriptor; 104 } 105 } 106 | Popular Tags |