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.operator.scalar;
 
 
 import java.util.List;
 
 import static com.facebook.presto.type.ArrayType.toStackRepresentation;
 
 public final class ArrayConcatUtils
 {
     private static final ObjectMapper OBJECT_MAPPER = new ObjectMapperProvider().get().registerModule(new SimpleModule().addSerializer(Slice.classnew SliceSerializer()));
     private static final CollectionType COLLECTION_TYPE = .getTypeFactory().constructCollectionType(List.classObject.class);
 
     private ArrayConcatUtils() {}
 
     public static Slice concat(Slice leftSlice right)
     {
         List<ObjectleftArray = readArray(left);
         List<ObjectrightArray = readArray(right);
         List<Objectresult = new ArrayList<>(leftArray.size() + rightArray.size()); // allow nulls
         result.addAll(leftArray);
         result.addAll(rightArray);
         return toStackRepresentation(result);
     }
 
     private static Slice concatElement(Slice inObject valueboolean append)
     {
         List<Objectarray = readArray(in);
         List<Objectresult = new ArrayList<>(array.size() + 1); // allow nulls
         if (append) {
             result.addAll(array);
             result.add(value);
         }
         else {
             result.add(value);
             result.addAll(array);
         }
         return toStackRepresentation(result);
     }
 
     public static Slice appendElement(Slice inObject value)
     {
         return concatElement(invaluetrue);
     }
 
     public static Slice appendElement(Slice inlong value)
     {
         return appendElement(in, Long.valueOf(value));
     }
 
     public static Slice appendElement(Slice inboolean value)
     {
         return appendElement(in, Boolean.valueOf(value));
     }
 
     public static Slice appendElement(Slice indouble value)
     {
         return appendElement(in, Double.valueOf(value));
     }
 
     public static Slice appendElement(Slice inSlice value)
     {
         return concatElement(invaluetrue);
     }
 
     public static Slice prependElement(Slice valueSlice in)
     {
         return concatElement(invaluefalse);
     }
 
     public static Slice prependElement(Object valueSlice in)
     {
         return concatElement(invaluefalse);
     }
 
     public static Slice prependElement(long valueSlice in)
     {
         return prependElement(Long.valueOf(value), in);
    }
    public static Slice prependElement(boolean valueSlice in)
    {
        return prependElement(Boolean.valueOf(value), in);
    }
    public static Slice prependElement(double valueSlice in)
    {
        return prependElement(Double.valueOf(value), in);
    }
    private static List<ObjectreadArray(Slice json)
    {
        try {
            return .readValue(json.getInput(), );
        }
        catch (IOException e) {
            throw Throwables.propagate(e);
        }
    }
New to GrepCode? Check out our FAQ X