Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright 2011 Project Funcito Contributors
   *
   *  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 org.funcito.example.guava;
 
 import static org.funcito.FuncitoGuava.*;
 
 
 import java.util.List;
 
 public class MyClass {
 
     private String myString;
     private Integer other;
 
     public static final MyClass stubbedCallsTo = callsTo(MyClass.class);
 
     public static final Function<MyClassStringgetMyString = functionFor(.getMyString());
     public static final Function<MyClassIntegergetOther = functionFor(.getOther());
 
     // alternative single line syntax
     public static final Function<MyClassStringgetMyStringF2 = functionFor(callsTo(MyClass.class).getMyString());
 
     // These demonstrate not only predicates, but also method argument binding
 
     public MyClass(String myStringInteger other) {
         this. = myString;
         this. = other;
     }
 
     public String getMyString() {
         return ;
     }
 
     public void setMyString(String value) {
         this. = value;
     }
 
     public Integer getOther() {
         return ;
     }
 
     public void setOther(Integer other) {
         this. = other;
     }
 
     public boolean isLengthGreaterThan(int lower) {
         return getMyString().length() > lower;
     }
 
     @Override
     public String toString() {
         return getMyString();
     }
 
     public static void main(String[] args) {
         MyClass m1 = new MyClass("A", 1);
         MyClass m2 = new MyClass("B", 2);
         MyClass m3 = new MyClass("C", 3);
 
         List<MyClasslist = Arrays.asList(m1,m2,m3);
         demoListTransforms(list);
         demoListFilters(list);
 
         m1.setMyString("This is my new value");
         m1.setOther(777);
         demoListTransforms(list);
         demoListFilters(list);
     }
 
     protected static void demoListTransforms(List<MyClasslist) {
         List<StringstrList1 = Lists.transform(list);
         List<StringstrList2 = Lists.transform(list);
         List<IntegerintList = Lists.transform(list);
 
         printValues("func1"strList1);
         printValues("func2"strList2);
         printValues("otherFunc"intList);
     }
    protected static void demoListFilters(List<MyClasslist) {
        Collection<MyClassfiltered1 = Collections2.filter(list);
        Collection<MyClassfiltered2 = Collections2.filter(list);
        printValues("filter length > 1"filtered1);
        printValues("filter length > 3"filtered2);
    }
    protected static void printValues(String descCollection<?> list) {
        ..println(desc + ": " + list);
    }
New to GrepCode? Check out our FAQ X