com.android.tools.lint.checks
Class DuplicateResourceDetector

java.lang.Object
  extended by com.android.tools.lint.detector.api.Detector
      extended by com.android.tools.lint.detector.api.ResourceXmlDetector
          extended by com.android.tools.lint.checks.DuplicateResourceDetector
All Implemented Interfaces:
com.android.tools.lint.detector.api.Detector.XmlScanner

public class DuplicateResourceDetector
extends com.android.tools.lint.detector.api.ResourceXmlDetector

This detector identifies cases where a resource is defined multiple times in the same resource folder


Nested Class Summary
 
Nested classes/interfaces inherited from class com.android.tools.lint.detector.api.Detector
com.android.tools.lint.detector.api.Detector.BinaryResourceScanner, com.android.tools.lint.detector.api.Detector.ClassScanner, com.android.tools.lint.detector.api.Detector.GradleScanner, com.android.tools.lint.detector.api.Detector.JavaScanner, com.android.tools.lint.detector.api.Detector.OtherFileScanner, com.android.tools.lint.detector.api.Detector.ResourceFolderScanner, com.android.tools.lint.detector.api.Detector.XmlScanner
 
Field Summary
static com.android.tools.lint.detector.api.Issue ISSUE
          The main issue discovered by this detector
static com.android.tools.lint.detector.api.Issue TYPE_MISMATCH
          Wrong resource value type
 
Fields inherited from interface com.android.tools.lint.detector.api.Detector.XmlScanner
ALL
 
Constructor Summary
DuplicateResourceDetector()
          Constructs a new DuplicateResourceDetector
 
Method Summary
 boolean appliesTo(com.android.resources.ResourceFolderType folderType)
           
 void beforeCheckFile(com.android.tools.lint.detector.api.Context context)
           
 java.util.Collection<java.lang.String> getApplicableAttributes()
           
static java.lang.String getExpectedType(java.lang.String message, com.android.tools.lint.detector.api.TextFormat format)
          Returns the resource type expected for a TYPE_MISMATCH error reported by this lint detector.
 com.android.tools.lint.detector.api.Speed getSpeed()
           
 void visitAttribute(com.android.tools.lint.detector.api.XmlContext context, org.w3c.dom.Attr attribute)
           
 
Methods inherited from class com.android.tools.lint.detector.api.ResourceXmlDetector
appliesTo, run
 
Methods inherited from class com.android.tools.lint.detector.api.Detector
afterCheckFile, afterCheckLibraryProject, afterCheckProject, applicableSuperClasses, appliesToFolder, appliesToResourceRefs, beforeCheckLibraryProject, beforeCheckProject, checkBinaryResource, checkCall, checkClass, checkClass, checkFolder, checkInstruction, createJavaVisitor, getApplicableAsmNodeTypes, getApplicableCallNames, getApplicableCallOwners, getApplicableElements, getApplicableFiles, getApplicableMethodNames, getApplicableNodeTypes, getSpeed, visitBuildScript, visitDocument, visitElement, visitElementAfter, visitMethod, visitResourceReference
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.android.tools.lint.detector.api.Detector.XmlScanner
getApplicableElements, visitDocument, visitElement, visitElementAfter
 

Field Detail

ISSUE

public static final com.android.tools.lint.detector.api.Issue ISSUE
The main issue discovered by this detector


TYPE_MISMATCH

public static final com.android.tools.lint.detector.api.Issue TYPE_MISMATCH
Wrong resource value type

Constructor Detail

DuplicateResourceDetector

public DuplicateResourceDetector()
Constructs a new DuplicateResourceDetector

Method Detail

getSpeed

@NonNull
public com.android.tools.lint.detector.api.Speed getSpeed()
Overrides:
getSpeed in class com.android.tools.lint.detector.api.Detector

getApplicableAttributes

@Nullable
public java.util.Collection<java.lang.String> getApplicableAttributes()
Specified by:
getApplicableAttributes in interface com.android.tools.lint.detector.api.Detector.XmlScanner
Overrides:
getApplicableAttributes in class com.android.tools.lint.detector.api.Detector

appliesTo

public boolean appliesTo(@NonNull
                         com.android.resources.ResourceFolderType folderType)
Overrides:
appliesTo in class com.android.tools.lint.detector.api.ResourceXmlDetector

beforeCheckFile

public void beforeCheckFile(@NonNull
                            com.android.tools.lint.detector.api.Context context)
Overrides:
beforeCheckFile in class com.android.tools.lint.detector.api.Detector

visitAttribute

public void visitAttribute(@NonNull
                           com.android.tools.lint.detector.api.XmlContext context,
                           @NonNull
                           org.w3c.dom.Attr attribute)
Specified by:
visitAttribute in interface com.android.tools.lint.detector.api.Detector.XmlScanner
Overrides:
visitAttribute in class com.android.tools.lint.detector.api.Detector

getExpectedType

public static java.lang.String getExpectedType(@NonNull
                                               java.lang.String message,
                                               @NonNull
                                               com.android.tools.lint.detector.api.TextFormat format)
Returns the resource type expected for a TYPE_MISMATCH error reported by this lint detector. Intended for IDE quickfix implementations.

Parameters:
message - the error message created by this lint detector
format - the format of the error message