1 10 package org.mmbase.storage.util; 11 12 import java.text.MessageFormat ; 13 14 import org.mmbase.storage.*; 15 16 26 public final class Scheme extends MessageFormat { 27 28 31 private StorageManagerFactory factory; 32 33 private String orgpattern; 34 35 40 public Scheme (StorageManagerFactory factory, String pattern) { 41 super(pattern); 42 orgpattern = pattern; 43 this.factory = factory; 44 } 45 46 63 protected Object resolveParameter(Object param) throws StorageException { 64 if (param == null || param instanceof String || param instanceof Number ) { 65 return param; 66 } else if (param instanceof Storable) { 67 return ((Storable)param).getStorageIdentifier(); 68 } else { 69 return factory.getStorageIdentifier(param); 70 } 71 } 72 73 79 public String format(Object [] params) throws StorageException { 80 for (int i = 0; i < params.length; i++) { 81 params[i] = resolveParameter(params[i]); 82 } 83 return super.format(params); 84 } 85 86 public String toString() { 87 return orgpattern; 88 } 89 90 } 91 92 | Popular Tags |