BridgeLayoutParamsMapAttributes.java revision 01811aa86279af1b341a4fff344d66c0ebdd63da
101811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet/*
201811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet * Copyright (C) 2010 The Android Open Source Project
301811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet *
401811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet * Licensed under the Apache License, Version 2.0 (the "License");
501811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet * you may not use this file except in compliance with the License.
601811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet * You may obtain a copy of the License at
701811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet *
801811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet *      http://www.apache.org/licenses/LICENSE-2.0
901811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet *
1001811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet * Unless required by applicable law or agreed to in writing, software
1101811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet * distributed under the License is distributed on an "AS IS" BASIS,
1201811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1301811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet * See the License for the specific language governing permissions and
1401811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet * limitations under the License.
1501811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet */
1601811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet
1701811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohetpackage com.android.layoutlib.bridge.android;
1801811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet
1901811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohetimport com.android.layoutlib.bridge.BridgeConstants;
2001811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet
2101811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohetimport android.util.AttributeSet;
2201811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet
2301811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohetimport java.util.Map;
2401811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet
2501811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet/**
2601811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet * An implementation of the {@link AttributeSet} interface on top of a map of attribute in the form
2701811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet * of (name, value).
2801811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet *
2901811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet * This is meant to be called only from {@link BridgeContext#obtainStyledAttributes(AttributeSet, int[], int, int)}
3001811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet * in the case of LayoutParams and therefore isn't a full implementation.
3101811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet */
3201811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohetpublic class BridgeLayoutParamsMapAttributes implements AttributeSet {
3301811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet
3401811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet    private final Map<String, String> mAttributes;
3501811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet
3601811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet    public BridgeLayoutParamsMapAttributes(Map<String, String> attributes) {
3701811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet        mAttributes = attributes;
3801811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet    }
3901811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet
4001811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet    public String getAttributeValue(String namespace, String name) {
4101811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet        if (BridgeConstants.NS_RESOURCES.equals(namespace)) {
4201811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet            return mAttributes.get(name);
4301811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet        }
4401811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet
4501811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet        return null;
4601811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet    }
4701811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet
4801811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet    // ---- the following methods are not called from
4901811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet    // BridgeContext#obtainStyledAttributes(AttributeSet, int[], int, int)
5001811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet    // Should they ever be called, we'll just implement them on a need basis.
5101811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet
5201811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet    public int getAttributeCount() {
5301811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet        throw new UnsupportedOperationException();
5401811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet    }
5501811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet
5601811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet    public String getAttributeName(int index) {
5701811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet        throw new UnsupportedOperationException();
5801811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet    }
5901811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet
6001811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet    public String getAttributeValue(int index) {
6101811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet        throw new UnsupportedOperationException();
6201811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet    }
6301811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet
6401811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet    public String getPositionDescription() {
6501811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet        throw new UnsupportedOperationException();
6601811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet    }
6701811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet
6801811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet    public int getAttributeNameResource(int index) {
6901811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet        throw new UnsupportedOperationException();
7001811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet    }
7101811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet
7201811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet    public int getAttributeListValue(String namespace, String attribute,
7301811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet            String[] options, int defaultValue) {
7401811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet        throw new UnsupportedOperationException();
7501811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet    }
7601811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet
7701811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet    public boolean getAttributeBooleanValue(String namespace, String attribute,
7801811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet            boolean defaultValue) {
7901811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet        throw new UnsupportedOperationException();
8001811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet    }
8101811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet
8201811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet    public int getAttributeResourceValue(String namespace, String attribute,
8301811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet            int defaultValue) {
8401811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet        throw new UnsupportedOperationException();
8501811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet    }
8601811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet
8701811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet    public int getAttributeIntValue(String namespace, String attribute,
8801811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet            int defaultValue) {
8901811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet        throw new UnsupportedOperationException();
9001811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet    }
9101811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet
9201811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet    public int getAttributeUnsignedIntValue(String namespace, String attribute,
9301811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet            int defaultValue) {
9401811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet        throw new UnsupportedOperationException();
9501811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet    }
9601811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet
9701811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet    public float getAttributeFloatValue(String namespace, String attribute,
9801811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet            float defaultValue) {
9901811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet        throw new UnsupportedOperationException();
10001811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet    }
10101811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet
10201811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet    public int getAttributeListValue(int index,
10301811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet            String[] options, int defaultValue) {
10401811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet        throw new UnsupportedOperationException();
10501811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet    }
10601811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet
10701811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet    public boolean getAttributeBooleanValue(int index, boolean defaultValue) {
10801811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet        throw new UnsupportedOperationException();
10901811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet    }
11001811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet
11101811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet    public int getAttributeResourceValue(int index, int defaultValue) {
11201811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet        throw new UnsupportedOperationException();
11301811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet    }
11401811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet
11501811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet    public int getAttributeIntValue(int index, int defaultValue) {
11601811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet        throw new UnsupportedOperationException();
11701811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet    }
11801811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet
11901811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet    public int getAttributeUnsignedIntValue(int index, int defaultValue) {
12001811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet        throw new UnsupportedOperationException();
12101811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet    }
12201811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet
12301811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet    public float getAttributeFloatValue(int index, float defaultValue) {
12401811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet        throw new UnsupportedOperationException();
12501811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet    }
12601811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet
12701811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet    public String getIdAttribute() {
12801811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet        throw new UnsupportedOperationException();
12901811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet    }
13001811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet
13101811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet    public String getClassAttribute() {
13201811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet        throw new UnsupportedOperationException();
13301811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet    }
13401811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet
13501811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet    public int getIdAttributeResourceValue(int defaultValue) {
13601811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet        throw new UnsupportedOperationException();
13701811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet    }
13801811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet
13901811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet    public int getStyleAttribute() {
14001811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet        throw new UnsupportedOperationException();
14101811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet    }
14201811aa86279af1b341a4fff344d66c0ebdd63daXavier Ducrohet}
143