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 static com.google.common.base.Preconditions.checkNotNull;
 
 public final class TypeParameter
 {
     private final String name;
     private final boolean comparableRequired;
     private final boolean orderableRequired;
     private final String variadicBound;
 
     @JsonCreator
     public TypeParameter(
             @JsonProperty("name"String name,
             @JsonProperty("comparableRequired"boolean comparableRequired,
             @JsonProperty("orderableRequired"boolean orderableRequired,
             @JsonProperty("variadicBound") @Nullable String variadicBound)
     {
         this. = checkNotNull(name"name is null");
         this. = comparableRequired;
         this. = orderableRequired;
         this. = variadicBound;
     }
 
     @JsonProperty
     public String getName()
     {
         return ;
     }
 
     @JsonProperty
     public boolean isComparableRequired()
     {
         return ;
     }
 
     @JsonProperty
     public boolean isOrderableRequired()
     {
         return ;
     }
 
     @JsonProperty
     public String getVariadicBound()
     {
         return ;
     }
 
     public boolean canBind(Type type)
     {
         if ( && !type.isComparable()) {
             return false;
         }
         if ( && !type.isOrderable()) {
             return false;
         }
         if ( != null && !type.getTypeSignature().getBase().equals()) {
             return false;
         }
         return true;
     }
 
     @Override
     public String toString()
     {
         String value = ;
         if () {
             value += ":comparable";
         }
         if () {
             value += ":orderable";
         }
         if ( != null) {
             value += ":" +  + "<*>";
         }
         return value;
     }
 
    @Override
    public boolean equals(Object o)
    {
        if (this == o) {
            return true;
        }
        if (o == null || getClass() != o.getClass()) {
            return false;
        }
        TypeParameter other = (TypeParametero;
        return Objects.equals(this.other.name) &&
                Objects.equals(this.other.comparableRequired) &&
                Objects.equals(this.other.orderableRequired) &&
                Objects.equals(this.other.variadicBound);
    }
    @Override
    public int hashCode()
    {
        return Objects.hash();
    }
New to GrepCode? Check out our FAQ X