/**
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
*
* Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved.
* Portions Copyright 2013-2017 Philip Helger + contributors
*
* The contents of this file are subject to the terms of either the GNU
* General Public License Version 2 only ("GPL") or the Common Development
* and Distribution License("CDDL") (collectively, the "License"). You
* may not use this file except in compliance with the License. You can
* obtain a copy of the License at
* https://glassfish.dev.java.net/public/CDDL+GPL_1_1.html
* or packager/legal/LICENSE.txt. See the License for the specific
* language governing permissions and limitations under the License.
*
* When distributing the software, include this License Header Notice in each
* file and include the License file at packager/legal/LICENSE.txt.
*
* GPL Classpath Exception:
* Oracle designates this particular file as subject to the "Classpath"
* exception as provided by Oracle in the GPL Version 2 section of the License
* file that accompanied this code.
*
* Modifications:
* If applicable, add the following below the License Header, with the fields
* enclosed by brackets [] replaced by your own identifying information:
* "Portions Copyright [year] [name of copyright owner]"
*
* Contributor(s):
* If you wish your version of this file to be governed by only the CDDL or
* only the GPL Version 2, indicate your decision by adding "[Contributor]
* elects to include this software in this distribution under the [CDDL or GPL
* Version 2] license." If you don't indicate a single choice of license, a
* recipient has the option to distribute your version of this file under
* either the CDDL, the GPL Version 2 or to extend the choice of license to
* its licensees as provided above. However, if you add GPL Version 2 code
* and therefore, elected the GPL Version 2 license, then the option applies
* only if the new code is made subject to such option by the copyright
* holder.
*/
package com.helger.jcodemodel;
import javax.annotation.Nonnull;
/**
* Provides default implementations for {@link IJExpression}.
*/
public abstract class AbstractJExpressionImpl implements IJExpression
{
protected AbstractJExpressionImpl ()
{}
// from JOp
@Nonnull
public final JOpUnary minus ()
{
return JOp.minus (this);
}
/**
* Logical 'not' <tt>'!x'</tt>.
*/
@Nonnull
public final IJExpression not ()
{
return JOp.not (this);
}
@Nonnull
public final JOpUnary complement ()
{
return JOp.complement (this);
}
@Nonnull
public final JOpUnaryTight incr ()
{
return JOp.postincr (this);
}
@Nonnull
public final JOpUnaryTight preincr ()
{
return JOp.preincr (this);
}
@Nonnull
public final JOpUnaryTight decr ()
{
return JOp.postdecr (this);
}
@Nonnull
public final JOpUnaryTight predecr ()
{
return JOp.predecr (this);
}
@Nonnull
public final JOpBinary plus (@Nonnull final IJExpression right)
{
return JOp.plus (this, right);
}
@Nonnull
public final JOpBinary plus (final double right)
{
return plus (JExpr.lit (right));
}
@Nonnull
public final JOpBinary plus (final float right)
{
return plus (JExpr.lit (right));
}
@Nonnull
public final JOpBinary plus (final int right)
{
return plus (JExpr.lit (right));
}
@Nonnull
public final JOpBinary plus (final long right)
{
return plus (JExpr.lit (right));
}
@Nonnull
public final JOpBinary plus (@Nonnull final String right)
{
return plus (JExpr.lit (right));
}
@Nonnull
public final JOpBinary minus (@Nonnull final IJExpression right)
{
return JOp.minus (this, right);
}
@Nonnull
public final JOpBinary minus (final double right)
{
return minus (JExpr.lit (right));
}
@Nonnull
public final JOpBinary minus (final float right)
{
return minus (JExpr.lit (right));
}
@Nonnull
public final JOpBinary minus (final int right)
{
return minus (JExpr.lit (right));
}
@Nonnull
public final JOpBinary minus (final long right)
{
return minus (JExpr.lit (right));
}
@Nonnull
public final JOpBinary mul (@Nonnull final IJExpression right)
{
return JOp.mul (this, right);
}
@Nonnull
public final JOpBinary mul (final double right)
{
return mul (JExpr.lit (right));
}
@Nonnull
public final JOpBinary mul (final float right)
{
return mul (JExpr.lit (right));
}
@Nonnull
public final JOpBinary mul (final int right)
{
return mul (JExpr.lit (right));
}
@Nonnull
public final JOpBinary mul (final long right)
{
return mul (JExpr.lit (right));
}
@Nonnull
public final JOpBinary div (@Nonnull final IJExpression right)
{
return JOp.div (this, right);
}
@Nonnull
public final JOpBinary div (final double right)
{
return div (JExpr.lit (right));
}
@Nonnull
public final JOpBinary div (final float right)
{
return div (JExpr.lit (right));
}
@Nonnull
public final JOpBinary div (final int right)
{
return div (JExpr.lit (right));
}
@Nonnull
public final JOpBinary div (final long right)
{
return div (JExpr.lit (right));
}
@Nonnull
public final JOpBinary mod (@Nonnull final IJExpression right)
{
return JOp.mod (this, right);
}
@Nonnull
public final JOpBinary shl (@Nonnull final IJExpression right)
{
return JOp.shl (this, right);
}
@Nonnull
public final JOpBinary shl (final int right)
{
return shl (JExpr.lit (right));
}
@Nonnull
public final JOpBinary shr (@Nonnull final IJExpression right)
{
return JOp.shr (this, right);
}
@Nonnull
public final JOpBinary shr (final int right)
{
return shr (JExpr.lit (right));
}
@Nonnull
public final JOpBinary shrz (@Nonnull final IJExpression right)
{
return JOp.shrz (this, right);
}
@Nonnull
public final JOpBinary shrz (final int right)
{
return shrz (JExpr.lit (right));
}
@Nonnull
public final JOpBinary band (@Nonnull final IJExpression right)
{
return JOp.band (this, right);
}
@Nonnull
public final JOpBinary bor (@Nonnull final IJExpression right)
{
return JOp.bor (this, right);
}
@Nonnull
public final IJExpression cand (@Nonnull final IJExpression right)
{
return JOp.cand (this, right);
}
@Nonnull
public final IJExpression cor (@Nonnull final IJExpression right)
{
return JOp.cor (this, right);
}
@Nonnull
public final JOpBinary xor (@Nonnull final IJExpression right)
{
return JOp.xor (this, right);
}
@Nonnull
public final JOpBinary lt (@Nonnull final IJExpression right)
{
return JOp.lt (this, right);
}
@Nonnull
public final JOpBinary lt0 ()
{
return lt (JExpr.lit (0));
}
@Nonnull
public final JOpBinary lte (@Nonnull final IJExpression right)
{
return JOp.lte (this, right);
}
@Nonnull
public final JOpBinary lte0 ()
{
return lte (JExpr.lit (0));
}
@Nonnull
public final JOpBinary gt (@Nonnull final IJExpression right)
{
return JOp.gt (this, right);
}
@Nonnull
public final JOpBinary gt0 ()
{
return gt (JExpr.lit (0));
}
@Nonnull
public final JOpBinary gte (@Nonnull final IJExpression right)
{
return JOp.gte (this, right);
}
@Nonnull
public final JOpBinary gte0 ()
{
return gte (JExpr.lit (0));
}
@Nonnull
public final JOpBinary eq (@Nonnull final IJExpression right)
{
return JOp.eq (this, right);
}
@Nonnull
public final JOpBinary eqNull ()
{
return eq (JExpr._null ());
}
@Nonnull
public final JOpBinary eq0 ()
{
return eq (JExpr.lit (0));
}
@Nonnull
public final JOpBinary ne (@Nonnull final IJExpression right)
{
return JOp.ne (this, right);
}
@Nonnull
public final JOpBinary neNull ()
{
return ne (JExpr._null ());
}
@Nonnull
public final JOpBinary ne0 ()
{
return ne (JExpr.lit (0));
}
@Nonnull
public final JOpBinary _instanceof (@Nonnull final AbstractJType right)
{
return JOp._instanceof (this, right);
}
//
//
// from JExpr
//
//
@Nonnull
public final JInvocation invoke (@Nonnull final JMethod method)
{
return JExpr.invoke (this, method);
}
@Nonnull
public final JInvocation invoke (@Nonnull final String method)
{
return JExpr.invoke (this, method);
}
@Nonnull
public final JFieldRef ref (@Nonnull final JVar field)
{
return JExpr.ref (this, field);
}
@Nonnull
public final JFieldRef ref (@Nonnull final String field)
{
return JExpr.ref (this, field);
}
@Nonnull
public final JArrayCompRef component (@Nonnull final IJExpression index)
{
return JExpr.component (this, index);
}
@Nonnull
public final JArrayCompRef component (final int index)
{
return component (JExpr.lit (index));
}
@Nonnull
public final JArrayCompRef component0 ()
{
return component (JExpr.lit (0));
}
}