Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright 2015 Objectos, Fábrica de Software LTDA.
   *
   * 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 br.com.objectos.way.auto.functional;
 
 import java.util.List;
 
 

Author(s):
patricia.nascimento@objectos.com.br (Patricia Nascimento)
 
 class ToFunction {
 
   final TypeInfo typeInfo;
   final MethodInfo methodInfo;
   final ClassName className;
 
   private ToFunction(TypeInfo typeInfo,
                      MethodInfo methodInfo,
                      List<ParameterSpecparameterSpecList,
                      ClassName className,
                      TypeName functionTypeName) {
     this. = typeInfo;
     this. = methodInfo;
     this. = parameterSpecList;
     this. = className;
     this. = functionTypeName;
   }
 
   public static ToFunction wrap(TypeInfo typeInfoMethodInfo methodInfo) {
     List<ParameterSpecparameterSpecList = WayIterables.from(methodInfo.getParameterInfoList())
         .transform(ParameterInfoToParameterSpec.get())
         .toImmutableList();
 
     String suffix = methodInfo.getClassName();
     ClassName className = typeInfo.toClassNameSuffix(suffix);
 
     ClassName function = ClassName.get(Function.class);
     TypeName from = typeInfo.toTypeNameRaw();
     SimpleTypeInfo returnTypeInfo = methodInfo.returnTypeInfo().autobox();
     TypeName to = returnTypeInfo.typeName();
     TypeName functionTypeName = ParameterizedTypeName.get(functionfromto);
 
     return new ToFunction(typeInfomethodInfoparameterSpecListclassNamefunctionTypeName);
   }
 
     return new ToFunctionConstructor(this);
   }
 
     return new ToFunctionField(this);
   }
 
     return new ToFunctionMethod(this);
   }
 
     return ToFunctionStatic.wrap(this);
   }
 
     return new ToFunctionType(this);
   }
 
     ToFunctionType type = type();
     TypeSpec typeSpec = type.get();
     JavaFile javaFile = .toJavaFile(typeSpec);
    return CodeCanvasWriter.forJavaFile(javaFile)
        .toCodeCanvasArtifact();
  }
New to GrepCode? Check out our FAQ X