Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
   * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved.
   * 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
  * 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;
Field Reference
 public class JFieldRef extends AbstractJExpressionAssignmentTargetImpl implements IJOwnedMaybe
   private final JCodeModel _owner;

Object expression upon which this field will be accessed, or null for the implicit 'this'.
   private final IJGenerable _object;

Name of the field to be accessed. Either this or _var is set.
   private final String _name;

Variable to be accessed.
   private final JVar _var;

Indicates if an explicit this should be generated
   private final boolean _explicitThis;

Field reference constructor given an object expression and field name. or just name if object is null.

object JExpression for the object upon which the named field will be accessed. May be null.
name Name of field to access. May not be null.
   protected JFieldRef (@Nullable final IJExpression object, @Nonnull final String name)
     this (nullobjectname, (JVarnullfalse);
   protected JFieldRef (@Nullable final IJExpression object, @Nonnull final JVar var)
     this (nullobject, (Stringnullvarfalse);

Static field reference.
   protected JFieldRef (final AbstractJType type, @Nonnull final String name)
    this (type.owner (), typename, (JVarnullfalse);
  protected JFieldRef (final AbstractJType type, @Nonnull final JVar var)
    this (type.owner (), type, (Stringnullvarfalse);
  protected JFieldRef (@Nullable final IJGenerable object, @Nonnull final String namefinal boolean explicitThis)
    this (nullobjectname, (JVarnullexplicitThis);
  protected JFieldRef (@Nullable final IJGenerable object, @Nonnull final JVar varfinal boolean explicitThis)
    this (nullobject, (StringnullvarexplicitThis);
  private JFieldRef (@Nullable final JCodeModel owner,
                     @Nullable final IJGenerable object,
                     @Nullable final String name,
                     @Nullable final JVar var,
                     final boolean explicitThis)
    if (name != null && name.indexOf ('.') >= 0)
      throw new IllegalArgumentException ("Field name contains '.': " + name);
    if (name == null && var == null)
      throw new IllegalArgumentException ("name or var must be present");
     = owner;
     = object;
     = name;
     = var;
     = explicitThis;
  public JCodeModel owner ()
    return ;
  public IJGenerable object ()
    return ;
  public String name ()
    String name = ;
    if (name == null)
      name = .name ();
    return name;
  public JVar var ()
    return ;
  public boolean explicitThis ()
    return ;
  public void generate (@Nonnull final JFormatter f)
    final String name = name ();
    if ( != null)
      f.generable ().print ('.').print (name);
      if ()
        f.print ("this.").print (name);
      else (name);
New to GrepCode? Check out our FAQ X