# Class VersionDetail

java.lang.Object
uk.ac.starlink.ttools.votlint.VersionDetail

public abstract class VersionDetail extends Object
Contains VOTable version-specific validation logic.

Since:
  22 Nov 2012
Author:
  Mark Taylor

## Constructor Summary

Constructors
Modifier
Constructor
Description
`protected`
`VersionDetail(uk.ac.starlink.votable.VOTableVersion version)`
Constructor.

## Method Summary

Modifier and Type
Method
Description
`protected abstract Map<String, AttributeChecker>`
`createAttributeCheckers(String voTagname)`
Constructs a map of attribute checkers suitable for processing elements of a given name.
`protected abstract ElementHandler`
`createElementHandler(String voTagname)`
Constructs a new element handler for an element with the given unqualified VOTable tag name.
`ElementHandler`
`createElementHandler(String voTagname, VotLintContext context)`
Constructs a new ElementHandler for a given local element name.
`Map<String, AttributeChecker>`
`getAttributeCheckers(String voTagname)`
Returns a map of attribute checkers suitable for processing elements of a given name.
`static VersionDetail`
`getInstance(VotLintContext context)`
Returns a VersionDetail instance suitable for use with the given context.

### Methods inherited from class Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### VersionDetail

protected VersionDetail(uk.ac.starlink.votable.VOTableVersion version)
Constructor.

Parameters:
  `version` - VOTable version to which this detail applies

## Method Details

### getAttributeCheckers

public Map<String, AttributeChecker> getAttributeCheckers(String voTagname)
Returns a map of attribute checkers suitable for processing elements of a given name.

Parameters:
  `voTagname` - unqualified element name in VOTable namespace
Returns:
  String->AttributeChecker map for checking attributes

### createElementHandler

public ElementHandler createElementHandler(String voTagname, VotLintContext context)
Constructs a new ElementHandler for a given local element name.

Parameters:
  `voTagname` - unqualified element name in VOTable namespace
  `context` - processing context
Returns:
  handler to process an element of type `name`

### createElementHandler

protected abstract ElementHandler createElementHandler(String voTagname)
Constructs a new element handler for an element with the given unqualified VOTable tag name.

Parameters:
  `voTagname` - unqualified element name
Returns:
  element handler, or null if the element is unknown

### createAttributeCheckers

protected abstract Map<String, AttributeChecker> createAttributeCheckers(String voTagname)
Constructs a map of attribute checkers suitable for processing elements of a given name.

Parameters:
  `voTagname` - unqualified element name in VOTable namespace
Returns:
  String->AttributeChecker map for checking attributes

### getInstance

public static VersionDetail getInstance(VotLintContext context)
Returns a VersionDetail instance suitable for use with the given context.

Parameters:
  `context` - validation context
Returns:
  instance, not null