Class CopyablePlugin
- java.lang.Object
-
- com.sun.tools.xjc.Plugin
-
- org.jvnet.jaxb2_commons.plugin.AbstractPlugin
-
- org.jvnet.jaxb2_commons.plugin.AbstractParameterizablePlugin
-
- org.jvnet.jaxb2_commons.plugin.copyable.CopyablePlugin
-
public class CopyablePlugin extends AbstractParameterizablePlugin
With this plug-in you can "copy onto" another object, use strategies to customize copying (how exactly should this or that be copied), use locators to check what exactly is being copied at the moment and so on. But the main reason for dependency is to avoid generating the same cloning code all over the place for each of the fields of each of the generated classes. The copying algorithmic is held in copy strategies.- Author:
- Alexey Valikov
-
-
Field Summary
-
Fields inherited from class org.jvnet.jaxb2_commons.plugin.AbstractPlugin
logger
-
-
Constructor Summary
Constructors Constructor Description CopyablePlugin()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description com.sun.codemodel.JExpressioncreateCopyStrategy(com.sun.codemodel.JCodeModel codeModel)protected com.sun.codemodel.JMethodgenerateCopyTo$copyTo(com.sun.tools.xjc.outline.ClassOutline classOutline, com.sun.codemodel.JDefinedClass theClass)protected com.sun.codemodel.JMethodgenerateCopyTo$copyTo1(com.sun.tools.xjc.outline.ClassOutline classOutline, com.sun.codemodel.JDefinedClass theClass)protected com.sun.codemodel.JMethodgenerateCopyTo$createNewInstance(com.sun.tools.xjc.outline.ClassOutline classOutline, com.sun.codemodel.JDefinedClass theClass)protected com.sun.codemodel.JMethodgenerateObject$clone(com.sun.tools.xjc.outline.ClassOutline classOutline, com.sun.codemodel.JDefinedClass theClass)StringgetCopyStrategyClass()Collection<QName>getCustomizationElementNames()FieldAccessorFactorygetFieldAccessorFactory()IgnoringgetIgnoring()StringgetOptionName()StringgetUsage()protected voidprocessClassOutline(com.sun.tools.xjc.outline.ClassOutline classOutline)booleanrun(com.sun.tools.xjc.outline.Outline outline, com.sun.tools.xjc.Options opt, ErrorHandler errorHandler)voidsetCopyStrategyClass(String copyStrategy)voidsetFieldAccessorFactory(FieldAccessorFactory fieldAccessorFactory)voidsetIgnoring(Ignoring ignoring)-
Methods inherited from class org.jvnet.jaxb2_commons.plugin.AbstractParameterizablePlugin
parseArgument
-
Methods inherited from class org.jvnet.jaxb2_commons.plugin.AbstractPlugin
afterRun, beforeRun, getCustomizationURIs, init, isCustomizationTagName, onActivated, run
-
-
-
-
Method Detail
-
getOptionName
public String getOptionName()
- Specified by:
getOptionNamein classcom.sun.tools.xjc.Plugin
-
getUsage
public String getUsage()
- Specified by:
getUsagein classcom.sun.tools.xjc.Plugin
-
getFieldAccessorFactory
public FieldAccessorFactory getFieldAccessorFactory()
-
setFieldAccessorFactory
public void setFieldAccessorFactory(FieldAccessorFactory fieldAccessorFactory)
-
setCopyStrategyClass
public void setCopyStrategyClass(String copyStrategy)
-
getCopyStrategyClass
public String getCopyStrategyClass()
-
createCopyStrategy
public com.sun.codemodel.JExpression createCopyStrategy(com.sun.codemodel.JCodeModel codeModel)
-
getIgnoring
public Ignoring getIgnoring()
-
setIgnoring
public void setIgnoring(Ignoring ignoring)
-
getCustomizationElementNames
public Collection<QName> getCustomizationElementNames()
- Overrides:
getCustomizationElementNamesin classAbstractPlugin
-
run
public boolean run(com.sun.tools.xjc.outline.Outline outline, com.sun.tools.xjc.Options opt, ErrorHandler errorHandler)- Overrides:
runin classAbstractPlugin
-
processClassOutline
protected void processClassOutline(com.sun.tools.xjc.outline.ClassOutline classOutline)
-
generateCopyTo$createNewInstance
protected com.sun.codemodel.JMethod generateCopyTo$createNewInstance(com.sun.tools.xjc.outline.ClassOutline classOutline, com.sun.codemodel.JDefinedClass theClass)
-
generateObject$clone
protected com.sun.codemodel.JMethod generateObject$clone(com.sun.tools.xjc.outline.ClassOutline classOutline, com.sun.codemodel.JDefinedClass theClass)
-
generateCopyTo$copyTo
protected com.sun.codemodel.JMethod generateCopyTo$copyTo(com.sun.tools.xjc.outline.ClassOutline classOutline, com.sun.codemodel.JDefinedClass theClass)
-
generateCopyTo$copyTo1
protected com.sun.codemodel.JMethod generateCopyTo$copyTo1(com.sun.tools.xjc.outline.ClassOutline classOutline, com.sun.codemodel.JDefinedClass theClass)
-
-