@Beta public class XmlContext extends ResourceContext
Context used when checking XML files.
NOTE: This is not a public or final API; if you rely on this be prepared to adjust your code for the next tools release.
| Modifier and Type | Field and Description |
|---|---|
org.w3c.dom.Document |
document
The XML document
|
| Constructor and Description |
|---|
XmlContext(LintDriver driver,
Project project,
Project main,
java.io.File file,
com.android.resources.ResourceFolderType folderType,
XmlParser parser)
Construct a new
XmlContext |
| Modifier and Type | Method and Description |
|---|---|
Location.Handle |
createLocationHandle(org.w3c.dom.Node node) |
Location |
getLocation(org.w3c.dom.Node node)
Returns the location for the given node, which may be an element or an attribute.
|
Location |
getLocation(org.w3c.dom.Node textNode,
int begin,
int end)
Creates a new location within an XML text node
|
Location |
getNameLocation(org.w3c.dom.Node node)
Returns the location for name-portion of the given element or attribute.
|
XmlParser |
getParser() |
protected java.io.File |
getResourceFolder()
Returns the resource folder that this resource context corresponds to, if applicable
|
protected java.lang.String |
getSuppressCommentPrefix()
Returns the comment marker used in Studio to suppress statements for language, if any
|
Location |
getValueLocation(org.w3c.dom.Attr node)
Returns the location for value-portion of the given attribute
|
boolean |
isSuppressedWithComment(org.w3c.dom.Node node,
Issue issue) |
void |
report(Issue issue,
Location location,
java.lang.String message)
Reports an issue.
|
void |
report(Issue issue,
org.w3c.dom.Node scope,
Location location,
java.lang.String message)
Reports an issue applicable to a given DOM node.
|
void |
report(Issue issue,
org.w3c.dom.Node scope,
Location location,
java.lang.String message,
LintFix quickfixData)
Reports an issue applicable to a given DOM node.
|
void |
report(Issue issue,
org.w3c.dom.Node scope,
Location location,
java.lang.String message,
java.lang.Object quickfixData)
Deprecated.
Here for temporary compatibility; the new typed quickfix data parameter
should be used instead
|
getFolderConfiguration, getFolderVersion, getResourceFolderTypecontainsCommentSuppress, getClient, getConfiguration, getContents, getDriver, getMainProject, getPhase, getProject, getProperty, getScope, getSdkInfo, isEnabled, isSuppressedWithComment, log, report, report, requestRepeat, setPropertypublic XmlContext(@NonNull
LintDriver driver,
@NonNull
Project project,
@Nullable
Project main,
@NonNull
java.io.File file,
@Nullable
com.android.resources.ResourceFolderType folderType,
@NonNull
XmlParser parser)
XmlContextdriver - the driver running through the checksproject - the project containing the file being checkedmain - the main project if this project is a library project, or
null if this is not a library project. The main project is
the root project of all library projects, not necessarily the
directly including project.file - the file being checkedfolderType - the ResourceFolderType of this file, if any@NonNull public Location getLocation(@NonNull org.w3c.dom.Node node)
node - the node to look up the location for@NonNull public Location getNameLocation(@NonNull org.w3c.dom.Node node)
node - the node to look up the location for@NonNull public Location getValueLocation(@NonNull org.w3c.dom.Attr node)
node - the node to look up the location for@NonNull public Location getLocation(@NonNull org.w3c.dom.Node textNode, int begin, int end)
textNode - the text nodebegin - the start offset within the text node (inclusive)end - the end offset within the text node (exclusive)@NonNull public XmlParser getParser()
public void report(@NonNull
Issue issue,
@Nullable
org.w3c.dom.Node scope,
@NonNull
Location location,
@NonNull
java.lang.String message)
issue - the issue to reportscope - the DOM node scope the error applies to. The lint infrastructure will check
whether there are suppress directives on this node (or its enclosing nodes)
and if so suppress the warning without involving the client.location - the location of the issue, or null if not knownmessage - the message for this warningpublic void report(@NonNull
Issue issue,
@Nullable
org.w3c.dom.Node scope,
@NonNull
Location location,
@NonNull
java.lang.String message,
@Nullable
LintFix quickfixData)
issue - the issue to reportscope - the DOM node scope the error applies to. The lint infrastructure will
check whether there are suppress directives on this node (or its
enclosing nodes) and if so suppress the warning without involving the
client.location - the location of the issue, or null if not knownmessage - the message for this warningquickfixData - optional data to pass to the IDE for use by a quickfix.@Deprecated
public void report(@NonNull
Issue issue,
@Nullable
org.w3c.dom.Node scope,
@NonNull
Location location,
@NonNull
java.lang.String message,
@Nullable
java.lang.Object quickfixData)
public void report(@NonNull
Issue issue,
@NonNull
Location location,
@NonNull
java.lang.String message)
ContextLintClient.report(com.android.tools.lint.detector.api.Context, com.android.tools.lint.detector.api.Issue, com.android.tools.lint.detector.api.Severity, com.android.tools.lint.detector.api.Location, java.lang.String, com.android.tools.lint.detector.api.TextFormat, com.android.tools.lint.detector.api.LintFix)@Nullable protected java.lang.String getSuppressCommentPrefix()
ContextgetSuppressCommentPrefix in class Contextpublic boolean isSuppressedWithComment(@NonNull
org.w3c.dom.Node node,
@NonNull
Issue issue)
@NonNull public Location.Handle createLocationHandle(@NonNull org.w3c.dom.Node node)
@Nullable protected java.io.File getResourceFolder()
ResourceContextgetResourceFolder in class ResourceContext