<?xml version="1.0" encoding="UTF-8"?>

<namespace xmlns="http://www.mulesoft.org/schema/mule/tooling.attributes" xmlns:mule="http://www.mulesoft.org/schema/mule/core" prefix="jpa" url="http://www.mulesoft.org/schema/mule/jpa">
  <global-cloud-connector connectivityTesting="off" extends="http://www.mulesoft.org/schema/mule/jpa/abstractJpaConnectorGeneric" abstract="true" image="" localId="parentConfig" icon="" description="" caption="Java Persistence API"></global-cloud-connector>
  <global-cloud-connector connectivityTesting="off" extends="http://www.mulesoft.org/schema/mule/jpa/parentConfig" abstract="false" image="icons/large/JPAModule-connector-48x32.png" localId="config" icon="icons/small/JPAModule-connector-24x16.png" description="Global Java Persistence API configuration information." caption="Java Persistence API">
    <attribute-category description="Jpa configuration properties." caption="General">
      <group caption="Generic" id="jpaGenericProperties">
        <name required="true" description="Give a name to this configuration so it can be later referenced by config-ref." caption="Name" name="name"></name>
      </group>
      <group caption="General" id="general">
        <string javaType="javax.persistence.EntityManagerFactory" required="true" description="Reference to an EntityManagerFactory." caption="Entity Manager Factory Reference" name="entityManagerFactory-ref"></string>
      </group>
    </attribute-category>
  </global-cloud-connector>
  <cloud-connector abstract="true" image="icons/large/JPAModule-connector-48x32.png" localId="abstractJpaConnectorGeneric" icon="icons/small/JPAModule-connector-24x16.png" description="Interact with Jpa." caption="Abstractjpaconnectorgeneric">
    <attribute-category description="General." caption="General">
      <group caption="Generic" id="abstractJpaConnectorGeneric">
        <globalRef requiredType="http://www.mulesoft.org/schema/mule/jpa/config" required="true" description="Specify which configuration to use for this invocation." caption="Config Reference" name="config-ref"></globalRef>
      </group>
    </attribute-category>
  </cloud-connector>
  <cloud-connector extends="http://www.mulesoft.org/schema/mule/jpa/abstractJpaConnectorGeneric" image="icons/large/JPAModule-connector-48x32.png" localId="jpa-connector" icon="icons/small/JPAModule-connector-24x16.png" description="Java Persistence API (JPA) support for Mule." caption="Java Persistence API" aliasId="org.mule.tooling.ui.modules.core.pattern.jpa">
    <attribute-category description="General." caption="General">
      <group caption="Generic" id="jpaConnectorGeneric">
        <modeSwitch alwaysCombo="true" description="Operation." caption="Operation" name="Jpa operations to execute">
          <mode modeLabel="Detach" modeId="http://www.mulesoft.org/schema/mule/jpa/detach"></mode>
          <mode modeLabel="Find" modeId="http://www.mulesoft.org/schema/mule/jpa/find"></mode>
          <mode modeLabel="Merge" modeId="http://www.mulesoft.org/schema/mule/jpa/merge"></mode>
          <mode modeLabel="Persist" modeId="http://www.mulesoft.org/schema/mule/jpa/persist"></mode>
          <mode modeLabel="Query" modeId="http://www.mulesoft.org/schema/mule/jpa/query"></mode>
        </modeSwitch>
      </group>
    </attribute-category>
  </cloud-connector>
  <cloud-connector returnType="java.lang.Object" extends="http://www.mulesoft.org/schema/mule/jpa/abstractJpaConnectorGeneric" abstract="true" image="icons/large/JPAModule-connector-48x32.png" localId="detach" icon="icons/small/JPAModule-connector-24x16.png" caption="Detach">
    <attribute-category description="General." caption="General">
      <group caption="General" id="general">
        <string javaType="java.lang.Object" required="true" description="The entity to detach." caption="Entity Reference" name="entity-ref"></string>
        <boolean defaultValue="false" javaType="java.lang.Boolean" required="false" supportsExpressions="true" description="Flush the session if true." caption="Flush" name="flush"></boolean>
      </group>
    </attribute-category>
  </cloud-connector>
  <cloud-connector returnType="java.lang.Object" extends="http://www.mulesoft.org/schema/mule/jpa/abstractJpaConnectorGeneric" abstract="true" image="icons/large/JPAModule-connector-48x32.png" localId="find" icon="icons/small/JPAModule-connector-24x16.png" caption="Find">
    <attribute-category description="General." caption="General">
      <group caption="General" id="general">
        <string javaType="java.lang.String" required="true" description="The class of the entity to find." caption="Entity Class" name="entityClass"></string>
        <string javaType="java.lang.Object" required="true" description="The ID of the entity to find." caption="Id Reference" name="id-ref"></string>
        <boolean defaultValue="false" javaType="java.lang.Boolean" required="false" supportsExpressions="true" description="Flush the session if true." caption="Flush" name="flush"></boolean>
      </group>
    </attribute-category>
  </cloud-connector>
  <cloud-connector returnType="java.lang.Object" extends="http://www.mulesoft.org/schema/mule/jpa/abstractJpaConnectorGeneric" abstract="true" image="icons/large/JPAModule-connector-48x32.png" localId="merge" icon="icons/small/JPAModule-connector-24x16.png" caption="Merge">
    <attribute-category description="General." caption="General">
      <group caption="General" id="general">
        <string javaType="java.lang.Object" required="true" description="The entity to persist." caption="Entity Reference" name="entity-ref"></string>
        <boolean defaultValue="false" javaType="java.lang.Boolean" required="false" supportsExpressions="true" description="Flush the session if true." caption="Flush" name="flush"></boolean>
      </group>
    </attribute-category>
  </cloud-connector>
  <cloud-connector returnType="java.lang.Object" extends="http://www.mulesoft.org/schema/mule/jpa/abstractJpaConnectorGeneric" abstract="true" image="icons/large/JPAModule-connector-48x32.png" localId="persist" icon="icons/small/JPAModule-connector-24x16.png" caption="Persist">
    <attribute-category description="General." caption="General">
      <group caption="General" id="general">
        <string javaType="java.lang.Object" required="true" description="The entity to persist." caption="Entity Reference" name="entity-ref"></string>
        <boolean defaultValue="false" javaType="java.lang.Boolean" required="false" supportsExpressions="true" description="Flush the session if true." caption="Flush" name="flush"></boolean>
      </group>
    </attribute-category>
  </cloud-connector>
  <cloud-connector returnType="java.lang.Object" extends="http://www.mulesoft.org/schema/mule/jpa/abstractJpaConnectorGeneric" abstract="true" image="icons/large/JPAModule-connector-48x32.png" localId="query" icon="icons/small/JPAModule-connector-24x16.png" caption="Query">
    <attribute-category description="General." caption="General">
      <group caption="General" id="general">
        <string javaType="javax.persistence.criteria.CriteriaQuery" required="false" description="The CriteriaQuery." caption="Criteria Reference" name="criteria-ref"></string>
        <string javaType="java.lang.String" required="false" description="A named query to execute." caption="Named Query" name="namedQuery"></string>
        <string javaType="java.lang.String" required="false" description="A JPA QL statement to execute." caption="Statement" name="statement"></string>
        <string javaType="java.lang.Object" required="false" description="The query parameters." caption="Query Parameters Reference" name="queryParameters-ref"></string>
        <boolean defaultValue="false" javaType="java.lang.Boolean" required="false" supportsExpressions="true" description="Flush the session if true." caption="Flush" name="flush"></boolean>
      </group>
    </attribute-category>
  </cloud-connector>
</namespace>