Top Description Fields Constructors Methods
org.python.expose.generate

public Class DescriptorExposer

extends Exposer
Class Inheritance
Imports
org.objectweb.asm.Type, org.python.core.PyDataDescr

Generates a class to expose a descriptor on Python type. One of addMethodGetter or addFieldGetter must be called, and possibly one of addMethodSetter and addFieldSetter if this is a settable descriptor. If this is a deletable descriptor, addMethodDeleter may be called. There is no addFieldDeleter since there's no defined behavior to 'delete' a field.

Field Summary

Modifier and TypeField and Description
private String
private String
private String
private String
private String
private Type
private Type
private String
private String
Inherited from org.python.expose.generate.Exposer:
cvinterfacesImplementedmvPRIMITIVESthisType

Constructor Summary

AccessConstructor and Description
public
DescriptorExposer(Type onType, String descrName)

Creates an exposer that will work on type and have descrName as its name in the type's dict.

Method Summary

Modifier and TypeMethod and Description
public void
addFieldGetter(String fieldName, Type fieldType)

public void
addFieldGetter(String fieldName, Type fieldType, String doc)

public void
addFieldSetter(String fieldName, Type fieldType)

public void
addMethodDeleter(String methodName, String desc)

public void
addMethodGetter(String methodName, String desc)

public void
addMethodGetter(String methodName, String desc, String doc)

public void
addMethodSetter(String methodName, String desc)

private void
error(String reason)

protected void
generate()

Implements abstract org.python.expose.generate.Exposer.generate.

Implemented by subclasses to fill in the actual implementation of the class.

private void
private void
private void
private void
generateImplement(String setOrDelete, boolean implementsIt)

private void
private void
private void
public String

Returns:

- the name this descriptor will be exposed as in its type's dict
getName
()

public boolean
public boolean
private void
public String
toString()

Overrides java.lang.Object.toString.

Returns a string representation of the object.

Inherited from org.python.expose.generate.Exposer:
callcallConstructorcallStaticendConstructorendMethodgenerategetgetClassNamegetGeneratedTypegetInternalNamegetStaticinstantiateinstantiateloadmethodDescstartConstructorstartMethodsuperConstructortoPy

Field Detail

deleterMethodNameback to summary
private String deleterMethodName
docback to summary
private String doc
getterFieldNameback to summary
private String getterFieldName
getterMethodNameback to summary
private String getterMethodName
nameback to summary
private String name
ofTypeback to summary
private Type ofType
onTypeback to summary
private Type onType
setterFieldNameback to summary
private String setterFieldName
setterMethodNameback to summary
private String setterMethodName

Constructor Detail

DescriptorExposerback to summary
public DescriptorExposer(Type onType, String descrName)

Creates an exposer that will work on type and have descrName as its name in the type's dict.

Method Detail

addFieldGetterback to summary
public void addFieldGetter(String fieldName, Type fieldType)
addFieldGetterback to summary
public void addFieldGetter(String fieldName, Type fieldType, String doc)
addFieldSetterback to summary
public void addFieldSetter(String fieldName, Type fieldType)
addMethodDeleterback to summary
public void addMethodDeleter(String methodName, String desc)
addMethodGetterback to summary
public void addMethodGetter(String methodName, String desc)
addMethodGetterback to summary
public void addMethodGetter(String methodName, String desc, String doc)
addMethodSetterback to summary
public void addMethodSetter(String methodName, String desc)
errorback to summary
private void error(String reason)
generateback to summary
protected void generate()

Implements abstract org.python.expose.generate.Exposer.generate.

Doc from org.python.expose.generate.Exposer.generate.

Implemented by subclasses to fill in the actual implementation of the class. cv is set to the ClassVisitor to be used when this is called.

Annotations
@Override
generateConstructorback to summary
private void generateConstructor()
generateFieldGetterback to summary
private void generateFieldGetter()
generateFieldSetterback to summary
private void generateFieldSetter()
generateImplementback to summary
private void generateImplement(String setOrDelete, boolean implementsIt)
generateMethodDeleterback to summary
private void generateMethodDeleter()
generateMethodGetterback to summary
private void generateMethodGetter()
generateMethodSetterback to summary
private void generateMethodSetter()
getNameback to summary
public String getName()
Returns:String

- the name this descriptor will be exposed as in its type's dict

hasGetterback to summary
public boolean hasGetter()
hasSetterback to summary
public boolean hasSetter()
setOfTypeback to summary
private void setOfType(Type type)
toStringback to summary
public String toString()

Overrides java.lang.Object.toString.

Doc from java.lang.Object.toString.

Returns a string representation of the object. Satisfying this method's contract implies a non-null result must be returned.

Returns:String

a string representation of the object