KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > jacorb > trading > constraint > NeqNode


1
2 // Copyright (C) 1998-1999
3
// Object Oriented Concepts, Inc.
4

5 // **********************************************************************
6
//
7
// Copyright (c) 1997
8
// Mark Spruiell (mark@intellisoft.com)
9
//
10
// See the COPYING file for more information
11
//
12
// **********************************************************************
13

14 package org.jacorb.trading.constraint;
15
16 import java.io.*;
17
18
19 /** Represents inequality comparison */
20 public class NeqNode extends ExprNode
21 {
22   private ExprNode m_left;
23   private ExprNode m_right;
24
25
26   private NeqNode()
27   {
28   }
29
30
31   public NeqNode(ExprNode left, ExprNode right)
32   {
33     m_left = left;
34     m_right = right;
35
36     setType(new ValueType(ValueType.BOOLEAN));
37   }
38
39
40   public void print(PrintStream ps)
41   {
42     ps.println("NeqNode: type = " + getType());
43     ps.println("Left node:");
44     m_left.print(ps);
45     ps.println("Right node:");
46     m_right.print(ps);
47   }
48
49
50   public Value evaluate(PropertySource source)
51     throws MissingPropertyException
52   {
53     Value result = null;
54
55     int id = ValueType.promote(m_left.getType().getId(),
56       m_right.getType().getId());
57
58     Value v, left, right;
59     v = m_left.evaluate(source);
60     left = v.convert(id);
61     v = m_right.evaluate(source);
62     right = v.convert(id);
63
64     result = ValueFactory.createBoolean(! left.equals(right));
65
66     return result;
67   }
68 }
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
Popular Tags