/*
* Copyright 2011
* Ubiquitous Knowledge Processing (UKP) Lab
* Technische Universität Darmstadt
*
* 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.
*/
/* First created by JCasGen Sun Nov 20 19:36:17 CET 2011 */
package de.tudarmstadt.ukp.dkpro.core.api.coref.type;
import java.util.ArrayList;
import java.util.List;
import org.apache.uima.jcas.JCas;
import org.apache.uima.jcas.JCasRegistry;
import org.apache.uima.jcas.cas.TOP_Type;
import org.apache.uima.jcas.cas.AnnotationBase;
/** Marks the beginning of a chain.
* Updated by JCasGen Fri Oct 31 23:38:08 CET 2014
* XML source: /Users/bluefire/UKP/Workspaces/dkpro-juno/de.tudarmstadt.ukp.dkpro.core-asl/de.tudarmstadt.ukp.dkpro.core.api.coref-asl/src/main/resources/desc/type/coref.xml
* @generated */
public class CoreferenceChain extends AnnotationBase {
/** @generated
* @ordered
*/
public final static int typeIndexID = JCasRegistry.register(CoreferenceChain.class);
/** @generated
* @ordered
*/
public final static int type = typeIndexID;
/** @generated */
@Override
public int getTypeIndexID() {return typeIndexID;}
/** Never called. Disable default constructor
* @generated */
protected CoreferenceChain() {/* intentionally empty block */}
/** Internal - constructor used by generator
* @generated
* @param addr low level Feature Structure reference
* @param type the type of this Feature Structure
*/
public CoreferenceChain(int addr, TOP_Type type) {
super(addr, type);
readObject();
}
/** @generated
* @param jcas JCas to which this Feature Structure belongs
*/
public CoreferenceChain(JCas jcas) {
super(jcas);
readObject();
}
/**
* <!-- begin-user-doc -->
* Write your own initialization here
* <!-- end-user-doc -->
*
* @generated modifiable
*/
private void readObject() {}
//*--------------*
//* Feature: first
/** getter for first - gets This is the first corefernce link in coreference chain
* @generated
* @return value of the feature
*/
public CoreferenceLink getFirst() {
if (CoreferenceChain_Type.featOkTst && ((CoreferenceChain_Type)jcasType).casFeat_first == null)
jcasType.jcas.throwFeatMissing("first", "de.tudarmstadt.ukp.dkpro.core.api.coref.type.CoreferenceChain");
return (CoreferenceLink)(jcasType.ll_cas.ll_getFSForRef(jcasType.ll_cas.ll_getRefValue(addr, ((CoreferenceChain_Type)jcasType).casFeatCode_first)));}
/** setter for first - sets This is the first corefernce link in coreference chain
* @generated
* @param v value to set into the feature
*/
public void setFirst(CoreferenceLink v) {
if (CoreferenceChain_Type.featOkTst && ((CoreferenceChain_Type)jcasType).casFeat_first == null)
jcasType.jcas.throwFeatMissing("first", "de.tudarmstadt.ukp.dkpro.core.api.coref.type.CoreferenceChain");
jcasType.ll_cas.ll_setRefValue(addr, ((CoreferenceChain_Type)jcasType).casFeatCode_first, jcasType.ll_cas.ll_getFSRef(v));}
public List<CoreferenceLink> links() {
List<CoreferenceLink> links = new ArrayList<CoreferenceLink>();
CoreferenceLink l = getFirst();
while (l != null) {
links.add(l);
l = l.getNext();
}
return links;
}
}