blob: bf2ba37048e786a47058955728f214fc5ad72f23 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You 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 opennlp.tools.nl2code;
import java.util.ArrayList;
import java.util.List;
public class ObjectPhraseListForSentence {
List<ObjectPhrase> oPhrases;
ObjectControlOp contrOp;
public ObjectPhraseListForSentence(List<ObjectPhrase> oPhrases2,
ObjectControlOp op) {
this.oPhrases = oPhrases2;
this.contrOp=op;
}
public String toString(){
String ret= "";
ret+= contrOp.getOperatorFor();
ret+= contrOp.getOperatorIf();
ret+=" "+oPhrases.toString();
return ret;
}
public void cleanMethodNamesIsAre(){
for(int i=0; i<oPhrases.size(); i++){
ObjectPhrase o1 = oPhrases.get(i);
if (o1.getMethod()!=null && (o1.getMethod().equals("is")|| o1.getMethod().equals("are")
|| o1.getMethod().equals("have") || o1.getMethod().equals("has"))){
ObjectPhrase o1new = new ObjectPhrase();
o1new.setObjectName(o1.getObjectName());
o1new.setMethod("");
o1new.setParamValues(o1.getParamValues());
oPhrases.set(i, o1new);
}
}
}
//[pixel.area([]), pixels.belongs([]), null.are([less, 128])
public void substituteNullObjectIntoEmptyArg(){
for(int i=0; i<oPhrases.size(); i++)
for(int j=i+1; j<oPhrases.size(); j++){
ObjectPhrase o1 = oPhrases.get(i), o2 = oPhrases.get(j);
if (o2.getObjectName()==null && o1.getParamValues().size()<1){
String newArgs = o2.getMethod()+"("+o2.getParamValues()+")";
ObjectPhrase o1new = new ObjectPhrase();
o1new.setObjectName(o1.getObjectName());
o1new.setMethod(o1.getMethod());
List<String> paramValues = new ArrayList<String>();
paramValues.add(newArgs);
o1new.setParamValues(paramValues);
oPhrases.set(i, o1new);
oPhrases.remove(j);
}
}
}
//area.size([]), threshold.([below])
public void substituteIntoEmptyArgs() {
for(int i=0; i<oPhrases.size(); i++)
for(int j=i+1; j<oPhrases.size(); j++){
ObjectPhrase o1 = oPhrases.get(i), o2 = oPhrases.get(j);
if (o1.getParamValues().size()<1 && o2.getMethod().equals("")){
String newArgs = o2.getMethod()+"("+o2.getParamValues()+")";
ObjectPhrase o1new = new ObjectPhrase();
o1new.setObjectName(o1.getObjectName());
o1new.setMethod(o1.getMethod());
List<String> paramValues = new ArrayList<String>();
paramValues.add(newArgs);
o1new.setParamValues(paramValues);
oPhrases.set(i, o1new);
oPhrases.remove(j);
}
}
}
////[null.2([])]
public void clearInvalidObject() {
for(int i=0; i<oPhrases.size(); i++){
ObjectPhrase o1 = oPhrases.get(i);
if (o1.getObjectName()==null && o1.getParamValues().size()<1){
oPhrases.remove(i);
}
}
}
}