当前位置: 首页>>代码示例>>Java>>正文


Java JDefinedClass.field方法代码示例

本文整理汇总了Java中com.helger.jcodemodel.JDefinedClass.field方法的典型用法代码示例。如果您正苦于以下问题:Java JDefinedClass.field方法的具体用法?Java JDefinedClass.field怎么用?Java JDefinedClass.field使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在com.helger.jcodemodel.JDefinedClass的用法示例。


在下文中一共展示了JDefinedClass.field方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: visitConstant_def

import com.helger.jcodemodel.JDefinedClass; //导入方法依赖的package包/类
@Override
public Void visitConstant_def(Constant_defContext ctx) {
    String constName = ctx.constant_name().IDENTIFIER().getText();
    String constType = ctx.constant_type().TYPE_LITERAL().getText();
    Literal_valueContext lit = ctx.literal_value();
    ProtoTypes type = ProtoTypes.valueOf( constType.toUpperCase() );

    ProtoContext pkgCtx = (ProtoContext) ctx.getParent();
    String pkg = pkgCtx.package_def().package_name().QUALIFIED_IDENTIFIER().getText();
    JDefinedClass container = codeModel._package( pkg )._getClass( containerName );

    int modifier = JMod.PUBLIC | JMod.STATIC | JMod.FINAL;
    AbstractJType jtype = primitiveType( type ).unboxify();

    JFieldVar f = container.field( modifier, jtype, constName.toUpperCase(), parse( type, container, lit ) );
    logger.info( "\t +-> {} {} = {}", f.type().name(), f.name(), lit.getText() );

    return super.visitConstant_def( ctx );
}
 
开发者ID:turbospaces,项目名称:protoc,代码行数:20,代码来源:Antlr4ProtoVisitor.java

示例2: visitEnum_def

import com.helger.jcodemodel.JDefinedClass; //导入方法依赖的package包/类
@Override
public Void visitEnum_def(Enum_defContext ctx) {
    try {
        String name = ctx.enum_name().IDENTIFIER().getText();
        ProtoContext pkgCtx = (ProtoContext) ctx.getParent();
        String pkg = pkgCtx.package_def().package_name().QUALIFIED_IDENTIFIER().getText();
        JPackage jPackage = codeModel._package( pkg );
        JDefinedClass m = codeModel._package( pkg )._enum( name );
        JDefinedClass container = jPackage._getClass( containerName );

        String tag = "tag";
        m.field( JMod.PUBLIC | JMod.FINAL, codeModel.INT, tag );

        JMethod constructor = m.constructor( JMod.PRIVATE );
        constructor.param( codeModel.INT, tag );
        constructor.body().assign( JExpr._this().ref( tag ), JExpr.ref( tag ) );

        addDenifition( container, m );

        logger.info( "Enum({}.{})", m._package().name(), m.name() );
        return super.visitEnum_def( ctx );
    }
    catch ( JClassAlreadyExistsException err ) {
        throw new RuntimeException( err );
    }
}
 
开发者ID:turbospaces,项目名称:protoc,代码行数:27,代码来源:Antlr4ProtoVisitor.java

示例3: visitMessage_def

import com.helger.jcodemodel.JDefinedClass; //导入方法依赖的package包/类
@Override
public Void visitMessage_def(Message_defContext ctx) {
    try {
        boolean isError = ctx.messsage_type().ERROR_LITERAL() != null;
        String name = ctx.message_name().IDENTIFIER().getText();
        AbstractJClass parent = isError ? codeModel.ref( Exception.class ) : codeModel.ref( Object.class );
        ProtoContext pkgCtx = (ProtoContext) ctx.getParent();
        String pkg = pkgCtx.package_def().package_name().QUALIFIED_IDENTIFIER().getText();
        JPackage jPackage = codeModel._package( pkg );
        JDefinedClass m = jPackage._class( name );
        JDefinedClass container = jPackage._getClass( containerName );

        if ( ctx.message_parent() != null && ctx.message_parent().message_parent_message() != null ) {
            All_identifiersContext parentCtx = ctx.message_parent().message_parent_message().all_identifiers();
            parent = resolveType( container, parentCtx );
        }

        if ( parent != null ) {
            m._extends( parent );
        }
        container.field( JMod.PUBLIC | JMod.FINAL | JMod.STATIC, m, name, JExpr._new( m ) );
        addDenifition( container, m );

        JAnnotationUse generated = m.annotate( Generated.class );
        generated.param( "date", new Date().toString() );
        generated.paramArray( JAnnotationUse.SPECIAL_KEY_VALUE ).param( Generator.class.getName() );
        logger.info( "Message({}.{})", m._package().name(), m.name() );
        return super.visitMessage_def( ctx );
    }
    catch ( JClassAlreadyExistsException err ) {
        throw new RuntimeException( err );
    }
}
 
开发者ID:turbospaces,项目名称:protoc,代码行数:34,代码来源:Antlr4ProtoVisitor.java

示例4: addDenifition

import com.helger.jcodemodel.JDefinedClass; //导入方法依赖的package包/类
private void addDenifition(JDefinedClass container, JDefinedClass member) {
    if ( !container.containsField( Generator.MESSAGES_FIELD ) ) {
        container.field( JMod.PUBLIC | JMod.FINAL | JMod.STATIC,
                         Class[].class,
                         Generator.MESSAGES_FIELD,
                         JExpr.newArray( codeModel.ref( Class.class ) ) );
    }
    for ( JFieldVar next : container.fields().values() ) {
        if ( next.name().equals( Generator.MESSAGES_FIELD ) ) {
            JArray fieldInit = (JArray) Generator.fieldInit( next );
            fieldInit.add( member.dotclass() );
            break;
        }
    }
}
 
开发者ID:turbospaces,项目名称:protoc,代码行数:16,代码来源:Antlr4ProtoVisitor.java

示例5: visitPackage_def

import com.helger.jcodemodel.JDefinedClass; //导入方法依赖的package包/类
@Override
public Void visitPackage_def(Package_defContext ctx) {
    Void v = super.visitPackage_def( ctx );

    String pkg = ctx.package_name().getText().trim();
    JDefinedClass container = codeModel._package( pkg )._getClass( containerName );

    int mod = JMod.PUBLIC | JMod.STATIC | JMod.FINAL;
    container.field( mod, String.class, SCHEMA_FIELD, JExpr.lit( schemaAsText ) );
    container.field( mod, String.class, VERSION_FIELD, JExpr.lit( version ) );

    return v;
}
 
开发者ID:turbospaces,项目名称:protoc,代码行数:14,代码来源:Antlr4GenVisitor.java

示例6: createFieldConstant

import com.helger.jcodemodel.JDefinedClass; //导入方法依赖的package包/类
private void createFieldConstant(JDefinedClass genClazz, String fieldName, String constName) {
    JFieldVar constant = genClazz.field(JMod.PUBLIC | JMod.STATIC | JMod.FINAL, String.class, constName);
    constant.init(JExpr.lit(fieldName));
}
 
开发者ID:Kaufland,项目名称:andcouchbaseentity,代码行数:5,代码来源:EntityGeneration.java

示例7: createListenerMethod

import com.helger.jcodemodel.JDefinedClass; //导入方法依赖的package包/类
@Override
protected JMethod createListenerMethod(JDefinedClass listenerAnonymousClass) {
    intervalTime = listenerAnonymousClass.field(JMod.PRIVATE | JMod.FINAL | JMod.FINAL, Long.class, "MIN_CLICK_INTERVAL_MILLISECONDS", JExpr.lit(intervalMilliseconds));
    lastClickMilliseconds = listenerAnonymousClass.field(JMod.PRIVATE, JPrimitiveType.LONG, "lastClickMilliseconds", JExpr.lit(0L));
    return listenerAnonymousClass.method(JMod.PUBLIC, getCodeModel().VOID, "onClick");
}
 
开发者ID:m0er,项目名称:androidannotations-interval-click-plugin,代码行数:7,代码来源:IntervalClickHandler.java


注:本文中的com.helger.jcodemodel.JDefinedClass.field方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。