blob: 228f4013e00c2ce48d61c059df5f99251f62da24 [file] [log] [blame]
<?xml version="1.0"?>
<model jpox.table-prefix="SECURITY_" jpox.reserved-word-strictness="error">
<id>rbac-jdo</id>
<name>RbacJdoModel</name>
<version>1.0.1</version>
<defaults>
<default>
<key>package</key>
<value>org.codehaus.plexus.security.authorization.rbac.jdo</value>
</default>
</defaults>
<classes>
<class rootElement="true"
stash.storable="false">
<name>RbacDatabase</name>
<version>1.0.1+</version>
<fields>
<field>
<name>roles</name>
<version>1.0.1+</version>
<association>
<type>JdoRole</type>
<multiplicity>*</multiplicity>
</association>
</field>
<field>
<name>userAssignments</name>
<version>1.0.1+</version>
<association>
<type>JdoUserAssignment</type>
<multiplicity>*</multiplicity>
</association>
</field>
</fields>
</class>
<class stash.storable="true"
jpox.table="ROLES"
jpox.not-persisted-fields="modelEncoding">
<name>JdoRole</name>
<version>1.0.0+</version>
<fields>
<field jpox.primary-key="true" jpox.value-strategy="off">
<name>name</name>
<version>1.0.0+</version>
<type>String</type>
<identifier>true</identifier>
</field>
<field>
<name>description</name>
<version>1.0.0+</version>
<type>String</type>
</field>
<field>
<name>assignable</name>
<version>1.0.0+</version>
<type>boolean</type>
<description>
true if this role is available to be assigned to a user
</description>
</field>
<field>
<name>permanent</name>
<version>1.0.0+</version>
<type>boolean</type>
<description>
true if this object is permanent.
</description>
</field>
<field jpox.persistence-modifier="persistent"
jpox.fetchGroupNames="role-child-detail"
jpox.join-table="ROLE_CHILDROLE_MAP">
<name>childRoleNames</name>
<version>1.0.0+</version>
<association stash.part="true"
jpox.join="true"
java.init="field"
jpox.dependent="false"
java.generate-break="false"
java.generate-create="false">
<type>String</type>
<multiplicity>*</multiplicity>
</association>
<description>
roles that will inherit the permissions of this role
</description>
</field>
<field jpox.fetchGroupNames="role-child-detail"
jpox.join-table="ROLE_PERMISSION_MAP">
<name>permissions</name>
<version>1.0.0+</version>
<association stash.part="true"
jpox.join="true"
jpox.dependent="false"
java.init="field"
java.generate-break="false"
java.generate-create="false">
<type>JdoPermission</type>
<multiplicity>*</multiplicity>
</association>
</field>
</fields>
</class>
<class stash.storable="true"
jpox.table="PERMISSIONS"
jpox.not-persisted-fields="modelEncoding"
jpox.column-prefix="PERMISSION_">
<name>JdoPermission</name>
<version>1.0.0+</version>
<fields>
<field jpox.primary-key="true" jpox.value-strategy="off">
<name>name</name>
<version>1.0.0+</version>
<type>String</type>
<identifier>true</identifier>
</field>
<field>
<name>description</name>
<version>1.0.0+</version>
<type>String</type>
</field>
<field>
<name>permanent</name>
<version>1.0.0+</version>
<type>boolean</type>
<description>
true if this object is permanent.
</description>
</field>
<field jpox.indexed="true">
<name>operation</name>
<version>1.0.0+</version>
<association stash.part="true"
jpox.dependent="false">
<type>JdoOperation</type>
<multiplicity>1</multiplicity>
</association>
</field>
<field jpox.indexed="true">
<name>resource</name>
<version>1.0.0+</version>
<association stash.part="true"
jpox.dependent="false">
<type>JdoResource</type>
<multiplicity>1</multiplicity>
</association>
</field>
</fields>
</class>
<class stash.storable="true"
jpox.table="OPERATIONS"
jpox.column-prefix="OPERATION_"
jpox.not-persisted-fields="modelEncoding">
<name>JdoOperation</name>
<version>1.0.0+</version>
<fields>
<field jpox.primary-key="true" jpox.value-strategy="off" jpox.column="NAME">
<name>name</name>
<version>1.0.0+</version>
<type>String</type>
<identifier>true</identifier>
</field>
<field>
<name>description</name>
<version>1.0.0+</version>
<type>String</type>
</field>
<field>
<name>permanent</name>
<version>1.0.0+</version>
<type>boolean</type>
<description>
true if this object is permanent.
</description>
</field>
<field>
<name>resourceRequired</name>
<version>1.0.0+</version>
<type>boolean</type>
<description>
true if the resource is required for authorization to be granted
</description>
</field>
</fields>
</class>
<class stash.storable="true"
jpox.table="RESOURCES"
jpox.not-persisted-fields="modelEncoding">
<name>JdoResource</name>
<version>1.0.0+</version>
<description>
In RBAC terms, this is the entity which an operation is associated with that which permissions are based on.
</description>
<fields>
<field jpox.primary-key="true" jpox.value-strategy="off">
<name>identifier</name>
<version>1.0.0+</version>
<type>String</type>
<description>
The string identifier for an operation.
</description>
<identifier>true</identifier>
</field>
<field>
<name>pattern</name>
<version>1.0.0+</version>
<type>boolean</type>
<description>
true if the identifer is a pattern that is to be evaluated, for example x.* could match x.a or x.b and x.**
could match x.foo
</description>
</field>
<field>
<name>permanent</name>
<version>1.0.0+</version>
<type>boolean</type>
<description>
true if this object is permanent.
</description>
</field>
</fields>
</class>
<class stash.storable="true"
jpox.table="USER_ASSIGNMENTS"
jpox.not-persisted-fields="modelEncoding">
<name>JdoUserAssignment</name>
<description>binding of a principal to a role</description>
<version>1.0.0+</version>
<fields>
<field jpox.primary-key="true" jpox.value-strategy="off">
<name>principal</name>
<version>1.0.0+</version>
<type>String</type>
<identifier>true</identifier>
</field>
<field jpox.column="CREATED_ON">
<name>timestamp</name>
<version>1.0.0+</version>
<type>Date</type>
</field>
<field>
<name>permanent</name>
<version>1.0.0+</version>
<type>boolean</type>
<description>
true if this object is permanent.
</description>
</field>
<field java.adder="false"
jpox.persistence-modifier="persistent"
jpox.indexed="true"
jpox.join-table="USERASSIGNMENT_ROLENAMES">
<name>roleNames</name>
<version>1.0.0+</version>
<association stash.part="true"
jpox.join="true"
java.init="field"
java.generate-break="false"
java.generate-create="false">
<type>String</type>
<multiplicity>*</multiplicity>
</association>
</field>
</fields>
</class>
</classes>
</model>