// ************* Restricted content mix-in ***************
private static PropDef[] getRestrictedContentPropertyDefs() throws InvalidConstraintException {
//Read
PropDefImpl readGroupsRefsProp = new PropDefImpl();
readGroupsRefsProp.setAutoCreated(false);
readGroupsRefsProp.setDeclaringNodeType(new QName(NAMESPACE, ContentDao.NAME));
readGroupsRefsProp.setDefaultValues(InternalValue.EMPTY_ARRAY);
readGroupsRefsProp.setMandatory(false);
readGroupsRefsProp.setMultiple(true);
readGroupsRefsProp.setName(new QName(NAMESPACE, ContentDao.READ_GROUPS_PROPERTY));
readGroupsRefsProp.setOnParentVersion(OnParentVersionAction.COPY); //Same as VERSION
readGroupsRefsProp.setProtected(false);
readGroupsRefsProp.setRequiredType(PropertyType.REFERENCE);
ValueConstraint[] readGroupsRefsConstraints = new ValueConstraint[] {
ValueConstraint.create(PropertyType.REFERENCE, PREFIX + GroupDao.NAME, namespaceResolver)
};
readGroupsRefsProp.setValueConstraints(readGroupsRefsConstraints);
PropDefImpl readUsersRefsProp = new PropDefImpl();
readUsersRefsProp.setAutoCreated(false);
readUsersRefsProp.setDeclaringNodeType(new QName(NAMESPACE, ContentDao.NAME));
readUsersRefsProp.setDefaultValues(InternalValue.EMPTY_ARRAY);
readUsersRefsProp.setMandatory(false);
readUsersRefsProp.setMultiple(true);
readUsersRefsProp.setName(new QName(NAMESPACE, ContentDao.READ_USERS_PROPERTY));
readUsersRefsProp.setOnParentVersion(OnParentVersionAction.COPY); //Same as VERSION
readUsersRefsProp.setProtected(false);
readUsersRefsProp.setRequiredType(PropertyType.STRING);
readUsersRefsProp.setValueConstraints(ValueConstraint.EMPTY_ARRAY);
//Write
PropDefImpl writeGroupsRefsProp = new PropDefImpl();
writeGroupsRefsProp.setAutoCreated(false);
writeGroupsRefsProp.setDeclaringNodeType(new QName(NAMESPACE, ContentDao.NAME));
writeGroupsRefsProp.setDefaultValues(InternalValue.EMPTY_ARRAY);
writeGroupsRefsProp.setMandatory(false);
writeGroupsRefsProp.setMultiple(true);
writeGroupsRefsProp.setName(new QName(NAMESPACE, ContentDao.WRITE_GROUPS_PROPERTY));
writeGroupsRefsProp.setOnParentVersion(OnParentVersionAction.COPY); //Same as VERSION
writeGroupsRefsProp.setProtected(false);
writeGroupsRefsProp.setRequiredType(PropertyType.REFERENCE);
ValueConstraint[] writeGroupsRefsConstraints = new ValueConstraint[] {
ValueConstraint.create(PropertyType.REFERENCE, PREFIX + GroupDao.NAME, namespaceResolver)
};
writeGroupsRefsProp.setValueConstraints(writeGroupsRefsConstraints);
PropDefImpl writeUsersRefsProp = new PropDefImpl();
writeUsersRefsProp.setAutoCreated(false);
writeUsersRefsProp.setDeclaringNodeType(new QName(NAMESPACE, ContentDao.NAME));
writeUsersRefsProp.setDefaultValues(InternalValue.EMPTY_ARRAY);
writeUsersRefsProp.setMandatory(false);
writeUsersRefsProp.setMultiple(true);
writeUsersRefsProp.setName(new QName(NAMESPACE, ContentDao.WRITE_USERS_PROPERTY));
writeUsersRefsProp.setOnParentVersion(OnParentVersionAction.COPY); //Same as VERSION
writeUsersRefsProp.setProtected(false);
writeUsersRefsProp.setRequiredType(PropertyType.STRING);
writeUsersRefsProp.setValueConstraints(ValueConstraint.EMPTY_ARRAY);
//Remove
PropDefImpl removeGroupsRefsProp = new PropDefImpl();
removeGroupsRefsProp.setAutoCreated(false);
removeGroupsRefsProp.setDeclaringNodeType(new QName(NAMESPACE, ContentDao.NAME));
removeGroupsRefsProp.setDefaultValues(InternalValue.EMPTY_ARRAY);
removeGroupsRefsProp.setMandatory(false);
removeGroupsRefsProp.setMultiple(true);
removeGroupsRefsProp.setName(new QName(NAMESPACE, ContentDao.REMOVE_GROUPS_PROPERTY));
removeGroupsRefsProp.setOnParentVersion(OnParentVersionAction.COPY); //Same as VERSION
removeGroupsRefsProp.setProtected(false);
removeGroupsRefsProp.setRequiredType(PropertyType.REFERENCE);
ValueConstraint[] removeGroupsRefsConstraints = new ValueConstraint[] {
ValueConstraint.create(PropertyType.REFERENCE, PREFIX + GroupDao.NAME, namespaceResolver)
};
removeGroupsRefsProp.setValueConstraints(removeGroupsRefsConstraints);
PropDefImpl removeUsersRefsProp = new PropDefImpl();
removeUsersRefsProp.setAutoCreated(false);
removeUsersRefsProp.setDeclaringNodeType(new QName(NAMESPACE, ContentDao.NAME));
removeUsersRefsProp.setDefaultValues(InternalValue.EMPTY_ARRAY);
removeUsersRefsProp.setMandatory(false);
removeUsersRefsProp.setMultiple(true);
removeUsersRefsProp.setName(new QName(NAMESPACE, ContentDao.REMOVE_USERS_PROPERTY));
removeUsersRefsProp.setOnParentVersion(OnParentVersionAction.COPY); //Same as VERSION
removeUsersRefsProp.setProtected(false);
removeUsersRefsProp.setRequiredType(PropertyType.STRING);
removeUsersRefsProp.setValueConstraints(ValueConstraint.EMPTY_ARRAY);
//Owner
PropDefImpl ownerGroupsRefsProp = new PropDefImpl();
ownerGroupsRefsProp.setAutoCreated(false);
ownerGroupsRefsProp.setDeclaringNodeType(new QName(NAMESPACE, ContentDao.NAME));
ownerGroupsRefsProp.setDefaultValues(InternalValue.EMPTY_ARRAY);
ownerGroupsRefsProp.setMandatory(false);
ownerGroupsRefsProp.setMultiple(true);
ownerGroupsRefsProp.setName(new QName(NAMESPACE, ContentDao.OWNER_GROUPS_PROPERTY));
ownerGroupsRefsProp.setOnParentVersion(OnParentVersionAction.COPY); //Same as VERSION
ownerGroupsRefsProp.setProtected(false);
ownerGroupsRefsProp.setRequiredType(PropertyType.REFERENCE);
ValueConstraint[] ownerGroupsRefsConstraints = new ValueConstraint[] {
ValueConstraint.create(PropertyType.REFERENCE, PREFIX + GroupDao.NAME, namespaceResolver)
};
ownerGroupsRefsProp.setValueConstraints(ownerGroupsRefsConstraints);
PropDefImpl ownerUsersRefsProp = new PropDefImpl();
ownerUsersRefsProp.setAutoCreated(false);
ownerUsersRefsProp.setDeclaringNodeType(new QName(NAMESPACE, ContentDao.NAME));
ownerUsersRefsProp.setDefaultValues(InternalValue.EMPTY_ARRAY);
ownerUsersRefsProp.setMandatory(false);
ownerUsersRefsProp.setMultiple(true);
ownerUsersRefsProp.setName(new QName(NAMESPACE, ContentDao.OWNER_USERS_PROPERTY));
ownerUsersRefsProp.setOnParentVersion(OnParentVersionAction.COPY); //Same as VERSION
ownerUsersRefsProp.setProtected(false);
ownerUsersRefsProp.setRequiredType(PropertyType.STRING);
ownerUsersRefsProp.setValueConstraints(ValueConstraint.EMPTY_ARRAY);
PropDefImpl restrictChildrenProp = new PropDefImpl();
restrictChildrenProp.setAutoCreated(true);
restrictChildrenProp.setDeclaringNodeType(new QName(NAMESPACE, ContentDao.NAME));
restrictChildrenProp.setDefaultValues(new InternalValue[]{InternalValue.create(false)});
restrictChildrenProp.setMandatory(true);
restrictChildrenProp.setMultiple(false);
restrictChildrenProp.setName(new QName(NAMESPACE, ContentDao.RESTRICT_CHILDREN_PROPERTY));
restrictChildrenProp.setOnParentVersion(OnParentVersionAction.COPY); //Same as VERSION
restrictChildrenProp.setProtected(false);
restrictChildrenProp.setRequiredType(PropertyType.BOOLEAN);
restrictChildrenProp.setValueConstraints(ValueConstraint.EMPTY_ARRAY);
return new PropDef[]{readGroupsRefsProp, readUsersRefsProp, writeGroupsRefsProp, writeUsersRefsProp, removeGroupsRefsProp, removeUsersRefsProp, ownerGroupsRefsProp, ownerUsersRefsProp, restrictChildrenProp};
}