1b617e5da04aa910be70204afb886b1ebebb80618George Mount/* 2b617e5da04aa910be70204afb886b1ebebb80618George Mount * Copyright (C) 2014 The Android Open Source Project 3b617e5da04aa910be70204afb886b1ebebb80618George Mount * 4b617e5da04aa910be70204afb886b1ebebb80618George Mount * Licensed under the Apache License, Version 2.0 (the "License"); 5b617e5da04aa910be70204afb886b1ebebb80618George Mount * you may not use this file except in compliance with the License. 6b617e5da04aa910be70204afb886b1ebebb80618George Mount * You may obtain a copy of the License at 7b617e5da04aa910be70204afb886b1ebebb80618George Mount * 8b617e5da04aa910be70204afb886b1ebebb80618George Mount * http://www.apache.org/licenses/LICENSE-2.0 9b617e5da04aa910be70204afb886b1ebebb80618George Mount * 10b617e5da04aa910be70204afb886b1ebebb80618George Mount * Unless required by applicable law or agreed to in writing, software 11b617e5da04aa910be70204afb886b1ebebb80618George Mount * distributed under the License is distributed on an "AS IS" BASIS, 12b617e5da04aa910be70204afb886b1ebebb80618George Mount * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13b617e5da04aa910be70204afb886b1ebebb80618George Mount * See the License for the specific language governing permissions and 14b617e5da04aa910be70204afb886b1ebebb80618George Mount * limitations under the License. 15b617e5da04aa910be70204afb886b1ebebb80618George Mount */ 16fead9ca09b117136b35bc5bf137340a754f9edddGeorge Mountpackage android.databinding; 17b617e5da04aa910be70204afb886b1ebebb80618George Mount 18c9a5d6f140f732ca0ff279a4b1ee315072e1c422George Mountimport android.databinding.Observable.OnPropertyChangedCallback; 19c9a5d6f140f732ca0ff279a4b1ee315072e1c422George Mount 20612997fe2e41366573855f56898b27d4c8787244George Mountimport java.lang.annotation.ElementType; 21dc69f49d687ec036947f26a9bf9025a305de0721Yigit Boyarimport java.lang.annotation.Retention; 22dc69f49d687ec036947f26a9bf9025a305de0721Yigit Boyarimport java.lang.annotation.RetentionPolicy; 23612997fe2e41366573855f56898b27d4c8787244George Mountimport java.lang.annotation.Target; 24612997fe2e41366573855f56898b27d4c8787244George Mount 25c9a5d6f140f732ca0ff279a4b1ee315072e1c422George Mount/** 26c9a5d6f140f732ca0ff279a4b1ee315072e1c422George Mount * The Bindable annotation should be applied to any getter accessor method of an 27c9a5d6f140f732ca0ff279a4b1ee315072e1c422George Mount * {@link Observable} class. Bindable will generate a field in the BR class to identify 28c9a5d6f140f732ca0ff279a4b1ee315072e1c422George Mount * the field that has changed. 29c9a5d6f140f732ca0ff279a4b1ee315072e1c422George Mount * 30c9a5d6f140f732ca0ff279a4b1ee315072e1c422George Mount * @see OnPropertyChangedCallback#onPropertyChanged(Observable, int) 31c9a5d6f140f732ca0ff279a4b1ee315072e1c422George Mount */ 32612997fe2e41366573855f56898b27d4c8787244George Mount@Target({ElementType.FIELD, ElementType.METHOD}) 3397d6ddf47f4ff1abb3ed5201ce5232163f5325b1Yigit Boyar@Retention(RetentionPolicy.RUNTIME) // this is necessary for java analyzer to work 34b617e5da04aa910be70204afb886b1ebebb80618George Mountpublic @interface Bindable { 35b617e5da04aa910be70204afb886b1ebebb80618George Mount} 36