Example #1
0
 @Override
 public PMetaData pruneFunctions(Pruner pruner) {
   List<PTableKey> keysToPrune = Lists.newArrayListWithExpectedSize(this.size());
   for (PFunction function : this.metaData.functions.values()) {
     if (pruner.prune(function)) {
       keysToPrune.add(function.getKey());
     }
   }
   if (keysToPrune.isEmpty()) {
     return this;
   }
   PMetaDataCache clone = metaData.clone();
   for (PTableKey key : keysToPrune) {
     clone.functions.remove(key);
   }
   return new PMetaDataImpl(clone);
 }
Example #2
0
 @Override
 public PMetaData pruneTables(Pruner pruner) {
   List<PTableKey> keysToPrune = Lists.newArrayListWithExpectedSize(this.size());
   for (PTable table : this) {
     if (pruner.prune(table)) {
       keysToPrune.add(table.getKey());
     }
   }
   if (keysToPrune.isEmpty()) {
     return this;
   }
   PMetaDataCache tables = metaData.clone();
   for (PTableKey key : keysToPrune) {
     tables.remove(key);
   }
   return new PMetaDataImpl(tables);
 }