// Path: src/main/java/unsw/curation/api/domain/ExtractPosTag.java
// public class ExtractPosTag {
// 	 
//   public ExtractPosTag(){}
//   public ExtractPosTag(String wordPart,String tag)
//   {
// 	  this.wordPart=wordPart;
// 	  this.tag=tag;
//   }
//   private String wordPart;
//   private String tag;
//   private int itemCount;
//   
//   public void setWordPart(String wordPart)
//   {
// 	  this.wordPart=wordPart;
//   }
//   public String getWordPart()
//   {
// 	  return this.wordPart;
//   }
//   public void setTag(String tag)
//   {
// 	  this.tag=tag;
//   }
//   public String getTag()
//   {
// 	  return this.tag;
//   }
//   public void setItemCount(int itemCount)
//   {
// 	  this.itemCount=itemCount;
//   }
//   public int getItemCount()
//   {
// 	  return this.itemCount;
//   }
// }
// 
// Path: src/main/java/unsw/curation/api/domain/abstraction/IPosTag.java
// public interface IPosTag {
// 
// 	List<ExtractPosTag> ExtractNoun(String sentence);
// 	List<ExtractPosTag> ExtractAdjective(String sentence);
// 	List<ExtractPosTag> ExtractAdverb(String sentence);
// 	List<ExtractPosTag> ExtractVerb(String sentence);
// 	List<ExtractPosTag> ExtractQuotaion(String sentence);
// 	List<String> ExtractPhrase(String sentence);
// 	List<ExtractPosTag> ExtractNoun(File filePath)throws Exception;
// 	List<ExtractPosTag> ExtractAdjective(File filePath)throws Exception;
// 	List<ExtractPosTag> ExtractAdverb(File filePath) throws Exception;
// 	List<ExtractPosTag> ExtractVerb(File filePath) throws Exception;
// 	
// 	List<ExtractPosTag> ExtractPosTagsSentence(String sentence);
// 	List<ExtractPosTag> ExtractPosTagsSentenceNew(String sentence);
// 	List<ExtractPosTag> ExtractPosTagsFile(File filePath) throws Exception;
// 	
// 	List<String> ExtractData(File filePath) throws Exception;
// 	List<ExtractPosTag> ExtractPosTags(List<String> inputData);
// }


import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Properties;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import edu.stanford.nlp.ling.CoreAnnotations;
import edu.stanford.nlp.ling.CoreAnnotations.PartOfSpeechAnnotation;
import edu.stanford.nlp.ling.CoreAnnotations.TokensAnnotation;
import edu.stanford.nlp.pipeline.Annotation;
import edu.stanford.nlp.pipeline.StanfordCoreNLP;
import edu.stanford.nlp.trees.Tree;
import edu.stanford.nlp.trees.TreeCoreAnnotations.TreeAnnotation;
import edu.stanford.nlp.trees.tregex.TregexMatcher;
import edu.stanford.nlp.trees.tregex.TregexPattern;
import edu.stanford.nlp.util.CoreMap;
import unsw.curation.api.domain.ExtractPosTag;
import unsw.curation.api.domain.abstraction.IPosTag;

package unsw.curation.api.extractpostag;




public class ExtractPosTagData implements IPosTag {

	@Override

// Path: src/main/java/unsw/curation/api/domain/ExtractPosTag.java
// public class ExtractPosTag {
// 	 
//   public ExtractPosTag(){}
//   public ExtractPosTag(String wordPart,String tag)
//   {
// 	  this.wordPart=wordPart;
// 	  this.tag=tag;
//   }
//   private String wordPart;
//   private String tag;
//   private int itemCount;
//   
//   public void setWordPart(String wordPart)
//   {
// 	  this.wordPart=wordPart;
//   }
//   public String getWordPart()
//   {
// 	  return this.wordPart;
//   }
//   public void setTag(String tag)
//   {
// 	  this.tag=tag;
//   }
//   public String getTag()
//   {
// 	  return this.tag;
//   }
//   public void setItemCount(int itemCount)
//   {
// 	  this.itemCount=itemCount;
//   }
//   public int getItemCount()
//   {
// 	  return this.itemCount;
//   }
// }
// 
// Path: src/main/java/unsw/curation/api/domain/abstraction/IPosTag.java
// public interface IPosTag {
// 
// 	List<ExtractPosTag> ExtractNoun(String sentence);
// 	List<ExtractPosTag> ExtractAdjective(String sentence);
// 	List<ExtractPosTag> ExtractAdverb(String sentence);
// 	List<ExtractPosTag> ExtractVerb(String sentence);
// 	List<ExtractPosTag> ExtractQuotaion(String sentence);
// 	List<String> ExtractPhrase(String sentence);
// 	List<ExtractPosTag> ExtractNoun(File filePath)throws Exception;
// 	List<ExtractPosTag> ExtractAdjective(File filePath)throws Exception;
// 	List<ExtractPosTag> ExtractAdverb(File filePath) throws Exception;
// 	List<ExtractPosTag> ExtractVerb(File filePath) throws Exception;
// 	
// 	List<ExtractPosTag> ExtractPosTagsSentence(String sentence);
// 	List<ExtractPosTag> ExtractPosTagsSentenceNew(String sentence);
// 	List<ExtractPosTag> ExtractPosTagsFile(File filePath) throws Exception;
// 	
// 	List<String> ExtractData(File filePath) throws Exception;
// 	List<ExtractPosTag> ExtractPosTags(List<String> inputData);
// }


// Path: src/main/java/unsw/curation/api/extractpostag/ExtractPosTagData.java
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Properties;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import edu.stanford.nlp.ling.CoreAnnotations;
import edu.stanford.nlp.ling.CoreAnnotations.PartOfSpeechAnnotation;
import edu.stanford.nlp.ling.CoreAnnotations.TokensAnnotation;
import edu.stanford.nlp.pipeline.Annotation;
import edu.stanford.nlp.pipeline.StanfordCoreNLP;
import edu.stanford.nlp.trees.Tree;
import edu.stanford.nlp.trees.TreeCoreAnnotations.TreeAnnotation;
import edu.stanford.nlp.trees.tregex.TregexMatcher;
import edu.stanford.nlp.trees.tregex.TregexPattern;
import edu.stanford.nlp.util.CoreMap;
import unsw.curation.api.domain.ExtractPosTag;
import unsw.curation.api.domain.abstraction.IPosTag;

package unsw.curation.api.extractpostag;




public class ExtractPosTagData implements IPosTag {

	@Override

	public List<ExtractPosTag> ExtractNoun(String sentence) {
