Initial import into git.
[galago.git] / java / pig-galago / src / com / yahoo / pig / impl / eval / ConstEvalItem.java
blob5c1c980c97b1f6df6b2febf69b6dcbfa982f3fd2
1 /*
2 * Copyright (c) 2007 Yahoo! Inc. All rights reserved.
3 * See accompanying LICENSE file.
4 */
5 package com.yahoo.pig.impl.eval;
7 import java.io.IOException;
8 import java.util.*;
10 import com.yahoo.pig.data.*;
11 import com.yahoo.pig.impl.PigContext;
12 import com.yahoo.pig.impl.logicalLayer.schema.SchemaField;
13 import com.yahoo.pig.impl.logicalLayer.schema.SchemaItem;
14 import com.yahoo.pig.impl.logicalLayer.schema.SchemaItemList;
16 final public class ConstEvalItem extends EvalItem {
17 public String val;
18 public Double dval = null;
20 public ConstEvalItem(PigContext pigContext, String val) {
21 super(pigContext);
22 this.val = val;
25 public String toString() {
26 return "'" + val + "'";
29 public List<String> getFuncs() {
30 return new ArrayList<String>();
33 public boolean isSimple() {
34 return true;
37 @Override
38 public String stringVal(Tuple tup) throws IOException {
39 return val;
42 @Override
43 public Double doubleVal(Tuple tup) throws IOException {
44 if(dval == null) {
45 try{
46 dval = Double.parseDouble(val);
47 } catch(NumberFormatException exp) {
48 exp.printStackTrace();
51 return dval;
54 @Override
55 public SchemaItem mapInputSchema(SchemaItem input){
56 if (schema!= null)
57 return schema;
58 return new SchemaField(null);
62 @Override
63 public void eval(Tuple input, DataCollector output) throws IOException {
64 output.add(new Tuple(new DataAtom(val)));
65 output.add(null); // EOF
68 @Override
69 public Datum simpleEval(Tuple input) throws IOException {
70 return new DataAtom(val);