|
||||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.lang.Objectorg.apache.struts2.views.xslt.AdapterFactory
public class AdapterFactory
AdapterFactory produces Node adapters for Java object types. Adapter classes are generally instantiated dynamically via a no-args constructor and populated with their context information via the AdapterNode interface. This factory supports proxying of generic DOM Node trees, allowing arbitrary Node types to be mixed together. You may simply return a Document or Node type as an object property and it will appear as a sub-tree in the XML as you'd expect. See #proxyNode(). Customization of the result XML can be accomplished by providing alternate adapters for Java types. Adapters are associated with Java types through the registerAdapterType() method. For example, since there is no default Date adapter, Date objects will be rendered with the generic Bean introspecting adapter, producing output like:
By extending the StringAdapter and overriding its normal behavior we can create a custom Date formatter:19 1 0 7 8 4 300 105
public static class CustomDateAdapter extends StringAdapter { protected String getStringValue() { Date date = (Date)getPropertyValue(); return DateFormat.getTimeInstance( DateFormat.FULL ).format( date ); } }Producing output like:
The StringAdapter (which is normally invoked only to adapt String values) is a useful base for these kinds of customizations and can produce structured XML output as well as plain text by setting its parseStringAsXML() property to true. See provided examples.12:02:54 AM CDT
构造方法摘要 | |
---|---|
AdapterFactory()
|
方法摘要 | |
---|---|
Document |
adaptDocument(String propertyName,
Object propertyValue)
Create a top level Document adapter for the specified Java object. |
Node |
adaptNode(AdapterNode parent,
String propertyName,
Object value)
Create an Node adapter for a child element. |
Node |
adaptNullValue(AdapterNode parent,
String propertyName)
Create an appropriate adapter for a null value. |
Class |
getAdapterForValue(Object value)
|
NamedNodeMap |
proxyNamedNodeMap(AdapterNode parent,
NamedNodeMap nnm)
|
Node |
proxyNode(AdapterNode parent,
Node node)
Construct a proxy adapter for a value that is an existing DOM Node. |
void |
registerAdapterType(Class type,
Class adapterType)
Register an adapter type for a Java class type. |
从类 java.lang.Object 继承的方法 |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
构造方法详细信息 |
---|
public AdapterFactory()
方法详细信息 |
---|
public void registerAdapterType(Class type, Class adapterType)
type
- the Java class type which is to be handled by the adapter.adapterType
- The adapter class, which implements AdapterNode.public Document adaptDocument(String propertyName, Object propertyValue) throws IllegalAccessException, InstantiationException
propertyName
- The name of the root document element
IllegalAccessException
InstantiationException
public Node adaptNode(AdapterNode parent, String propertyName, Object value)
adaptDocument( String, Object )
public Node proxyNode(AdapterNode parent, Node node)
public NamedNodeMap proxyNamedNodeMap(AdapterNode parent, NamedNodeMap nnm)
public Node adaptNullValue(AdapterNode parent, String propertyName)
parent
- propertyName
- public Class getAdapterForValue(Object value)
|
||||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |