本文整理汇总了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 );
}
示例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 );
}
}
示例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 );
}
}
示例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;
}
}
}
示例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;
}
示例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));
}
示例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");
}