Hi Niro
Unfortunately we don't have a special documentation for that.
The best documentation you can find is the javadoc inside the classes and the XACML 2.0 specification itself.
With the javadoc, the spec and your knowledge about your specific XACML request structure you should be able to create the RequestType.
Simply imagine how it would look like in XML. You'll find the according classes in the package org.herasaf.xacml.core.context.impl and org.herasaf.xacml.core.dataTypeAttribute.impl.
In example XML Request should look like this:
<?xml version="1.0" encoding="UTF-8"?>
<Request xmlns="urn:oasis:names:tc:xacml:2.0:context:schema:os"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="urn:oasis:names:tc:xacml:2.0:context:schema:os
http://docs.oasis-open.org/xacml/access_control-xacml-2.0-context-schema-os.xsd">
<Subject>
<Attribute AttributeId="urn:oasis:names:tc:xacml:2.0:subject:subject-id"
DataType="http://www.w3.org/2001/XMLSchema#string">
<AttributeValue>niro</AttributeValue>
</Attribute>
</Subject>
<Resource/>
<Action/>
<Environment/>
</Request>
You would then code like this (PseudoCode):
// create the Attribute Value
AttributeValueType myValue = new AttributeValueType();
myValue.getContent.add(new String("niro");
// create the DataType
StringDataTypeAttribute stringDataType = new StringDataTypeAttribute();
// create the Attribute
AttributeType myAttribute = new AttributeType();
myAttribute.setAttributeId("urn:oasis:names:tc:xacml:2.0:subject:subject-id");
myAttribute.setDatatype(stringDataType);
stringDataType.getAttributeValues().add(myValue);
// create the subjects part
SubjectType mySubject = new SubjectType();
subject.getAttributes().add(myAttribute);
// create the Request
RequestType myRequest = new RequestType();
myRequest.getSubjects().add(mySubject);
Like Florian already posted before. It is a little bit uncomfortable to "hangle" through all the collections with "get().add(...)", but at the moment we don't have a convinience API making it easier.
Maybe if your request mostly use the same structure and IDs, then you could write a small helper class (convinience API) for yourself.
Hope that gives you a better idea.
Regards,
René