// Copyright 2014 Daniel de Kok
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

package eu.danieldk.nlp.conllx;

import com.google.common.base.Optional;

/**
 * @author Daniël de Kok <me@danieldk.eu>
 */
public interface Token {
    int getPosition();

    Optional<String> getForm();

    Optional<String> getLemma();

    Optional<String> getCoursePOSTag();

    Optional<String> getPosTag();

    Optional<String> getFeatures();

    Optional<Integer> getHead();

    Optional<String> getDepRel();

    Optional<Integer> getPHead();

    Optional<String> getPDepRel();
}

@@ -669,383 +669,1385 @@
 %0A * 
-@author Dani%C3%ABl de Kok %3Cme@danieldk.eu%3E%0A */%0Apublic interface Token %7B%0A    int getPosition();%0A%0A    Optional%3CString%3E getForm();%0A%0A    Optional%3CString%3E getLemma();%0A%0A    Optional%3CString%3E getCoursePOSTag();%0A%0A    Optional%3CString%3E getPosTag();%0A%0A    Optional%3CString%3E getFeatures();%0A%0A    Optional%3CInteger%3E getHead();%0A%0A    Optional%3CString%3E getDepRel();%0A%0A    Optional%3CInteger%3E getPHead();%0A
+A token, with its morphosyntactical information and dependency%0A * relations.%0A *%0A * @author Dani%C3%ABl de Kok %3Cme@danieldk.eu%3E%0A */%0Apublic interface Token %7B%0A    /**%0A     * Get the position of the token within the sentence, starting at 1.%0A     */%0A    int getPosition();%0A%0A    /**%0A     * Get the form (actual token).%0A     */%0A    Optional%3CString%3E getForm();%0A%0A    /**%0A     * Get the lemma.%0A     */%0A    Optional%3CString%3E getLemma();%0A%0A    /**%0A     * Get the coarse-grained part of speech tag.%0A     */%0A    Optional%3CString%3E getCoursePOSTag();%0A%0A    /**%0A     * Get the (fine-grained) part of speech tag.%0A     */%0A    Optional%3CString%3E getPosTag();%0A%0A    /**%0A     * Get the features.%0A     */%0A    Optional%3CString%3E getFeatures();%0A%0A    /**%0A     * Get the head of the token. This is either the position or %3Ci%3E0%3C/i%3E%0A     * (for instance, when the token is the root).%0A     */%0A    Optional%3CInteger%3E getHead();%0A%0A    /**%0A     * Get the dependency relation to the head.%0A     */%0A    Optional%3CString%3E getDepRel();%0A%0A    /**%0A     * Get the projective head of the token. This is either the position or %3Ci%3E0%3C/i%3E%0A     * (for instance, when the token is the root). If tokens in a sentence have a%0A     * projective head, then using all projective heads should result in a projective%0A     * structure.%0A     */%0A    Optional%3CInteger%3E getPHead();%0A%0A    /**%0A     * Get the dependency relation to the projective head.%0A     */
 %0A   

Add Javadoc to Token.