org.fest.reflect.field
Class StaticFieldName

java.lang.Object
  extended by org.fest.reflect.field.StaticFieldName

public final class StaticFieldName
extends Object

Understands the name of a static field to access using Java Reflection.

The following is an example of proper usage of this class:

   // Retrieves the value of the static field "count"
   int count = staticField("count").ofType(int.class).in(Person.class).get();

   // Sets the value of the static field "count" to 3
   staticField("count").ofType(int.class).in(Person.class).set(3);

   // Retrieves the value of the static field "commonPowers"
   List<String> commmonPowers = staticField("commonPowers").ofType(new TypeRef<List<String>>() {}).in(Jedi.class).get();

   // Sets the value of the static field "commonPowers"
   List<String> commonPowers = new ArrayList<String>();
   commonPowers.add("jump");
   staticField("commonPowers").ofType(new TypeRef<List<String>>() {}).in(Jedi.class).set(commonPowers);
 

Author:
Alex Ruiz

Method Summary
static StaticFieldName beginStaticFieldAccess(String name)
          Creates a new StaticFieldName: the starting point of the fluent interface for accessing static fields using Java Reflection.
<T> StaticFieldType<T>
ofType(Class<T> type)
          Sets the type of the field to access.
<T> StaticFieldTypeRef<T>
ofType(TypeRef<T> type)
          Sets the type reference of the field to access.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

beginStaticFieldAccess

public static StaticFieldName beginStaticFieldAccess(String name)
Creates a new StaticFieldName: the starting point of the fluent interface for accessing static fields using Java Reflection.

Parameters:
name - the name of the field to access using Java Reflection.
Returns:
the created StaticFieldName.
Throws:
NullPointerException - if the given name is null.
IllegalArgumentException - if the given name is empty.

ofType

public <T> StaticFieldType<T> ofType(Class<T> type)
Sets the type of the field to access.

Type Parameters:
T - the generic type of the field type.
Parameters:
type - the type of the field to access.
Returns:
a recipient for the field type.
Throws:
NullPointerException - if the given type is null.

ofType

public <T> StaticFieldTypeRef<T> ofType(TypeRef<T> type)
Sets the type reference of the field to access. This method reduces casting when the type of the field to access uses generics.

For example:

   List<String> commmonPowers = staticField("commonPowers").ofType(new TypeRef<List<String>>() {}).in(Jedi.class).get();
 

Type Parameters:
T - the generic type of the field type.
Parameters:
type - the type of the field to access.
Returns:
a recipient for the field type.
Throws:
NullPointerException - if the given type reference is null.


Copyright © 2007-2010 FEST (Fixtures for Easy Software Testing). All Rights Reserved.