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