PageRenderTime 49ms CodeModel.GetById 20ms RepoModel.GetById 0ms app.codeStats 0ms

/tags/release-0.1-rc2/hive/external/ql/src/java/org/apache/hadoop/hive/ql/plan/ExprNodeDesc.java

#
Java | 86 lines | 45 code | 16 blank | 25 comment | 2 complexity | cc39426bd9c69e74f4ef957f97e3ca09 MD5 | raw file
Possible License(s): Apache-2.0, BSD-3-Clause, JSON, CPL-1.0
  1. /**
  2. * Licensed to the Apache Software Foundation (ASF) under one
  3. * or more contributor license agreements. See the NOTICE file
  4. * distributed with this work for additional information
  5. * regarding copyright ownership. The ASF licenses this file
  6. * to you under the Apache License, Version 2.0 (the
  7. * "License"); you may not use this file except in compliance
  8. * with the License. You may obtain a copy of the License at
  9. *
  10. * http://www.apache.org/licenses/LICENSE-2.0
  11. *
  12. * Unless required by applicable law or agreed to in writing, software
  13. * distributed under the License is distributed on an "AS IS" BASIS,
  14. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  15. * See the License for the specific language governing permissions and
  16. * limitations under the License.
  17. */
  18. package org.apache.hadoop.hive.ql.plan;
  19. import java.io.Serializable;
  20. import java.util.List;
  21. import org.apache.hadoop.hive.ql.lib.Node;
  22. import org.apache.hadoop.hive.serde2.typeinfo.TypeInfo;
  23. /**
  24. * ExprNodeDesc.
  25. *
  26. */
  27. public abstract class ExprNodeDesc implements Serializable, Node {
  28. private static final long serialVersionUID = 1L;
  29. TypeInfo typeInfo;
  30. public ExprNodeDesc() {
  31. }
  32. public ExprNodeDesc(TypeInfo typeInfo) {
  33. this.typeInfo = typeInfo;
  34. if (typeInfo == null) {
  35. throw new RuntimeException("typeInfo cannot be null!");
  36. }
  37. }
  38. @Override
  39. public abstract ExprNodeDesc clone();
  40. // Cant use equals because the walker depends on them being object equal
  41. // The default graph walker processes a node after its kids have been
  42. // processed. That comparison needs
  43. // object equality - isSame means that the objects are semantically equal.
  44. public abstract boolean isSame(Object o);
  45. public TypeInfo getTypeInfo() {
  46. return typeInfo;
  47. }
  48. public void setTypeInfo(TypeInfo typeInfo) {
  49. this.typeInfo = typeInfo;
  50. }
  51. public String getExprString() {
  52. assert (false);
  53. return null;
  54. }
  55. @Explain(displayName = "type")
  56. public String getTypeString() {
  57. return typeInfo.getTypeName();
  58. }
  59. public List<String> getCols() {
  60. return null;
  61. }
  62. @Override
  63. public List<ExprNodeDesc> getChildren() {
  64. return null;
  65. }
  66. @Override
  67. public String getName() {
  68. return this.getClass().getName();
  69. }
  70. }