Package org.eclipse.mat.parser.internal.oql

## Interface ICompiler

All Known Implementing Classes:
  `CompilerImpl`

    public interface ICompiler

### Method Summary

All Methods Instance Methods Abstract Methods
`java.lang.Object` `and​(java.lang.Object[] arguments)`
`java.lang.Object` `array​(java.lang.Object index)`
`java.lang.Object` `array​(java.lang.Object index, java.lang.Object index2)`
`java.lang.Object` `divide​(java.lang.Object left, java.lang.Object right)`
`java.lang.Object` `equal​(java.lang.Object left, java.lang.Object right)`
`java.lang.Object` `greaterThan​(java.lang.Object left, java.lang.Object right)`
`java.lang.Object` `greaterThanOrEqual​(java.lang.Object left, java.lang.Object right)`
`java.lang.Object` `in​(java.lang.Object left, java.lang.Object right)`
`java.lang.Object` `instanceOf​(java.lang.Object left, java.lang.String className)`
`java.lang.Object` `lessThan​(java.lang.Object left, java.lang.Object right)`
`java.lang.Object` `lessThanOrEqual​(java.lang.Object left, java.lang.Object right)`
`java.lang.Object` `like​(java.lang.Object ex, java.lang.String regex)`
`java.lang.Object` `literal​(java.lang.Object object)`
`java.lang.Object` `method​(java.lang.String name, java.util.List<Expression> parameters, boolean isFirstInPath)`
`java.lang.Object` `minus​(java.lang.Object left, java.lang.Object right)`
`java.lang.Object` `multiply​(java.lang.Object left, java.lang.Object right)`
`java.lang.Object` `notEqual​(java.lang.Object left, java.lang.Object right)`
`java.lang.Object` `notIn​(java.lang.Object left, java.lang.Object right)`
`java.lang.Object` `notLike​(java.lang.Object ex, java.lang.String regex)`
`java.lang.Object` `nullLiteral()`
`java.lang.Object` `or​(java.lang.Object[] arguments)`
`java.lang.Object` `path​(java.util.List<java.lang.Object> attributes)`
`java.lang.Object` `plus​(java.lang.Object left, java.lang.Object right)`
`java.lang.Object` `subQuery​(Query q)`

### Method Detail

#### and

    java.lang.Object and​(java.lang.Object[] arguments)

#### or

    java.lang.Object or​(java.lang.Object[] arguments)

#### equal

    java.lang.Object equal​(java.lang.Object left,
                           java.lang.Object right)

#### notEqual

    java.lang.Object notEqual​(java.lang.Object left,
                              java.lang.Object right)

#### lessThan

    java.lang.Object lessThan​(java.lang.Object left,
                              java.lang.Object right)

#### lessThanOrEqual

    java.lang.Object lessThanOrEqual​(java.lang.Object left,
                                     java.lang.Object right)

#### greaterThan

    java.lang.Object greaterThan​(java.lang.Object left,
                                 java.lang.Object right)

#### greaterThanOrEqual

    java.lang.Object greaterThanOrEqual​(java.lang.Object left,
                                        java.lang.Object right)

#### like

    java.lang.Object like​(java.lang.Object ex,
                          java.lang.String regex)

#### notLike

    java.lang.Object notLike​(java.lang.Object ex,
                             java.lang.String regex)

#### instanceOf

    java.lang.Object instanceOf​(java.lang.Object left,
                                java.lang.String className)

#### in

    java.lang.Object in​(java.lang.Object left,
                        java.lang.Object right)

#### notIn

    java.lang.Object notIn​(java.lang.Object left,
                           java.lang.Object right)

#### literal

    java.lang.Object literal​(java.lang.Object object)

#### nullLiteral

    java.lang.Object nullLiteral()

#### path

    java.lang.Object path​(java.util.List<java.lang.Object> attributes)

#### method

    java.lang.Object method​(java.lang.String name,
                            java.util.List<Expression> parameters,
                            boolean isFirstInPath)

#### subQuery

    java.lang.Object subQuery​(Query q)

#### plus

    java.lang.Object plus​(java.lang.Object left,
                          java.lang.Object right)

#### minus

    java.lang.Object minus​(java.lang.Object left,
                           java.lang.Object right)

#### multiply

    java.lang.Object multiply​(java.lang.Object left,
                              java.lang.Object right)

#### divide

    java.lang.Object divide​(java.lang.Object left,
                            java.lang.Object right)

#### array

    java.lang.Object array​(java.lang.Object index)

#### array

    java.lang.Object array​(java.lang.Object index,
                           java.lang.Object index2)