package org.infernus.idea.checkstyle.csapi;
/**
* Objects which implement this interface are keepers of objects internal to the Checkstyle tool, so from within the
* normal plugin code we cannot know what they are. They are to be used from within the 'csaccess' source set only.
* In this way, we can <em>store</em> objects from the Checkstyle tool itself in other parts of the plugin, although we
* cannot <em>use</em> these objects.
* <p>It is important to make sure that these objects do not outlive the classloader that loaded them (at least not by
* much). When the Checkstyle version is changed in the configuration, all objects which implement this interface
* must be discarded. The new classloader with the new Checkstyle version would not be able to use them and
* {@link org.infernus.idea.checkstyle.exception.CheckstyleVersionMixException CheckstyleVersionMixException}s would
* result.</p>
*/
public interface CheckstyleInternalObject {
// tagging interface
}