本文整理汇总了Java中japa.parser.ast.body.FieldDeclaration类的典型用法代码示例。如果您正苦于以下问题:Java FieldDeclaration类的具体用法?Java FieldDeclaration怎么用?Java FieldDeclaration使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
FieldDeclaration类属于japa.parser.ast.body包,在下文中一共展示了FieldDeclaration类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: nodeContainsPkFields
import japa.parser.ast.body.FieldDeclaration; //导入依赖的package包/类
private boolean nodeContainsPkFields(TypeDeclaration dclr, Collection<FieldDescriptor> pks) {
for (FieldDescriptor pk : pks) {
boolean contains = false;
for (FieldDeclaration field : ParserUtil.getFieldMembers(dclr.getMembers())) {
if (field.getVariables().get(0).getId().getName().equals(pk.getAttributeName())) {
contains = true;
break;
}
}
if (!contains) {
return false;
}
}
return true;
}
示例2: resolve
import japa.parser.ast.body.FieldDeclaration; //导入依赖的package包/类
@Override
public final NodeData resolve(Node node, String mappedClass) {
if (!(node instanceof FieldDeclaration)) {
throw new IllegalArgumentException("this annotation belongs only on FieldDeclaration");
}
final FieldDeclaration field = (FieldDeclaration) node;
if (ResolverUtil.canFieldBeAnnotated(field)) {
final TypeDeclaration dclr = (TypeDeclaration) node.getParentNode();
final String name = dclr.getName();
final String pckg = ((CompilationUnit) dclr.getParentNode()).getPackage().getName().toString();
final String fullyQualifiedClass = pckg + "." + name;
final boolean mappedColumn = OjbUtil.isMappedColumn(mappedClass, ParserUtil.getFieldName(field),
descriptorRepositories);
if (mappedColumn) {
return getAnnotationNodes(fullyQualifiedClass, ParserUtil.getFieldName(field), mappedClass);
}
}
return null;
}
示例3: resolve
import japa.parser.ast.body.FieldDeclaration; //导入依赖的package包/类
@Override
public NodeData resolve(Node node, String mappedClass) {
if (!(node instanceof FieldDeclaration)) {
throw new IllegalArgumentException("this annotation belongs only on FieldDeclaration");
}
final FieldDeclaration field = (FieldDeclaration) node;
if (ResolverUtil.canFieldBeAnnotated(field)) {
final boolean mappedColumn = OjbUtil.isMappedColumn(mappedClass, ParserUtil.getFieldName(field),
descriptorRepositories);
if (!mappedColumn) {
return new NodeData(new MarkerAnnotationExpr(new NameExpr(SIMPLE_NAME)),
new ImportDeclaration(new QualifiedNameExpr(new NameExpr(PACKAGE), SIMPLE_NAME), false, false));
}
}
return null;
}
示例4: getTypeOrFieldNameForMsg
import japa.parser.ast.body.FieldDeclaration; //导入依赖的package包/类
private String getTypeOrFieldNameForMsg(final BodyDeclaration n) {
if (n instanceof TypeDeclaration) {
return ((TypeDeclaration) n).getName();
} else if (n instanceof FieldDeclaration) {
final FieldDeclaration fd = (FieldDeclaration) n;
//this wont work for nested classes but we should be in nexted classes at this point
final CompilationUnit unit = getCompilationUnit(n);
final TypeDeclaration parent = unit.getTypes().get(0);
Collection<String> variableNames = new ArrayList<String>();
if (fd.getVariables() != null) {
for (VariableDeclarator vd : fd.getVariables()) {
variableNames.add(vd.getId().getName());
}
}
return variableNames.size() == 1 ?
parent.getName() + "." + variableNames.iterator().next() :
parent.getName() + "." + variableNames.toString();
}
return null;
}
示例5: deconstructMultiDeclarations
import japa.parser.ast.body.FieldDeclaration; //导入依赖的package包/类
/**
* In Java variables can be defined like the following:
* int i, j, k;
*
* When mapping fields in xml this is not a problem. However when using annotation on a field,
* Each field should be defined separately. This helper will deconstruct these fields such
* that later AST analysis will not need to account for field defined on a separate line.
*/
public static void deconstructMultiDeclarations(Collection<FieldDeclaration> fields) {
for (FieldDeclaration field : fields) {
ClassOrInterfaceDeclaration parent = (ClassOrInterfaceDeclaration) field.getParentNode();
//these are chained together
if (field.getVariables().size() > 1) {
int index = parent.getMembers().indexOf(field);
parent.getMembers().remove(index);
List<FieldDeclaration> deconstructed = new ArrayList<FieldDeclaration>();
for (VariableDeclarator v : field.getVariables()) {
FieldDeclaration f = new FieldDeclaration(field.getModifiers(), field.getAnnotations(), field.getType(), Collections.singletonList(v));
f.setJavaDoc(field.getJavaDoc());
f.setComment(field.getComment());
f.setParentNode(field.getParentNode());
deconstructed.add(f);
}
parent.getMembers().addAll(index, deconstructed);
}
}
}
示例6: getDeclaration
import japa.parser.ast.body.FieldDeclaration; //导入依赖的package包/类
public static FieldDeclaration getDeclaration(CompilationUnit unit, Field field) {
TypeDeclaration typeDecl = getDeclaration(unit, field.getDeclaringClass());
if (typeDecl == null) {
return null;
}
for (BodyDeclaration decl : typeDecl.getMembers()) {
if (decl instanceof FieldDeclaration) {
FieldDeclaration fieldDecl = (FieldDeclaration) decl;
List<VariableDeclarator> variables = fieldDecl.getVariables();
if (variables.size() != 1) {
continue;
}
if (field.getName().equals(variables.get(0).getId().getName())) {
return fieldDecl;
}
}
}
return null;
}
示例7: deconstructMultiDeclarations
import japa.parser.ast.body.FieldDeclaration; //导入依赖的package包/类
/**
* In Java variables can be defined like the following:
* int i, j, k;
*
* When mapping fields in xml this is not a problem. However when using annotation on a field,
* Each field should be defined separately. This helper will deconstruct these fields such
* that later AST analysis will not need to account for field defined on a separate line.
*/
public static void deconstructMultiDeclarations(Collection<FieldDeclaration> fields) {
for (FieldDeclaration field : fields) {
ClassOrInterfaceDeclaration parent = (ClassOrInterfaceDeclaration) field.getParentNode();
//these are chained together
if (field.getVariables().size() > 1) {
int index = parent.getMembers().indexOf(field);
parent.getMembers().remove(index);
List<FieldDeclaration> deconstructed = new ArrayList<FieldDeclaration>();
for (VariableDeclarator v : field.getVariables()) {
FieldDeclaration f = new FieldDeclaration(field.getJavaDoc(), field.getModifiers(), field.getAnnotations(), field.getType(), Collections.singletonList(v));
f.setComment(field.getComment());
f.setParentNode(field.getParentNode());
deconstructed.add(f);
}
parent.getMembers().addAll(index, deconstructed);
}
}
}
示例8: getAttributesNames
import japa.parser.ast.body.FieldDeclaration; //导入依赖的package包/类
private LinkedList<String> getAttributesNames()
{
List<TypeDeclaration> types = compUnit.getTypes();
LinkedList<String> attNames = new LinkedList<String>();
if (types != null)
{
for (TypeDeclaration type : types)
{
List<BodyDeclaration> members = type.getMembers();
if (members != null)
for (BodyDeclaration member : members)
if (member instanceof FieldDeclaration)
{
FieldDeclaration t = (FieldDeclaration) member;
List<VariableDeclarator> variables = t.getVariables();
for (VariableDeclarator v : variables)
attNames.add(v.getId().getName());
}
}
}
return attNames;
}
示例9: visit
import japa.parser.ast.body.FieldDeclaration; //导入依赖的package包/类
public Boolean visit(FieldDeclaration n1, Node arg) {
FieldDeclaration n2 = (FieldDeclaration) arg;
// javadoc are checked at CompilationUnit
if (n1.getModifiers() != n2.getModifiers()) {
return Boolean.FALSE;
}
if (!nodesEquals(n1.getAnnotations(), n2.getAnnotations())) {
return Boolean.FALSE;
}
if (!nodeEquals(n1.getType(), n2.getType())) {
return Boolean.FALSE;
}
if (!nodesEquals(n1.getVariables(), n2.getVariables())) {
return Boolean.FALSE;
}
return Boolean.TRUE;
}
示例10: visit
import japa.parser.ast.body.FieldDeclaration; //导入依赖的package包/类
public void visit(FieldDeclaration n, Object arg) {
printJavadoc(n.getJavaDoc(), arg);
printMemberAnnotations(n.getAnnotations(), arg);
printModifiers(n.getModifiers());
n.getType().accept(this, arg);
printer.print(" ");
for (Iterator<VariableDeclarator> i = n.getVariables().iterator(); i.hasNext();) {
VariableDeclarator var = i.next();
var.accept(this, arg);
if (i.hasNext()) {
printer.print(", ");
}
}
printer.print(";");
}
示例11: visit
import japa.parser.ast.body.FieldDeclaration; //导入依赖的package包/类
public Node visit(FieldDeclaration n, A arg) {
if (n.getJavaDoc() != null) {
n.setJavaDoc((JavadocComment) n.getJavaDoc().accept(this, arg));
}
List<AnnotationExpr> annotations = n.getAnnotations();
if (annotations != null) {
for (int i = 0; i < annotations.size(); i++) {
annotations.set(i, (AnnotationExpr) annotations.get(i).accept(this, arg));
}
removeNulls(annotations);
}
n.setType((Type) n.getType().accept(this, arg));
List<VariableDeclarator> variables = n.getVariables();
for (int i = 0; i < variables.size(); i++) {
variables.set(i, (VariableDeclarator) variables.get(i).accept(this, arg));
}
removeNulls(variables);
return n;
}
示例12: changeMethods
import japa.parser.ast.body.FieldDeclaration; //导入依赖的package包/类
private static void changeMethods(CompilationUnit cu, String rootClass) {
addImport(cu, rootClass);
String rootClassShort = rootClass
.substring(rootClass.lastIndexOf(".") + 1);
List<TypeDeclaration> types = cu.getTypes();
for (TypeDeclaration type : types) {
List<BodyDeclaration> members = type.getMembers();
for (BodyDeclaration member : members) {
if (member instanceof MethodDeclaration) {
MethodDeclaration method = (MethodDeclaration) member;
if (isSetRootComponentMethod(method)) {
changeSetRootMethod(method, rootClassShort);
}
} else if (member instanceof FieldDeclaration) {
FieldDeclaration field = (FieldDeclaration) member;
if (isRootField(field)) {
changeRootField(field, rootClassShort);
}
}
}
}
}
示例13: getField
import japa.parser.ast.body.FieldDeclaration; //导入依赖的package包/类
private FieldDeclaration getField(String name) {
List<BodyDeclaration> members = getType().getMembers();
if (members==null) {
return null;
}
for (BodyDeclaration f : members) {
if (f instanceof FieldDeclaration) {
for (VariableDeclarator v : ((FieldDeclaration)f).getVariables()) {
if (name.equals(v.getId().getName())) {
return (FieldDeclaration) f;
}
}
}
}
return null;
}
示例14: ensureClaraFieldExists
import japa.parser.ast.body.FieldDeclaration; //导入依赖的package包/类
public int[] ensureClaraFieldExists(String id, String className) {
List<TypeDeclaration> types = cu.getTypes();
for (TypeDeclaration type : types) {
List<BodyDeclaration> members = type.getMembers();
if (members==null) {
break;
}
for (BodyDeclaration member : members) {
if (member instanceof FieldDeclaration) {
FieldDeclaration field = (FieldDeclaration) member;
if (isClaraField(field, id, className)) {
return getMemberRowCol(field);
}
}
}
}
FieldDeclaration fd = addClaraField(id, className);
reparse();
String name = fd.getVariables().get(0).getId().getName();
int[] hmm = getFieldRowCol(name);
return hmm;
}
示例15: isClaraField
import japa.parser.ast.body.FieldDeclaration; //导入依赖的package包/类
private static boolean isClaraField(FieldDeclaration field, String id,
String className) {
if (field.getAnnotations()==null) {
return false;
}
for (AnnotationExpr ann : field.getAnnotations()) {
if ("UiField".equals(ann.getName().getName())) {
if (ann instanceof SingleMemberAnnotationExpr) {
SingleMemberAnnotationExpr smae = (SingleMemberAnnotationExpr)ann;
if (smae.getMemberValue() instanceof StringLiteralExpr) {
String v = ((StringLiteralExpr)smae.getMemberValue()).getValue();
if (id.equals(v)) {
return true;
}
}
}
}
}
return false;
}