< prev index next >

src/jdk.xml.bind/share/classes/com/sun/codemodel/internal/JExpr.java

Print this page


   1 /*
   2  * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
   3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4  *
   5  * This code is free software; you can redistribute it and/or modify it
   6  * under the terms of the GNU General Public License version 2 only, as
   7  * published by the Free Software Foundation.  Oracle designates this
   8  * particular file as subject to the "Classpath" exception as provided
   9  * by Oracle in the LICENSE file that accompanied this code.
  10  *
  11  * This code is distributed in the hope that it will be useful, but WITHOUT
  12  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  13  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  14  * version 2 for more details (a copy is included in the LICENSE file that
  15  * accompanied this code).
  16  *
  17  * You should have received a copy of the GNU General Public License version
  18  * 2 along with this work; if not, write to the Free Software Foundation,
  19  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  20  *
  21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  22  * or visit www.oracle.com if you need additional information or have any


 256             }
 257         }
 258         sb.append(quote);
 259         return sb.toString();
 260     }
 261 
 262     public static JExpression lit(char c) {
 263         return new JAtom(quotify('\'', "" + c));
 264     }
 265 
 266     public static JExpression lit(String s) {
 267         return new JStringLiteral(s);
 268     }
 269 
 270     /**
 271      * Creates an expression directly from a source code fragment.
 272      *
 273      * <p>
 274      * This method can be used as a short-cut to create a JExpression.
 275      * For example, instead of <code>_a.gt(_b)</code>, you can write
 276      * it as: <code>JExpr.direct("a>b")</code>.
 277      *
 278      * <p>
 279      * Be warned that there is a danger in using this method,
 280      * as it obfuscates the object model.
 281      */
 282     public static JExpression direct( final String source ) {
 283         return new JExpressionImpl(){
 284             public void generate( JFormatter f ) {
 285                     f.p('(').p(source).p(')');
 286             }
 287         };
 288     }
 289 }
   1 /*
   2  * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
   3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4  *
   5  * This code is free software; you can redistribute it and/or modify it
   6  * under the terms of the GNU General Public License version 2 only, as
   7  * published by the Free Software Foundation.  Oracle designates this
   8  * particular file as subject to the "Classpath" exception as provided
   9  * by Oracle in the LICENSE file that accompanied this code.
  10  *
  11  * This code is distributed in the hope that it will be useful, but WITHOUT
  12  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  13  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  14  * version 2 for more details (a copy is included in the LICENSE file that
  15  * accompanied this code).
  16  *
  17  * You should have received a copy of the GNU General Public License version
  18  * 2 along with this work; if not, write to the Free Software Foundation,
  19  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  20  *
  21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  22  * or visit www.oracle.com if you need additional information or have any


 256             }
 257         }
 258         sb.append(quote);
 259         return sb.toString();
 260     }
 261 
 262     public static JExpression lit(char c) {
 263         return new JAtom(quotify('\'', "" + c));
 264     }
 265 
 266     public static JExpression lit(String s) {
 267         return new JStringLiteral(s);
 268     }
 269 
 270     /**
 271      * Creates an expression directly from a source code fragment.
 272      *
 273      * <p>
 274      * This method can be used as a short-cut to create a JExpression.
 275      * For example, instead of <code>_a.gt(_b)</code>, you can write
 276      * it as: {@code JExpr.direct("a>b")}.
 277      *
 278      * <p>
 279      * Be warned that there is a danger in using this method,
 280      * as it obfuscates the object model.
 281      */
 282     public static JExpression direct( final String source ) {
 283         return new JExpressionImpl(){
 284             public void generate( JFormatter f ) {
 285                     f.p('(').p(source).p(')');
 286             }
 287         };
 288     }
 289 }
< prev index next >