1bb4a033fcd5cd20e5be46ef8ead442dc7db2454dGeorge Mount/* 2bb4a033fcd5cd20e5be46ef8ead442dc7db2454dGeorge Mount * Copyright (C) 2016 The Android Open Source Project 3bb4a033fcd5cd20e5be46ef8ead442dc7db2454dGeorge Mount * 4bb4a033fcd5cd20e5be46ef8ead442dc7db2454dGeorge Mount * Licensed under the Apache License, Version 2.0 (the "License"); 5bb4a033fcd5cd20e5be46ef8ead442dc7db2454dGeorge Mount * you may not use this file except in compliance with the License. 6bb4a033fcd5cd20e5be46ef8ead442dc7db2454dGeorge Mount * You may obtain a copy of the License at 7bb4a033fcd5cd20e5be46ef8ead442dc7db2454dGeorge Mount * 8bb4a033fcd5cd20e5be46ef8ead442dc7db2454dGeorge Mount * http://www.apache.org/licenses/LICENSE-2.0 9bb4a033fcd5cd20e5be46ef8ead442dc7db2454dGeorge Mount * 10bb4a033fcd5cd20e5be46ef8ead442dc7db2454dGeorge Mount * Unless required by applicable law or agreed to in writing, software 11bb4a033fcd5cd20e5be46ef8ead442dc7db2454dGeorge Mount * distributed under the License is distributed on an "AS IS" BASIS, 12bb4a033fcd5cd20e5be46ef8ead442dc7db2454dGeorge Mount * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13bb4a033fcd5cd20e5be46ef8ead442dc7db2454dGeorge Mount * See the License for the specific language governing permissions and 14bb4a033fcd5cd20e5be46ef8ead442dc7db2454dGeorge Mount * limitations under the License. 15bb4a033fcd5cd20e5be46ef8ead442dc7db2454dGeorge Mount */ 16bb4a033fcd5cd20e5be46ef8ead442dc7db2454dGeorge Mount 17bb4a033fcd5cd20e5be46ef8ead442dc7db2454dGeorge Mountpackage android.databinding.tool.reflection; 18bb4a033fcd5cd20e5be46ef8ead442dc7db2454dGeorge Mount 19bb4a033fcd5cd20e5be46ef8ead442dc7db2454dGeorge Mountimport java.util.Map; 20bb4a033fcd5cd20e5be46ef8ead442dc7db2454dGeorge Mount 21bb4a033fcd5cd20e5be46ef8ead442dc7db2454dGeorge Mount/** 22bb4a033fcd5cd20e5be46ef8ead442dc7db2454dGeorge Mount * A class that can be used by ModelAnalyzer without any backing model. This is used 23bb4a033fcd5cd20e5be46ef8ead442dc7db2454dGeorge Mount * for fields on ViewDataBinding subclasses that haven't been generated yet. 24bb4a033fcd5cd20e5be46ef8ead442dc7db2454dGeorge Mount * 25bb4a033fcd5cd20e5be46ef8ead442dc7db2454dGeorge Mount * @see ModelAnalyzer#injectViewDataBinding(String, Map, Map) 26bb4a033fcd5cd20e5be46ef8ead442dc7db2454dGeorge Mount */ 2711df39c91611b9ff2d7c87a9a9829251a015bccfGeorge Mountpublic class InjectedField extends ModelField { 28bb4a033fcd5cd20e5be46ef8ead442dc7db2454dGeorge Mount private final String mType; 29bb4a033fcd5cd20e5be46ef8ead442dc7db2454dGeorge Mount private final String mName; 30bb4a033fcd5cd20e5be46ef8ead442dc7db2454dGeorge Mount 3111df39c91611b9ff2d7c87a9a9829251a015bccfGeorge Mount public InjectedField(String name, String type) { 32bb4a033fcd5cd20e5be46ef8ead442dc7db2454dGeorge Mount mName = name; 33bb4a033fcd5cd20e5be46ef8ead442dc7db2454dGeorge Mount mType = type; 34bb4a033fcd5cd20e5be46ef8ead442dc7db2454dGeorge Mount } 35bb4a033fcd5cd20e5be46ef8ead442dc7db2454dGeorge Mount 36bb4a033fcd5cd20e5be46ef8ead442dc7db2454dGeorge Mount @Override 37bb4a033fcd5cd20e5be46ef8ead442dc7db2454dGeorge Mount public boolean isBindable() { 38bb4a033fcd5cd20e5be46ef8ead442dc7db2454dGeorge Mount return false; 39bb4a033fcd5cd20e5be46ef8ead442dc7db2454dGeorge Mount } 40bb4a033fcd5cd20e5be46ef8ead442dc7db2454dGeorge Mount 41bb4a033fcd5cd20e5be46ef8ead442dc7db2454dGeorge Mount @Override 42bb4a033fcd5cd20e5be46ef8ead442dc7db2454dGeorge Mount public String getName() { 43bb4a033fcd5cd20e5be46ef8ead442dc7db2454dGeorge Mount return mName; 44bb4a033fcd5cd20e5be46ef8ead442dc7db2454dGeorge Mount } 45bb4a033fcd5cd20e5be46ef8ead442dc7db2454dGeorge Mount 46bb4a033fcd5cd20e5be46ef8ead442dc7db2454dGeorge Mount @Override 47bb4a033fcd5cd20e5be46ef8ead442dc7db2454dGeorge Mount public boolean isPublic() { 48bb4a033fcd5cd20e5be46ef8ead442dc7db2454dGeorge Mount return true; 49bb4a033fcd5cd20e5be46ef8ead442dc7db2454dGeorge Mount } 50bb4a033fcd5cd20e5be46ef8ead442dc7db2454dGeorge Mount 51bb4a033fcd5cd20e5be46ef8ead442dc7db2454dGeorge Mount @Override 52bb4a033fcd5cd20e5be46ef8ead442dc7db2454dGeorge Mount public boolean isStatic() { 53bb4a033fcd5cd20e5be46ef8ead442dc7db2454dGeorge Mount return false; 54bb4a033fcd5cd20e5be46ef8ead442dc7db2454dGeorge Mount } 55bb4a033fcd5cd20e5be46ef8ead442dc7db2454dGeorge Mount 56bb4a033fcd5cd20e5be46ef8ead442dc7db2454dGeorge Mount @Override 57bb4a033fcd5cd20e5be46ef8ead442dc7db2454dGeorge Mount public boolean isFinal() { 58bb4a033fcd5cd20e5be46ef8ead442dc7db2454dGeorge Mount return true; 59bb4a033fcd5cd20e5be46ef8ead442dc7db2454dGeorge Mount } 60bb4a033fcd5cd20e5be46ef8ead442dc7db2454dGeorge Mount 61bb4a033fcd5cd20e5be46ef8ead442dc7db2454dGeorge Mount @Override 62bb4a033fcd5cd20e5be46ef8ead442dc7db2454dGeorge Mount public ModelClass getFieldType() { 63bb4a033fcd5cd20e5be46ef8ead442dc7db2454dGeorge Mount return ModelAnalyzer.getInstance().findClass(mType, null); 64bb4a033fcd5cd20e5be46ef8ead442dc7db2454dGeorge Mount } 65bb4a033fcd5cd20e5be46ef8ead442dc7db2454dGeorge Mount} 66