1d7af42b29ddf22f0068f7496c5ac6f4f34b543b6Yigit Boyar/*
2d7af42b29ddf22f0068f7496c5ac6f4f34b543b6Yigit Boyar * Copyright (C) 2015 The Android Open Source Project
3d7af42b29ddf22f0068f7496c5ac6f4f34b543b6Yigit Boyar *
4d7af42b29ddf22f0068f7496c5ac6f4f34b543b6Yigit Boyar * Licensed under the Apache License, Version 2.0 (the "License");
5d7af42b29ddf22f0068f7496c5ac6f4f34b543b6Yigit Boyar * you may not use this file except in compliance with the License.
6d7af42b29ddf22f0068f7496c5ac6f4f34b543b6Yigit Boyar * You may obtain a copy of the License at
7d7af42b29ddf22f0068f7496c5ac6f4f34b543b6Yigit Boyar *
8d7af42b29ddf22f0068f7496c5ac6f4f34b543b6Yigit Boyar *      http://www.apache.org/licenses/LICENSE-2.0
9d7af42b29ddf22f0068f7496c5ac6f4f34b543b6Yigit Boyar *
10d7af42b29ddf22f0068f7496c5ac6f4f34b543b6Yigit Boyar * Unless required by applicable law or agreed to in writing, software
11d7af42b29ddf22f0068f7496c5ac6f4f34b543b6Yigit Boyar * distributed under the License is distributed on an "AS IS" BASIS,
12d7af42b29ddf22f0068f7496c5ac6f4f34b543b6Yigit Boyar * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13d7af42b29ddf22f0068f7496c5ac6f4f34b543b6Yigit Boyar * See the License for the specific language governing permissions and
14d7af42b29ddf22f0068f7496c5ac6f4f34b543b6Yigit Boyar * limitations under the License.
15d7af42b29ddf22f0068f7496c5ac6f4f34b543b6Yigit Boyar */
16d7af42b29ddf22f0068f7496c5ac6f4f34b543b6Yigit Boyar
17fead9ca09b117136b35bc5bf137340a754f9edddGeorge Mountpackage android.databinding.tool.expr;
18d7af42b29ddf22f0068f7496c5ac6f4f34b543b6Yigit Boyar
19e52882df6130221462bf07f5f2b52de5c4b0f8deGeorge Mountimport android.databinding.tool.writer.KCode;
20e52882df6130221462bf07f5f2b52de5c4b0f8deGeorge Mount
21d7af42b29ddf22f0068f7496c5ac6f4f34b543b6Yigit Boyarpublic class StaticIdentifierExpr extends IdentifierExpr {
22d7af42b29ddf22f0068f7496c5ac6f4f34b543b6Yigit Boyar
23d7af42b29ddf22f0068f7496c5ac6f4f34b543b6Yigit Boyar    StaticIdentifierExpr(String name) {
24d7af42b29ddf22f0068f7496c5ac6f4f34b543b6Yigit Boyar        super(name);
25d7af42b29ddf22f0068f7496c5ac6f4f34b543b6Yigit Boyar    }
26d7af42b29ddf22f0068f7496c5ac6f4f34b543b6Yigit Boyar
27d7af42b29ddf22f0068f7496c5ac6f4f34b543b6Yigit Boyar    @Override
28a70fed6415aa1e8bbbe929aee776402ac3b81c86George Mount    public boolean isObservable() {
29a70fed6415aa1e8bbbe929aee776402ac3b81c86George Mount        return false;
30a70fed6415aa1e8bbbe929aee776402ac3b81c86George Mount    }
31a70fed6415aa1e8bbbe929aee776402ac3b81c86George Mount
32a70fed6415aa1e8bbbe929aee776402ac3b81c86George Mount    @Override
33d7af42b29ddf22f0068f7496c5ac6f4f34b543b6Yigit Boyar    public boolean isDynamic() {
34d7af42b29ddf22f0068f7496c5ac6f4f34b543b6Yigit Boyar        return false;
35d7af42b29ddf22f0068f7496c5ac6f4f34b543b6Yigit Boyar    }
36e52882df6130221462bf07f5f2b52de5c4b0f8deGeorge Mount
37e52882df6130221462bf07f5f2b52de5c4b0f8deGeorge Mount    @Override
38d3f2b9229472c9dae9bf4ae8b3e2d653b5653b01George Mount    public String getInvertibleError() {
39d3f2b9229472c9dae9bf4ae8b3e2d653b5653b01George Mount        return "Class " + getResolvedType().toJavaCode() +
40d3f2b9229472c9dae9bf4ae8b3e2d653b5653b01George Mount                " may not be the target of a two-way binding expression";
41d3f2b9229472c9dae9bf4ae8b3e2d653b5653b01George Mount    }
42d3f2b9229472c9dae9bf4ae8b3e2d653b5653b01George Mount
43d3f2b9229472c9dae9bf4ae8b3e2d653b5653b01George Mount    @Override
44d3f2b9229472c9dae9bf4ae8b3e2d653b5653b01George Mount    public KCode toInverseCode(KCode value) {
45d3f2b9229472c9dae9bf4ae8b3e2d653b5653b01George Mount        throw new IllegalStateException("StaticIdentifierExpr is not invertible.");
46d3f2b9229472c9dae9bf4ae8b3e2d653b5653b01George Mount    }
47d3f2b9229472c9dae9bf4ae8b3e2d653b5653b01George Mount    @Override
48d3f2b9229472c9dae9bf4ae8b3e2d653b5653b01George Mount    protected KCode generateCode(boolean expand) {
49e52882df6130221462bf07f5f2b52de5c4b0f8deGeorge Mount        return new KCode(getResolvedType().toJavaCode());
50e52882df6130221462bf07f5f2b52de5c4b0f8deGeorge Mount    }
51d7af42b29ddf22f0068f7496c5ac6f4f34b543b6Yigit Boyar}
52