001/*-------------------------------------------------------------------------+
002|                                                                          |
003| Copyright (c) 2009-2018 CQSE GmbH                                        |
004|                                                                          |
005+-------------------------------------------------------------------------*/
006package eu.cqse.check.framework.core.phase;
007
008import java.io.Serializable;
009
010/** Describes a value extracted by an {@link IGlobalExtractionPhase}. */
011public interface IExtractedValue<T extends Serializable> {
012
013        /** Returns the uniform path for this value. */
014        String getUniformPath();
015
016        /** Returns the actual value. This is also used as key in the inverted index. */
017        String getValue();
018
019        /**
020         * Returns additional information that should be stored. This is information
021         * that later needs to be available to the check, but is not part of the value.
022         * Examples are token positions of the values.
023         */
024        T getAdditionalInformation();
025}