Package org.python.core.adapter
Class ExtensiblePyObjectAdapter
java.lang.Object
org.python.core.adapter.ExtensiblePyObjectAdapter
- All Implemented Interfaces:
PyObjectAdapter
- Direct Known Subclasses:
ClassicPyObjectAdapter
A PyObjectAdapter attempts to adapt a Java Object with three user fillable
groups of adapters: preClass, class and postClass.
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionAttempts to adapt o using the preClass, class and postClass adapters.void
add
(ClassAdapter adapter) Adds a Class handling adapter that will adapt any objects of its Class if that object hasn't already been handled by one of the pre class adapters.void
addPostClass
(PyObjectAdapter converter) Adds an adapter to the list of adapters to be tried after the ClassAdapters.void
addPreClass
(PyObjectAdapter adapter) Adds an adapter to the list of adapters to be tried before the ClassAdapters.boolean
Returns true if o can be adapted by this adapter.
-
Constructor Details
-
ExtensiblePyObjectAdapter
public ExtensiblePyObjectAdapter()
-
-
Method Details
-
canAdapt
Description copied from interface:PyObjectAdapter
Returns true if o can be adapted by this adapter.- Specified by:
canAdapt
in interfacePyObjectAdapter
- Returns:
- true if a preClass, postClass or class adapter can handle this
-
adapt
Attempts to adapt o using the preClass, class and postClass adapters. First each of the preClass adapters is asked in the order of addition if they can adapt o. If so, they adapt it. Otherwise, if o.getClass() is equal to one of the classes from the added ClassAdapters, that class adapter is used. Finally, each of the post class adapters are asked in turn if they can adapt o. If so, that adapter handles it. If none can, null is returned.- Specified by:
adapt
in interfacePyObjectAdapter
-
addPreClass
Adds an adapter to the list of adapters to be tried before the ClassAdapters. -
add
Adds a Class handling adapter that will adapt any objects of its Class if that object hasn't already been handled by one of the pre class adapters. -
addPostClass
Adds an adapter to the list of adapters to be tried after the ClassAdapters.
-