Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   *
   *     http://www.apache.org/licenses/LICENSE-2.0
   *
   * Unless required by applicable law or agreed to in writing, software
   * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 package com.facebook.presto.metadata;
 
 
 
 import java.util.Map;
 
 import static com.google.common.base.Preconditions.checkArgument;
 import static com.google.common.base.Preconditions.checkState;
 
 public class HandleResolver
 {
 
     public HandleResolver()
     {
     }
 
     @Inject
     public HandleResolver(Map<StringConnectorHandleResolverhandleIdResolvers)
     {
         this..putAll(handleIdResolvers);
     }
 
     public void addHandleResolver(String idConnectorHandleResolver connectorHandleResolver)
     {
         ConnectorHandleResolver existingResolver = .putIfAbsent(idconnectorHandleResolver);
         checkState(existingResolver == null"Id %s is already assigned to resolver %s"idexistingResolver);
     }
 
     public String getId(ConnectorTableHandle tableHandle)
     {
         for (Entry<StringConnectorHandleResolverentry : .entrySet()) {
             if (entry.getValue().canHandle(tableHandle)) {
                 return entry.getKey();
             }
         }
         throw new IllegalArgumentException("No connector for table handle: " + tableHandle);
     }
 
     public String getId(ConnectorColumnHandle columnHandle)
     {
         for (Entry<StringConnectorHandleResolverentry : .entrySet()) {
             if (entry.getValue().canHandle(columnHandle)) {
                 return entry.getKey();
             }
         }
         throw new IllegalArgumentException("No connector for column handle: " + columnHandle);
     }
 
     public String getId(ConnectorSplit split)
     {
         for (Entry<StringConnectorHandleResolverentry : .entrySet()) {
             if (entry.getValue().canHandle(split)) {
                 return entry.getKey();
             }
         }
         throw new IllegalArgumentException("No connector for split: " + split);
     }
 
     public String getId(ConnectorIndexHandle indexHandle)
     {
         for (Entry<StringConnectorHandleResolverentry : .entrySet()) {
             if (entry.getValue().canHandle(indexHandle)) {
                 return entry.getKey();
             }
         }
         throw new IllegalArgumentException("No connector for index handle: " + indexHandle);
     }
 
     public String getId(ConnectorOutputTableHandle outputHandle)
     {
         for (Entry<StringConnectorHandleResolverentry : .entrySet()) {
            if (entry.getValue().canHandle(outputHandle)) {
                return entry.getKey();
            }
        }
        throw new IllegalArgumentException("No connector for output table handle: " + outputHandle);
    }
    public String getId(ConnectorInsertTableHandle insertHandle)
    {
        for (Entry<StringConnectorHandleResolverentry : .entrySet()) {
            if (entry.getValue().canHandle(insertHandle)) {
                return entry.getKey();
            }
        }
        throw new IllegalArgumentException("No connector for insert table handle: " + insertHandle);
    }
    public Class<? extends ConnectorTableHandlegetTableHandleClass(String id)
    {
        return resolverFor(id).getTableHandleClass();
    }
    public Class<? extends ConnectorColumnHandlegetColumnHandleClass(String id)
    {
        return resolverFor(id).getColumnHandleClass();
    }
    public Class<? extends ConnectorSplitgetSplitClass(String id)
    {
        return resolverFor(id).getSplitClass();
    }
    public Class<? extends ConnectorIndexHandlegetIndexHandleClass(String id)
    {
        return resolverFor(id).getIndexHandleClass();
    }
    {
        return resolverFor(id).getOutputTableHandleClass();
    }
    {
        return resolverFor(id).getInsertTableHandleClass();
    }
    {
        ConnectorHandleResolver resolver = .get(id);
        checkArgument(resolver != null"No handle resolver for %s"id);
        return resolver;
    }
New to GrepCode? Check out our FAQ X