| /* |
| * Copyright (C) 2019 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.resources.deprecated; |
| |
| import com.android.ide.common.rendering.api.ResourceValue; |
| import com.android.ide.common.resources.configuration.Configurable; |
| import com.android.ide.common.resources.configuration.FolderConfiguration; |
| import com.android.io.IAbstractFile; |
| import com.android.resources.ResourceType; |
| |
| /** |
| * @deprecated This class is part of an obsolete resource repository system that is no longer used |
| * in production code. The class is preserved temporarily for LayoutLib tests. |
| */ |
| @Deprecated |
| public abstract class ResourceFile implements Configurable { |
| |
| private final IAbstractFile mFile; |
| private final ResourceFolder mFolder; |
| |
| protected ResourceFile(IAbstractFile file, ResourceFolder folder) { |
| mFile = file; |
| mFolder = folder; |
| } |
| |
| protected abstract void load(ScanningContext context); |
| protected abstract void update(ScanningContext context); |
| |
| @Override |
| public FolderConfiguration getConfiguration() { |
| return mFolder.getConfiguration(); |
| } |
| |
| /** |
| * Returns the IFile associated with the ResourceFile. |
| */ |
| public final IAbstractFile getFile() { |
| return mFile; |
| } |
| |
| public final ResourceRepository getRepository() { |
| return mFolder.getRepository(); |
| } |
| |
| /** |
| * Returns whether the resource is a framework resource. |
| */ |
| public final boolean isFramework() { |
| return mFolder.getRepository().isFrameworkRepository(); |
| } |
| |
| /** |
| * Returns the value of a resource generated by this file by {@link ResourceType} and name. |
| * <p>If no resource match, <code>null</code> is returned. |
| * @param type the type of the resource. |
| * @param name the name of the resource. |
| */ |
| public abstract ResourceValue getValue(ResourceType type, String name); |
| |
| @Override |
| public String toString() { |
| return mFile.toString(); |
| } |
| } |
| |