FindMethodBindingObject.java revision fead9ca09b117136b35bc5bf137340a754f9eddd
148daa54d31fc59ec969dcff65eb3cbb0ce879a8dRomain Guy/*
248daa54d31fc59ec969dcff65eb3cbb0ce879a8dRomain Guy * Copyright (C) 2015 The Android Open Source Project
348daa54d31fc59ec969dcff65eb3cbb0ce879a8dRomain Guy *
448daa54d31fc59ec969dcff65eb3cbb0ce879a8dRomain Guy * Licensed under the Apache License, Version 2.0 (the "License");
548daa54d31fc59ec969dcff65eb3cbb0ce879a8dRomain Guy * you may not use this file except in compliance with the License.
648daa54d31fc59ec969dcff65eb3cbb0ce879a8dRomain Guy * You may obtain a copy of the License at
748daa54d31fc59ec969dcff65eb3cbb0ce879a8dRomain Guy *
848daa54d31fc59ec969dcff65eb3cbb0ce879a8dRomain Guy *      http://www.apache.org/licenses/LICENSE-2.0
948daa54d31fc59ec969dcff65eb3cbb0ce879a8dRomain Guy *
1048daa54d31fc59ec969dcff65eb3cbb0ce879a8dRomain Guy * Unless required by applicable law or agreed to in writing, software
1148daa54d31fc59ec969dcff65eb3cbb0ce879a8dRomain Guy * distributed under the License is distributed on an "AS IS" BASIS,
1248daa54d31fc59ec969dcff65eb3cbb0ce879a8dRomain Guy * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1348daa54d31fc59ec969dcff65eb3cbb0ce879a8dRomain Guy * See the License for the specific language governing permissions and
1448daa54d31fc59ec969dcff65eb3cbb0ce879a8dRomain Guy * limitations under the License.
1548daa54d31fc59ec969dcff65eb3cbb0ce879a8dRomain Guy */
1648daa54d31fc59ec969dcff65eb3cbb0ce879a8dRomain Guypackage android.databinding.testapp.vo;
17f607bdc167f66b3e7003acaa4736ae46d78c1492Romain Guy
1848daa54d31fc59ec969dcff65eb3cbb0ce879a8dRomain Guyimport android.util.ArrayMap;
1948daa54d31fc59ec969dcff65eb3cbb0ce879a8dRomain Guy
2048daa54d31fc59ec969dcff65eb3cbb0ce879a8dRomain Guyimport java.util.ArrayList;
2148daa54d31fc59ec969dcff65eb3cbb0ce879a8dRomain Guyimport java.util.List;
2248daa54d31fc59ec969dcff65eb3cbb0ce879a8dRomain Guyimport java.util.Map;
2348daa54d31fc59ec969dcff65eb3cbb0ce879a8dRomain Guy
2448daa54d31fc59ec969dcff65eb3cbb0ce879a8dRomain Guypublic class FindMethodBindingObject extends FindMethodBindingObjectBase {
2548daa54d31fc59ec969dcff65eb3cbb0ce879a8dRomain Guy    public String method() { return "no arg"; }
2648daa54d31fc59ec969dcff65eb3cbb0ce879a8dRomain Guy
2748daa54d31fc59ec969dcff65eb3cbb0ce879a8dRomain Guy    public String method(int i) { return String.valueOf(i); }
2848daa54d31fc59ec969dcff65eb3cbb0ce879a8dRomain Guy
2948daa54d31fc59ec969dcff65eb3cbb0ce879a8dRomain Guy    public String method(float f) { return String.valueOf(f); }
3048daa54d31fc59ec969dcff65eb3cbb0ce879a8dRomain Guy
3148daa54d31fc59ec969dcff65eb3cbb0ce879a8dRomain Guy    public String method(String value) { return value; }
3248daa54d31fc59ec969dcff65eb3cbb0ce879a8dRomain Guy
3348daa54d31fc59ec969dcff65eb3cbb0ce879a8dRomain Guy    public static String staticMethod() { return "world"; }
3448daa54d31fc59ec969dcff65eb3cbb0ce879a8dRomain Guy
3548daa54d31fc59ec969dcff65eb3cbb0ce879a8dRomain Guy    public static Foo foo = new Foo();
3648daa54d31fc59ec969dcff65eb3cbb0ce879a8dRomain Guy
3748daa54d31fc59ec969dcff65eb3cbb0ce879a8dRomain Guy    public static Bar<String> bar = new Bar<>();
3848daa54d31fc59ec969dcff65eb3cbb0ce879a8dRomain Guy
3948daa54d31fc59ec969dcff65eb3cbb0ce879a8dRomain Guy    public float confusingParam(int i) { return i; }
4048daa54d31fc59ec969dcff65eb3cbb0ce879a8dRomain Guy    public String confusingParam(Object o) { return o.toString(); }
4148daa54d31fc59ec969dcff65eb3cbb0ce879a8dRomain Guy
4248daa54d31fc59ec969dcff65eb3cbb0ce879a8dRomain Guy    public int confusingPrimitive(int i) { return i; }
4348daa54d31fc59ec969dcff65eb3cbb0ce879a8dRomain Guy    public String confusingPrimitive(Integer i) { return i.toString(); }
44ec31a7f119608b94ea1bb41275811027a360bf30Xavier Ducrohet
4548daa54d31fc59ec969dcff65eb3cbb0ce879a8dRomain Guy    public float confusingInheritance(Object o) { return 0; }
4648daa54d31fc59ec969dcff65eb3cbb0ce879a8dRomain Guy    public String confusingInheritance(String s) { return s; }
4748daa54d31fc59ec969dcff65eb3cbb0ce879a8dRomain Guy    public int confusingInheritance(Integer i) { return i; }
4848daa54d31fc59ec969dcff65eb3cbb0ce879a8dRomain Guy
4948daa54d31fc59ec969dcff65eb3cbb0ce879a8dRomain Guy    public int confusingTypeArgs(List<String> s) { return 0; }
5048daa54d31fc59ec969dcff65eb3cbb0ce879a8dRomain Guy    public String confusingTypeArgs(Map<String, String> s) { return "yay"; }
5148daa54d31fc59ec969dcff65eb3cbb0ce879a8dRomain Guy
5248daa54d31fc59ec969dcff65eb3cbb0ce879a8dRomain Guy    public ArrayMap<String, String> getMap() { return null; }
5348daa54d31fc59ec969dcff65eb3cbb0ce879a8dRomain Guy
5448daa54d31fc59ec969dcff65eb3cbb0ce879a8dRomain Guy    public List getList() {
5548daa54d31fc59ec969dcff65eb3cbb0ce879a8dRomain Guy        ArrayList<String> vals = new ArrayList<>();
5648daa54d31fc59ec969dcff65eb3cbb0ce879a8dRomain Guy        vals.add("hello");
5748daa54d31fc59ec969dcff65eb3cbb0ce879a8dRomain Guy        return vals;
5848daa54d31fc59ec969dcff65eb3cbb0ce879a8dRomain Guy    }
5948daa54d31fc59ec969dcff65eb3cbb0ce879a8dRomain Guy
60ec31a7f119608b94ea1bb41275811027a360bf30Xavier Ducrohet    public static class Foo {
6148daa54d31fc59ec969dcff65eb3cbb0ce879a8dRomain Guy        public final String bar = "hello world";
6248daa54d31fc59ec969dcff65eb3cbb0ce879a8dRomain Guy    }
6348daa54d31fc59ec969dcff65eb3cbb0ce879a8dRomain Guy
6448daa54d31fc59ec969dcff65eb3cbb0ce879a8dRomain Guy    public static class Bar<T> {
6548daa54d31fc59ec969dcff65eb3cbb0ce879a8dRomain Guy        public T method(T value) { return value; }
6648daa54d31fc59ec969dcff65eb3cbb0ce879a8dRomain Guy    }
6748daa54d31fc59ec969dcff65eb3cbb0ce879a8dRomain Guy}
6848daa54d31fc59ec969dcff65eb3cbb0ce879a8dRomain Guy