^1714995383084
@
sname
JavaAction
slabel
JavaAction
sdescriptors
xworker.lang.MetaDescriptor3
sextends
xworker.lang.actions.Action
smany
true
seditCols
2
sinitialization
false
sgroup
thing.action
smodifier
public
sinheritDescription
false
sicon
icons/file/java.gif
Sdescription
#$@text#$@
<p>原生动作，有动态模型引擎直接解释执行，用于调用Java代码。</p>

<p><strong>基本用法</strong></p>

<p>&nbsp;&nbsp;&nbsp; 基本用法是调用参数固定为ActionContext的静态方法。</p>

<p>&nbsp;&nbsp;&nbsp; 如：public static Object run(ActionContext actionContext{}</p>

<p><strong>使用注解</strong></p>

<ul>
	<li><strong>多个参数的Java方法</strong><br />
	由于通过发射有时不能正确获取参数的名字，而参数名是从变量上下文取变量的，所以需要通过注解来说明，如下面的示例：<br />
	&nbsp; <strong>@ActionParams(names=&quot;p1,p2,p3&quot;)</strong><br />
	&nbsp; public static String run(Object p1,&nbsp;String p2,&nbsp; int p3, ActionContext actionContext)最后一个参数如果是ActionContext，那么可以不用再注解里说明。<br />
	&nbsp;</li>
	<li><strong>非静态方法</strong><br />
	非静态方法执行时必须要有一个所属的对象，因此需要下面的注解。<br />
	<strong>@ActionClass(creator=&quot;xxx&quot;)</strong>，可选，针对类的，creator用于指明一个实例化对象的方法，实例化对象的方法必须是静态的且参数固定为ActionCotnext。<br />
	<strong>@ActionField(name=&quot;xxx&quot;)</strong>，针对属性，标记在执行被调用的方法前，从变量上下文中取xxx变量为其赋值。</li>
</ul>

<p>&nbsp;&nbsp;&nbsp;</p>
#$@text#$@
snotXmlAttribute
false
sjson_isArray
false
sjson_array_type
children
sjson_attribute
false
sth_createIndex
true
sth_registThing
child|xworker.lang.util.DescriptorsIndex
sth_registMyChilds
false
sth_registDisabled
false
sth_noThingRegistViewer
false
sth_fileMonitor
false
sth_deprecated
false
Sen_description
#$@text#$@
<p>Native actions are directly interpreted and executed by the dynamic model engine and used to call Java code.</p>

<p><strong>Basic usage</strong></p>

<p>&nbsp;&nbsp;&nbsp; The basic usage is to call a static method whose parameters are fixed to ActionContext.</p>

<p>&nbsp;&nbsp;&nbsp; For example: public static Object run(ActionContext actionContext{}</p>

<p><strong>Using annotations</strong></p>

<ul>
	<li><strong>Java methods with multiple parameters</strong><br />
	Because sometimes the name of the parameter cannot be obtained correctly through emission, and the parameter name is taken from the variable context, it needs to be explained through annotations, such as the following example:<br />
	&nbsp; <strong>@ActionParams(names=&quot;p1,p2,p3&quot;)</strong><br />
	&nbsp; public static String run(Object p1,&nbsp;String p2,&nbsp; int p3, ActionContext actionContext) If the last parameter is ActionContext, then there is no need to explain it in the annotation.<br />
	&nbsp;</li>
	<li><strong>Non-static methods</strong><br />
	Non-static methods must have an object when executed, so the following annotations are required.<br />
	<strong>@ActionClass(creator=&quot;xxx&quot;)</strong>, optional, for classes, creator is used to specify a method to instantiate an object. The method of instantiating an object must be static and the parameters are fixed to ActionCotnext .<br />
	<strong>@ActionField(name=&quot;xxx&quot;)</strong>, for attributes, mark that before executing the called method, the xxx variable is taken from the variable context and assigned a value.</li>
</ul>

<p>&nbsp;&nbsp;&nbsp;</p>
#$@text#$@
sth_mark
false
sth_registQueryOnlySelf
false
sgroupDescriptor
false
  @/@name
  sname
  name
  slabel
  名称
  sgroup
  Code
  sgroupIndex
  -100
  sreadOnly
  false
  sinheritDescription
  false
  svalidateAllowBlank
  true
  LvalidateOnBlur
  true
  LallowDecimals
  true
  LallowNegative
  true
  sen_label
  Name
  sdescriptors
  xworker.lang.MetaDescriptor3/@attribute
  sid
  name
  @/@label
  sname
  label
  slabel
  标签
  sgroup
  Code
  sreadOnly
  false
  sinheritDescription
  false
  svalidateAllowBlank
  true
  LvalidateOnBlur
  true
  LallowDecimals
  true
  LallowNegative
  true
  sen_label
  Label
  sdescriptors
  xworker.lang.MetaDescriptor3/@attribute
  sth_createIndex
  false
  sth_registMyChilds
  false
  sth_registDisabled
  false
  sth_mark
  false
  sid
  label
  @/@isSynchronized
  sname
  isSynchronized
  slabel
  是否同步
  sinputtype
  truefalse
  sgroup
  Action
  sreadOnly
  false
  sinheritDescription
  false
  svalidateAllowBlank
  true
  LvalidateOnBlur
  true
  LallowDecimals
  true
  LallowNegative
  true
  sen_label
  Synchronized
  sdescriptors
  xworker.lang.MetaDescriptor3/@attribute
  sid
  isSynchronized
  @/@throwException
  sname
  throwException
  slabel
  抛出异常
  sinputtype
  truefalse
  sgroup
  Action
  sreadOnly
  false
  sdefault
  true
  sinheritDescription
  false
  svalidateAllowBlank
  true
  LvalidateOnBlur
  true
  LallowDecimals
  true
  LallowNegative
  true
  sen_label
  Throw Exception
  sdescriptors
  xworker.lang.MetaDescriptor3/@attribute
  sid
  throwException
  @/@useOtherAction
  sname
  useOtherAction
  slabel
  引用其他动作
  sinputtype
  truefalse
  sgroup
  Action
  sreadOnly
  false
  sdefault
  false
  sinheritDescription
  false
  svalidateAllowBlank
  true
  LvalidateOnBlur
  true
  LallowDecimals
  true
  LallowNegative
  true
  sen_label
  Reference to Other Action
  sdescriptors
  xworker.lang.MetaDescriptor3/@attribute
  sid
  useOtherAction
  @/@otherActionPath
  sname
  otherActionPath
  slabel
  引用动作路径
  sinputtype
  dataSelector
  ssize
  60
  scolspan
  2
  sgroup
  Action
  sreadOnly
  false
  sinheritDescription
  false
  svalidateAllowBlank
  true
  LvalidateOnBlur
  true
  LallowDecimals
  true
  LallowNegative
  true
  sen_label
  Referenced Action path
  sdescriptors
  xworker.lang.MetaDescriptor3/@attribute
  sid
  otherActionPath
  @/@useOuterJava
  sname
  useOuterJava
  slabel
  使用外部Java
  sinputtype
  hidden
  scolspan
  2
  sgroup
  Code
  sshowLabel
  true
  slabelAlign
  right
  slabelVAlign
  baseline
  smodifier
  public
  sreadOnly
  false
  sdefault
  true
  sinheritDescription
  false
  Sdescription
#$@text#$@
<p>是否是类库下的Java类，比如编译并打包在jar中的java类。</p>

<p>使用外部Java和使用内部Java只能选一个，或者都不选，都不选是在模型的code属性里直接写Java代码。</p>
#$@text#$@
  svalidateAllowBlank
  true
  LvalidateOnBlur
  true
  LallowDecimals
  true
  LallowNegative
  true
  snotXmlAttribute
  false
  sxmlJsonIncludeDefault
  false
  sen_label
  Reference outer Java
  sdescriptors
  xworker.lang.MetaDescriptor3/@attribute
  Sen_description
#$@text#$@
<p>Whether it is a Java class under a class library, such as a java class compiled and packaged in a jar. </p>

<p>You can only choose between using external Java and using internal Java, or you can choose neither. If you don’t choose either, you can write the Java code directly in the code attribute of the model. </p>
#$@text#$@
  sid
  useOuterJava
  @/@useInnerJava
  sname
  useInnerJava
  slabel
  使用内部Java
  sinputtype
  hidden
  sgroup
  Code
  sshowLabel
  true
  slabelAlign
  right
  slabelVAlign
  baseline
  smodifier
  public
  sreadOnly
  false
  sdefault
  false
  sinheritDescription
  false
  Sdescription
#$@text#$@
<p>如果使用内部Java，那么Java的源码是和事物放在一起的，事物管理器的目录就是Java源码的路径。</p>

<p>使用外部Java和使用内部Java只能选一个，或者都不选，都不选是在模型的code属性里直接写Java代码。</p>

<p><strong>注：</strong></p>

<p>只对文件类型的事物管理器有效。</p>
#$@text#$@
  svalidateAllowBlank
  true
  LvalidateOnBlur
  true
  LallowDecimals
  true
  LallowNegative
  true
  snotXmlAttribute
  false
  sxmlJsonIncludeDefault
  false
  sen_label
  UseInnerJava
  sdescriptors
  xworker.lang.MetaDescriptor3/@attribute
  sth_createIndex
  false
  sth_registMyChilds
  false
  sth_registDisabled
  false
  Sen_description
#$@text#$@
<p>If internal Java is used, then the Java source code is placed with the thing, and the directory of the thing manager is the path of the Java source code. </p>

<p>You can only choose between using external Java and using internal Java, or you can choose neither. If you don’t choose either, you can write the Java code directly in the code attribute of the model. </p>

<p><strong>Note:</strong></p>

<p>Only valid for file type transaction manager. </p>
#$@text#$@
  sth_mark
  false
  sid
  useInnerJava
  @/@outerClassName
  sname
  outerClassName
  slabel
  Java类全名
  sinputtype
  openWindow
  ssize
  60
  scolspan
  2
  sgroup
  Code
  sinputattrs
  xworker.swt.xworker.attributeEditor.openWins.ClassSelector/@shell|
  sshowLabel
  true
  sreadOnly
  false
  sinheritDescription
  false
  sdescription
  <p>在使用外部Java或内部Java时需要填写，如果Java代码直接写到本事物中则不需要。</p>
  svalidateAllowBlank
  true
  LvalidateOnBlur
  true
  LallowDecimals
  true
  LallowNegative
  true
  snotXmlAttribute
  false
  sen_label
  Java Full Class Name
  sdescriptors
  xworker.lang.MetaDescriptor3/@attribute
  sth_createIndex
  false
  sth_registMyChilds
  false
  sth_registDisabled
  false
  sth_noThingRegistViewer
  false
  sth_fileMonitor
  false
  sth_deprecated
  false
  sen_description
  <p>It needs to be filled in when using external Java or internal Java, if the Java code is directly written into this transaction, it is not necessary. </p>
  sth_mark
  false
  sth_registQueryOnlySelf
  false
  sjson_isArray
  false
  sgroupDescriptor
  false
  sid
  outerClassName
  @/@className
  sname
  className
  slabel
  类名
  sinputtype
  hidden
  sgroup
  Code
  sshowLabel
  true
  slabelAlign
  right
  slabelVAlign
  baseline
  smodifier
  public
  sreadOnly
  false
  sinheritDescription
  false
  sdescription
  <p>代码所表示的Java类名。如：User。</p>
  svalidateAllowBlank
  true
  LvalidateOnBlur
  true
  LallowDecimals
  true
  LallowNegative
  true
  snotXmlAttribute
  false
  sxmlJsonIncludeDefault
  false
  sen_label
  Class Name
  sdescriptors
  xworker.lang.MetaDescriptor3/@attribute
  sen_description
  <p>The name of the Java class represented by the code. Such as: User. </p>
  sid
  className
  @/@methodName
  sname
  methodName
  slabel
  方法名称
  sinputtype
  openWindow
  ssize
  40
  sgroup
  Code
  sinputattrs
  xworker.swt.xworker.attributeEditor.openWins.MethodSelector/@shell|classAttributeName=outerClassName
  sshowLabel
  true
  sreadOnly
  false
  sinheritDescription
  false
  sdescription
  <p>要调用的方法名称。</p>
  svalidateAllowBlank
  true
  LvalidateOnBlur
  true
  LallowDecimals
  true
  LallowNegative
  true
  snotXmlAttribute
  false
  sen_label
  Method Name
  sdescriptors
  xworker.lang.MetaDescriptor3/@attribute
  sen_description
  <p>The name of the method to be called. </p>
  sid
  methodName
  @/@disableGlobalContext
  sname
  disableGlobalContext
  slabel
  禁止全局上下文
  sinputtype
  truefalse
  sgroup
  Action
  sreadOnly
  false
  sdefault
  false
  sinheritDescription
  false
  sdescription
  <p>如果一个动作是全局上下文的动作，那么应该禁止，否则会造成递归的无限循环。</p>
  svalidateAllowBlank
  true
  LvalidateOnBlur
  true
  LallowDecimals
  true
  LallowNegative
  true
  sen_label
  Disable Gloable Context
  sdescriptors
  xworker.lang.MetaDescriptor3/@attribute
  sen_description
  <p>If this aciton is global action must diable global context.</p>
  sid
  disableGlobalContext
  @/@description
  sname
  description
  slabel
  描述
  sinputtype
  html
  scolspan
  2
  sgroup
  Code
  sgroupIndex
  -90
  sinputattrs
  Width='100';Height='80';ToolbarSet="SwtEdit"
  sshowLabel
  true
  slabelAlign
  right
  slabelVAlign
  baseline
  smodifier
  public
  sreadOnly
  false
  sinheritDescription
  false
  svalidateAllowBlank
  true
  LvalidateOnBlur
  true
  LallowDecimals
  true
  LallowNegative
  true
  snotXmlAttribute
  false
  sxmlJsonIncludeDefault
  false
  sen_label
  Description
  sdescriptors
  xworker.lang.MetaDescriptor3/@attribute
  sid
  description
  @/@code
  sname
  code
  slabel
  代码
  sinputtype
  hidden
  scolspan
  2
  sgroup
  Code
  sinputattrs
  rows="10" cols="50" codeName="Java" codeType="Java"
  sshowLabel
  true
  slabelAlign
  right
  slabelVAlign
  baseline
  smodifier
  public
  sreadOnly
  false
  sinheritDescription
  false
  svalidateAllowBlank
  true
  LvalidateOnBlur
  false
  LallowDecimals
  false
  LallowNegative
  false
  snotXmlAttribute
  false
  sxmlJsonIncludeDefault
  false
  sen_label
  Code
  sdescriptors
  xworker.lang.MetaDescriptor3/@attribute
  sid
  code
  @/@swtMenus
  sname
  swtMenus
  sdescriptors
  xworker.lang.MetaDescriptor3/@swtMenus
  sextends
  xworker.lang.actions.ActionMenu/@swtMenus
  sid
  swtMenus
    @/@swtMenus/@menuDefine
    sname
    menuDefine
    sdescriptors
    xworker.lang.MetaDescriptor3/@swtMenus/@menuDefine
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    menuDefine
      @/@swtMenus/@menuDefine/@Java
      sname
      Java
      slabel
      Java
      sdescriptors
      xworker.lang.ThingMenu/@menuDefine/@menu
      sinheritDescription
      false
      sth_createIndex
      false
      sth_registMyChilds
      false
      sth_registDisabled
      false
      sth_mark
      false
      sid
      Java
    @/@swtMenus/@menuSetting
    sname
    menuSetting
    smenuType
    Java
    sdescriptors
    xworker.lang.MetaDescriptor3/@swtMenus/@menuSetting
    sinheritDescription
    false
    sth_createIndex
    false
    sth_registMyChilds
    false
    sth_registDisabled
    false
    sth_mark
    false
    sid
    menuSetting
      @/@swtMenus/@menuSetting/@openJavaSource
      sname
      openJavaSource
      slabel
      打开Java源码
      surl
      xworker.lang.actions.ActionMenu/@actions/@openJavaSource
      sisSplit
      false
      sattachParam
      true
      sen_label
      Open Java Source
      sdescriptors
      xworker.lang.ThingMenu/@menuSetting/@menu
      sinheritDescription
      false
      sth_createIndex
      false
      sth_registMyChilds
      false
      sth_registDisabled
      false
      sth_noThingRegistViewer
      false
      sth_fileMonitor
      false
      sth_deprecated
      false
      sth_mark
      false
      sth_registQueryOnlySelf
      false
      snotXmlAttribute
      false
      sjson_isArray
      false
      sgroupDescriptor
      false
      sid
      openJavaSource
  @/@attributeTemplate
  sname
  attributeTemplate
  slabel
  属性模板
  sinputtype
  truefalse
  sgroup
  Action
  sreadOnly
  false
  sdefault
  false
  sinheritDescription
  false
  sdescription
  <p>如果为true，那么可以在属性中使用freemarker模板，在动作执行前会把有模板的属性生成具体属性。</p>
  svalidateAllowBlank
  true
  LvalidateOnBlur
  true
  LallowDecimals
  true
  LallowNegative
  true
  sen_label
  AttributeTemplate
  sdescriptors
  xworker.lang.MetaDescriptor3/@attribute
  sth_createIndex
  false
  sth_registMyChilds
  false
  sth_registDisabled
  false
  sen_description
  <p>If true, you can use the freemarker template in the attributes, and the attributes with the template will be generated into specific attributes before the action is executed. </p>
  sth_mark
  false
  sid
  attributeTemplate
