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