Skip to content

Instantly share code, notes, and snippets.

@blangel
Created April 9, 2012 15:13
Show Gist options
  • Save blangel/2344161 to your computer and use it in GitHub Desktop.
Save blangel/2344161 to your computer and use it in GitHub Desktop.
java class-mate usage?
TypeResolver typeResolver = new TypeResolver();
ResolvedType resolvedType = typeResolver.resolve(getClass());
MemberResolver memberResolver = new MemberResolver(typeResolver);
memberResolver.setFieldFilter(new Filter<RawField>() {
@Override public boolean include(RawField element) {
return "name".equals(element.getName());
}
});
ResolvedField[] resolvedFields = memberResolver.resolve(resolvedType, null, null).getMemberFields();
if (resolvedFields.length < 1) {
throw new AssertionError("No field named 'name'");
}
Field nameField = resolvedFields[0].getRawMember();
nameField.setAccessible(true);
try {
nameField.set(this, getClass().getName());
} catch (IllegalAccessException iae) {
throw new AssertionError(iae);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment