public interface PropertyStyle extends Immutable
Different environments have different approaches to defining what constitutes a 'property'. For
example, JavaBean-properties are convention-based, whereas Groovy has explicit property support.
Equally, some environments may have framework-specific, base class properties that should be
filtered out and excluded from the list of 'real' business model properties (eg. Struts
ActionForm
s). Finally, some environments may define properties against something
other than a java.lang.Class
(eg. javassist.CtClass
or
org.jboss.forge.parser.java.JavaClass
).
PropertyStyle
s must be immutable (or, at least, appear that way to clients. They can
have caches or configuration settings internally, as long as they are threadsafe).
Modifier and Type | Method and Description |
---|---|
Map<String,Property> |
getProperties(String type)
Gets the Properties for the given type.
|
ValueAndDeclaredType |
traverse(Object toTraverse,
String type,
boolean onlyToParent,
String... names)
Traverses the given Object heirarchy using properties of the given names.
|
Map<String,Property> getProperties(String type)
Properties must be returned using a consistent ordering, so that both unit tests and
CompositeInspector
merging is consistent. If the underlying technology does not
define an ordering, one must be imposed (eg. sorted alphabetically by name), even though this
may later be overridden by other mechanisms (eg.
ComesAfterInspectionResultProcessor
sorts by comes-after
).
ValueAndDeclaredType traverse(Object toTraverse, String type, boolean onlyToParent, String... names)
Copyright © 2015. All Rights Reserved.