<?xml version="1.0" encoding="UTF-8" ?>
    <prefix>
      <prefix>bbb-tool</prefix>
      <describeURL>/direct/bbb-tool/describe</describeURL>
      <collectionURL>/bbb-tool</collectionURL>
      <createURL>/bbb-tool/new</createURL>
      <showURL>/bbb-tool/:ID:</showURL>
      <updateURL>/bbb-tool/:ID:/edit</updateURL>
      <deleteURL>/bbb-tool/:ID:/delete</deleteURL>
      <customActions>
        <customAction>
          <action>getNoticeText</action>
          <url>/direct/bbb-tool/getNoticeText</url>
          <method>GET</method>
          <viewKey>list</viewKey>
        </customAction>
      </customActions>
      <customActions>
        <customAction>
          <action>isMeetingRunning</action>
          <url>/direct/bbb-tool/isMeetingRunning</url>
          <method>GET</method>
          <viewKey>list</viewKey>
        </customAction>
      </customActions>
      <customActions>
        <customAction>
          <action>getSettings</action>
          <url>/direct/bbb-tool/getSettings</url>
          <method>GET</method>
          <viewKey>list</viewKey>
        </customAction>
      </customActions>
      <customActions>
        <customAction>
          <action>getSiteRecordings</action>
          <url>/direct/bbb-tool/getSiteRecordings</url>
          <method>GET</method>
          <viewKey>list</viewKey>
        </customAction>
      </customActions>
      <customActions>
        <customAction>
          <action>protectRecordings</action>
          <url>/direct/bbb-tool/protectRecordings</url>
          <method>GET</method>
          <viewKey>list</viewKey>
        </customAction>
      </customActions>
      <customActions>
        <customAction>
          <action>joinMeeting</action>
          <url>/direct/bbb-tool/:ID:/joinMeeting</url>
          <method>GET</method>
          <viewKey>show</viewKey>
        </customAction>
      </customActions>
      <customActions>
        <customAction>
          <action>getUserSelectionOptions</action>
          <url>/direct/bbb-tool/getUserSelectionOptions</url>
          <method>GET</method>
          <viewKey>list</viewKey>
        </customAction>
      </customActions>
      <customActions>
        <customAction>
          <action>getRecordings</action>
          <url>/direct/bbb-tool/:ID:/getRecordings</url>
          <method>GET</method>
          <viewKey>show</viewKey>
        </customAction>
      </customActions>
      <customActions>
        <customAction>
          <action>recordingReady</action>
          <url>/direct/bbb-tool/recordingReady</url>
          <method>POST</method>
          <viewKey>new</viewKey>
        </customAction>
      </customActions>
      <customActions>
        <customAction>
          <action>getMeetings</action>
          <url>/direct/bbb-tool/getMeetings</url>
          <method>GET</method>
          <viewKey>list</viewKey>
        </customAction>
      </customActions>
      <customActions>
        <customAction>
          <action>removeUpload</action>
          <url>/direct/bbb-tool/removeUpload</url>
          <method>GET</method>
          <viewKey>list</viewKey>
        </customAction>
      </customActions>
      <customActions>
        <customAction>
          <action>endMeeting</action>
          <url>/direct/bbb-tool/endMeeting</url>
          <method>GET</method>
          <viewKey>list</viewKey>
        </customAction>
      </customActions>
      <customActions>
        <customAction>
          <action>publishRecordings</action>
          <url>/direct/bbb-tool/publishRecordings</url>
          <method>GET</method>
          <viewKey>list</viewKey>
        </customAction>
      </customActions>
      <customActions>
        <customAction>
          <action>getMeetingInfo</action>
          <url>/direct/bbb-tool/:ID:/getMeetingInfo</url>
          <method>GET</method>
          <viewKey>show</viewKey>
        </customAction>
      </customActions>
      <customActions>
        <customAction>
          <action>deleteRecordings</action>
          <url>/direct/bbb-tool/deleteRecordings</url>
          <method>GET</method>
          <viewKey>list</viewKey>
        </customAction>
      </customActions>
      <customActions>
        <customAction>
          <action>doUpload</action>
          <url>/direct/bbb-tool/doUpload</url>
          <method>POST</method>
          <viewKey>new</viewKey>
        </customAction>
      </customActions>
      <customActions>
        <customAction>
          <action>getJoinMeetingUrl</action>
          <url>/direct/bbb-tool/:ID:/getJoinMeetingUrl</url>
          <method>GET</method>
          <viewKey>show</viewKey>
        </customAction>
      </customActions>
      <customActions>
        <customAction>
          <action>getGroups</action>
          <url>/direct/bbb-tool/getGroups</url>
          <method>GET</method>
          <viewKey>list</viewKey>
        </customAction>
      </customActions>
      <outputFormats>
        <format>html</format>
        <format>json</format>
        <format>txt</format>
       </outputFormats>
      <inputFormats>
        <format>html</format>
        <format>json</format>
       </inputFormats>
      <entityClass>
        <class>org.sakaiproject.bbb.api.BBBMeeting</class>
        <type>bean</type>
        <fields>
          <field>
            <name>attendeePassword</name>
            <type>java.lang.String</type>
            <readable>true</readable>
            <writeable>true</writeable>
          </field>
          <field>
            <name>deleted</name>
            <type>java.lang.Boolean</type>
            <readable>true</readable>
            <writeable>true</writeable>
          </field>
          <field>
            <name>endDate</name>
            <type>java.util.Date</type>
            <readable>true</readable>
            <writeable>true</writeable>
          </field>
          <field>
            <name>groupSessions</name>
            <type>java.lang.Boolean</type>
            <readable>true</readable>
            <writeable>true</writeable>
          </field>
          <field>
            <name>hostUrl</name>
            <type>java.lang.String</type>
            <readable>true</readable>
            <writeable>true</writeable>
          </field>
          <field>
            <name>id</name>
            <type>java.lang.String</type>
            <readable>true</readable>
            <writeable>true</writeable>
          </field>
          <field>
            <name>joinUrl</name>
            <type>java.lang.String</type>
            <readable>true</readable>
            <writeable>true</writeable>
          </field>
          <field>
            <name>meta</name>
            <type>java.util.Map</type>
            <readable>true</readable>
            <writeable>true</writeable>
          </field>
          <field>
            <name>moderatorPassword</name>
            <type>java.lang.String</type>
            <readable>true</readable>
            <writeable>true</writeable>
          </field>
          <field>
            <name>multipleSessionsAllowed</name>
            <type>java.lang.Boolean</type>
            <readable>true</readable>
            <writeable>true</writeable>
          </field>
          <field>
            <name>name</name>
            <type>java.lang.String</type>
            <readable>true</readable>
            <writeable>true</writeable>
          </field>
          <field>
            <name>ownerDisplayName</name>
            <type>java.lang.String</type>
            <readable>true</readable>
            <writeable>true</writeable>
          </field>
          <field>
            <name>ownerId</name>
            <type>java.lang.String</type>
            <readable>true</readable>
            <writeable>true</writeable>
          </field>
          <field>
            <name>participants</name>
            <type>java.util.List</type>
            <readable>true</readable>
            <writeable>true</writeable>
          </field>
          <field>
            <name>presentation</name>
            <type>java.lang.String</type>
            <readable>true</readable>
            <writeable>true</writeable>
          </field>
          <field>
            <name>properties</name>
            <type>org.sakaiproject.entity.api.ResourceProperties</type>
            <readable>true</readable>
            <writeable>false</writeable>
          </field>
          <field>
            <name>props</name>
            <type>org.sakaiproject.bbb.api.Props</type>
            <readable>true</readable>
            <writeable>true</writeable>
          </field>
          <field>
            <name>recording</name>
            <type>java.lang.Boolean</type>
            <readable>true</readable>
            <writeable>true</writeable>
          </field>
          <field>
            <name>recordingDuration</name>
            <type>java.lang.Long</type>
            <readable>true</readable>
            <writeable>true</writeable>
          </field>
          <field>
            <name>recordingEmail</name>
            <type>java.lang.String</type>
            <readable>true</readable>
            <writeable>true</writeable>
          </field>
          <field>
            <name>reference</name>
            <type>java.lang.String</type>
            <readable>true</readable>
            <writeable>false</writeable>
          </field>
          <field>
            <name>siteId</name>
            <type>java.lang.String</type>
            <readable>true</readable>
            <writeable>true</writeable>
          </field>
          <field>
            <name>startDate</name>
            <type>java.util.Date</type>
            <readable>true</readable>
            <writeable>true</writeable>
          </field>
          <field>
            <name>url</name>
            <type>java.lang.String</type>
            <readable>true</readable>
            <writeable>false</writeable>
          </field>
          <field>
            <name>voiceBridge</name>
            <type>java.lang.Integer</type>
            <readable>true</readable>
            <writeable>true</writeable>
          </field>
          <field>
            <name>waitForModerator</name>
            <type>java.lang.Boolean</type>
            <readable>true</readable>
            <writeable>true</writeable>
          </field>
          <field>
            <name>welcomeMessage</name>
            <type>java.lang.String</type>
            <readable>false</readable>
            <writeable>true</writeable>
          </field>
        </fields>
      </entityClass>
      <capabilities>
        <capability>
          <name>CoreEntityProvider</name>
          <type>org.sakaiproject.entitybroker.entityprovider.CoreEntityProvider</type>
        </capability>
        <capability>
          <name>EntityProvider</name>
          <type>org.sakaiproject.entitybroker.entityprovider.EntityProvider</type>
        </capability>
        <capability>
          <name>ActionsExecutable</name>
          <type>org.sakaiproject.entitybroker.entityprovider.capabilities.ActionsExecutable</type>
        </capability>
        <capability>
          <name>AutoRegisterEntityProvider</name>
          <type>org.sakaiproject.entitybroker.entityprovider.capabilities.AutoRegisterEntityProvider</type>
        </capability>
        <capability>
          <name>CollectionResolvable</name>
          <type>org.sakaiproject.entitybroker.entityprovider.capabilities.CollectionResolvable</type>
        </capability>
        <capability>
          <name>Createable</name>
          <type>org.sakaiproject.entitybroker.entityprovider.capabilities.Createable</type>
        </capability>
        <capability>
          <name>Deleteable</name>
          <type>org.sakaiproject.entitybroker.entityprovider.capabilities.Deleteable</type>
        </capability>
        <capability>
          <name>Describeable</name>
          <type>org.sakaiproject.entitybroker.entityprovider.capabilities.Describeable</type>
        </capability>
        <capability>
          <name>Inputable</name>
          <type>org.sakaiproject.entitybroker.entityprovider.capabilities.Inputable</type>
        </capability>
        <capability>
          <name>Outputable</name>
          <type>org.sakaiproject.entitybroker.entityprovider.capabilities.Outputable</type>
        </capability>
        <capability>
          <name>Resolvable</name>
          <type>org.sakaiproject.entitybroker.entityprovider.capabilities.Resolvable</type>
        </capability>
        <capability>
          <name>Sampleable</name>
          <type>org.sakaiproject.entitybroker.entityprovider.capabilities.Sampleable</type>
        </capability>
        <capability>
          <name>Statisticable</name>
          <type>org.sakaiproject.entitybroker.entityprovider.capabilities.Statisticable</type>
        </capability>
        <capability>
          <name>Updateable</name>
          <type>org.sakaiproject.entitybroker.entityprovider.capabilities.Updateable</type>
        </capability>
      </capabilities>
    </prefix>
