diff options
author | Xavier Ducrohet <xav@android.com> | 2010-12-15 16:08:57 -0800 |
---|---|---|
committer | Xavier Ducrohet <xav@android.com> | 2010-12-21 10:27:22 -0800 |
commit | 95b17a5e62eeeb7b38ef668508df43a1ee9e0880 (patch) | |
tree | ca77258cf072446e38d2a68acab77aac8dd3a73e /layoutlib_api/src/com/android/ide/common/rendering/api/StyleResourceValue.java | |
parent | 77e0fdebe08d39f550544571989649533d043223 (diff) | |
download | sdk-95b17a5e62eeeb7b38ef668508df43a1ee9e0880.zip sdk-95b17a5e62eeeb7b38ef668508df43a1ee9e0880.tar.gz sdk-95b17a5e62eeeb7b38ef668508df43a1ee9e0880.tar.bz2 |
LayoutLib API refactoring
Change-Id: I40abba4c4f786755c2a1c0e70df4d7bc08e2bcde
Diffstat (limited to 'layoutlib_api/src/com/android/ide/common/rendering/api/StyleResourceValue.java')
-rw-r--r-- | layoutlib_api/src/com/android/ide/common/rendering/api/StyleResourceValue.java | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/layoutlib_api/src/com/android/ide/common/rendering/api/StyleResourceValue.java b/layoutlib_api/src/com/android/ide/common/rendering/api/StyleResourceValue.java new file mode 100644 index 0000000..a9f499f --- /dev/null +++ b/layoutlib_api/src/com/android/ide/common/rendering/api/StyleResourceValue.java @@ -0,0 +1,80 @@ +/* + * Copyright (C) 2008 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.ide.common.rendering.api; + +import com.android.layoutlib.api.IResourceValue; +import com.android.layoutlib.api.IStyleResourceValue; + +import java.util.HashMap; + +/** + * Represents an android style resources with a name and a list of children {@link ResourceValue}. + */ +@SuppressWarnings("deprecation") +public final class StyleResourceValue extends ResourceValue implements IStyleResourceValue { + + private String mParentStyle = null; + private HashMap<String, ResourceValue> mItems = new HashMap<String, ResourceValue>(); + + public StyleResourceValue(String type, String name, boolean isFramework) { + super(type, name, isFramework); + } + + public StyleResourceValue(String type, String name, String parentStyle, boolean isFramework) { + super(type, name, isFramework); + mParentStyle = parentStyle; + } + + /** + * Returns the parent style name or <code>null</code> if unknown. + */ + public String getParentStyle() { + return mParentStyle; + } + + /** + * Finds a value in the list by name + * @param name the name of the resource + */ + public ResourceValue findValue(String name) { + return mItems.get(name); + } + + public void addValue(ResourceValue value) { + mItems.put(value.getName(), value); + } + + @Override + public void replaceWith(ResourceValue value) { + assert value instanceof StyleResourceValue; + super.replaceWith(value); + + if (value instanceof StyleResourceValue) { + mItems.clear(); + mItems.putAll(((StyleResourceValue)value).mItems); + } + } + + /** + * Legacy method. + * @deprecated use {@link #getValue()} + */ + public IResourceValue findItem(String name) { + return mItems.get(name); + } + +} |