public class ResourceMergerItem extends java.lang.Object implements java.lang.Comparable<ResourceMergerItem>, ResourceItem
Includes the name, type, source file as a ResourceFile and an optional Node
in case of a resource coming from a value file.
| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
ATTR_DESCRIPTION
The name of the synthetic XML attribute used for storing ATTR description.
|
static java.lang.String |
ATTR_GROUP_NAME
The name of the synthetic XML attribute used for storing ATTR group name.
|
protected com.android.ide.common.rendering.api.ResourceValue |
mResourceValue |
ATTR_EXAMPLE, XLIFF_G_TAG, XLIFF_NAMESPACE_PREFIX| Constructor and Description |
|---|
ResourceMergerItem(java.lang.String name,
com.android.ide.common.rendering.api.ResourceNamespace namespace,
com.android.resources.ResourceType type,
org.w3c.dom.Node value,
java.lang.String libraryName)
Constructs the object with a name, type and optional value.
|
| Modifier and Type | Method and Description |
|---|---|
int |
compareTo(ResourceMergerItem other) |
boolean |
compareValueWith(ResourceMergerItem resource)
Compares the ResourceItem
getValue() together and returns true if they are the same. |
boolean |
equals(java.lang.Object o) |
FolderConfiguration |
getConfiguration()
Returns the
FolderConfiguration for this object. |
java.io.File |
getFile()
Returns the
File from which this DataItem was created, if known. |
boolean |
getIgnoredFromDiskMerge() |
java.lang.String |
getKey()
Returns a key for this resource.
|
java.lang.String |
getLibraryName()
Returns the name of the library contains this resource, or null if resource does not belong
to a library.
|
java.lang.String |
getName()
Returns the name of the item.
|
com.android.ide.common.rendering.api.ResourceNamespace |
getNamespace()
Returns the
ResourceNamespace of this resource. |
java.lang.String |
getQualifiers()
Returns the resource item qualifiers.
|
com.android.ide.common.rendering.api.ResourceReference |
getReferenceToSelf()
Returns a
ResourceReference that points to this resource. |
com.android.ide.common.rendering.api.ResourceValue |
getResourceValue()
Returns a
ResourceValue built from parsing the XML for this resource. |
com.android.ide.common.util.PathString |
getSource()
Returns the
PathString for the file from which this resource was created, or null if
the resource is not associated with a file. |
F |
getSourceFile()
Returns the DataFile the item is coming from.
|
DataFile.FileType |
getSourceType() |
protected int |
getStatus()
Obtains the full status of the data item; should not generally be used except
for debug purposes.
|
com.android.resources.ResourceType |
getType()
Returns the type of this resource.
|
org.w3c.dom.Node |
getValue()
Returns the optional value of the resource.
|
java.lang.String |
getValueText()
Returns the optional string value of the resource.
|
java.lang.String |
getXmlString(com.android.resources.ResourceType type,
boolean system)
Returns a formatted string usable in an XML to use for the
ResourceMergerItem. |
int |
hashCode() |
boolean |
isFileBased()
Returns true if this resource represents a whole file or a whole zip file entry, not an XML
tag within a values XML file.
|
void |
setIgnoredFromDiskMerge(boolean ignored) |
void |
setSourceFile(F sourceFile)
Sets the DataFile.
|
java.lang.String |
toString() |
protected void |
wasTouched()
Hook invoked when the data item has been touched.
|
clone, finalize, getClass, notify, notifyAll, wait, wait, waitgetName, getOriginalSourcepublic static final java.lang.String ATTR_DESCRIPTION
public static final java.lang.String ATTR_GROUP_NAME
@Nullable protected com.android.ide.common.rendering.api.ResourceValue mResourceValue
public ResourceMergerItem(@NonNull
java.lang.String name,
@NonNull
com.android.ide.common.rendering.api.ResourceNamespace namespace,
@NonNull
com.android.resources.ResourceType type,
@Nullable
org.w3c.dom.Node value,
@Nullable
java.lang.String libraryName)
Note that the object is not fully usable as-is. It must be added to a ResourceFile first.
name - the name of the resourcenamespace - the namespace of the resourcetype - the type of the resourcevalue - an optional Node that represents the resource value.libraryName - the name of the library the resource belongs to, or null if the resource
does not belong to a library@NonNull public com.android.resources.ResourceType getType()
ResourceItemgetType in interface ResourceItem@Nullable public org.w3c.dom.Node getValue()
@Nullable public java.lang.String getValueText()
@Nullable public java.lang.String getLibraryName()
ResourceItemThe contents of the returned string may depend on the build system managing the library dependency.
getLibraryName in interface ResourceItem@NonNull public com.android.ide.common.rendering.api.ResourceNamespace getNamespace()
ResourceItemResourceNamespace of this resource.getNamespace in interface ResourceItem@NonNull public java.lang.String getQualifiers()
@NonNull public DataFile.FileType getSourceType()
@NonNull public com.android.ide.common.rendering.api.ResourceReference getReferenceToSelf()
ResourceItemResourceReference that points to this resource.getReferenceToSelf in interface ResourceItem@NonNull public FolderConfiguration getConfiguration()
ConfigurableFolderConfiguration for this object.getConfiguration in interface Configurable@NonNull public java.lang.String getKey()
If the resource has not been added to a ResourceFile, this will throw an IllegalStateException.
getKey in interface ResourceItemjava.lang.IllegalStateException - if the resource is not added to a ResourceFileprotected void wasTouched()
@NonNull public com.android.ide.common.rendering.api.ResourceValue getResourceValue()
ResourceItemResourceValue built from parsing the XML for this resource. It can be used
to inspect the value of the resource.
The concrete type of the returned object depends on ResourceItem.getType().
getResourceValue in interface ResourceItemResourceValue or null if there was an error parsing the XML or
the XML is no longer accessible (this may be the case in the IDE, when the item is based
on old PSI).@Nullable public com.android.ide.common.util.PathString getSource()
ResourceItemPathString for the file from which this resource was created, or null if
the resource is not associated with a file. The file used to create this resource may be
a result of some kind of processing applied on the original source file. In such a case this
method returns a result different from ResourceItem.getOriginalSource(). The returned
PathString may point to a file on the local file system, or to a zip file entry.getSource in interface ResourceItempublic boolean isFileBased()
ResourceItemisFileBased in interface ResourceItempublic java.lang.String getXmlString(com.android.resources.ResourceType type,
boolean system)
ResourceMergerItem.system - Whether this is a system resource or a project resource.public boolean compareValueWith(ResourceMergerItem resource)
getValue() together and returns true if they are the same.resource - The ResourceItem object to compare to.public java.lang.String toString()
public boolean equals(java.lang.Object o)
public int hashCode()
public int compareTo(@NonNull
ResourceMergerItem other)
compareTo in interface java.lang.Comparable<ResourceMergerItem>public void setIgnoredFromDiskMerge(boolean ignored)
public boolean getIgnoredFromDiskMerge()
@NonNull public java.lang.String getName()
@Nullable public F getSourceFile()
public void setSourceFile(@Nullable
F sourceFile)
sourceFile - the data file, if null then the item is marked as being removed from the
data fileprotected int getStatus()
@Nullable public java.io.File getFile()
File from which this DataItem was created, if known. For some
subclasses of DataItem, the file is known even if getSourceFile() returns null.