org.ow2.weblab.core.extended.factory
Class LowLevelDescriptorFactory

java.lang.Object
  extended by org.ow2.weblab.core.extended.factory.LowLevelDescriptorFactory

public class LowLevelDescriptorFactory
extends java.lang.Object

This class will provide an easy and strongly recommended way to create LowLevelDescriptors.it will enable the creation of a LowLevelDescriptor having an URI compliant with the WebLabRI recommendations.
Since an LowLevelDescriptor hasn't any sense without being attached to a Resource, we only provide a method for creating LowLevelDescriptors that takes a Resource in parameter. As a result, the created LowLevelDescriptor is added to the LowLevelDescriptor List of the Resource.

Author:
Cassidian WebLab Team
Date:
2008-04-11

Field Summary
protected static java.util.Map<java.lang.String,java.util.Set<java.lang.String>> innerMap
          This data structure is not well adapted to manage WebLab Resource
 
Method Summary
protected static void addAnnotation(Annotation annotation, Resource resource, Resource root)
           
protected static void addChild(MediaUnit mu, Document parent)
           
protected static void addChild(MediaUnit mu, Resource parent, Resource root)
          Deprecated. since model 1.2, no need to separates root and parent. replaced by addChild(final MediaUnit mu, final Document parent)
protected static void addDescriptor(LowLevelDescriptor descriptor, Resource parent, Resource root)
           
protected static void addSegment(Segment segment, MediaUnit parent, Resource root)
           
protected static void cleanMapping(java.lang.String uri)
           
static LowLevelDescriptor createAndLinkLowLevelDescriptor(Resource res)
          Method that should create and link a LowLevelDescriptor from/to a Resource.
protected static java.lang.String createSegmentURIFor(java.lang.Object segmentContainer)
           
protected static java.lang.String createUniqueURIFrom(Resource resource, boolean isChild, boolean isAnnotation)
          Create a URI checking it does not already exist in the resource.
protected static java.lang.String createUniqueURIin(java.util.Set<java.lang.String> uris, boolean isChild, boolean isAnnotation, java.lang.String parentUri)
           
protected static Resource findParent(MediaUnit mu, Resource resource)
           
protected static java.lang.String getUniqueWebLabRIFrom(Resource res, boolean isChild, boolean isAnnotation)
           
protected static java.util.Set<java.lang.String> getUris(java.lang.String key)
           
protected static java.util.Set<java.lang.String> listUri(Resource resource)
          List uris in the resource
protected static java.util.Set<java.lang.String> listUri(Resource resource, boolean force)
          Lists all URI in a resource and its subresources.
protected static java.util.Set<java.lang.String> listUri(Segment segment)
          Lists all URI in a segment and its subsegments.
protected static void removeChild(MediaUnit mu, Resource parent, Resource root)
           
protected static void setUris(java.lang.String key, java.util.Set<java.lang.String> uris)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

innerMap

protected static final java.util.Map<java.lang.String,java.util.Set<java.lang.String>> innerMap
This data structure is not well adapted to manage WebLab Resource

Method Detail

createAndLinkLowLevelDescriptor

public static final LowLevelDescriptor createAndLinkLowLevelDescriptor(Resource res)
Method that should create and link a LowLevelDescriptor from/to a Resource. Automatically set a valid WebLabRI to the created LowLevelDescriptor using the Resource in parameter to generate an unique id. Created LowLevelDescriptor will be added to resource.

Parameters:
res - The Resource to be described by the LowLevelDescriptor.
Returns:
The LowLevelDescriptor describing res.

cleanMapping

protected static void cleanMapping(java.lang.String uri)

getUris

protected static java.util.Set<java.lang.String> getUris(java.lang.String key)

setUris

protected static void setUris(java.lang.String key,
                              java.util.Set<java.lang.String> uris)

listUri

protected static java.util.Set<java.lang.String> listUri(Resource resource)
List uris in the resource

Parameters:
resource - a resource
Returns:
a set of uri in this resource

listUri

protected static java.util.Set<java.lang.String> listUri(Segment segment)
Lists all URI in a segment and its subsegments.

Parameters:
segment - a segment

listUri

protected static java.util.Set<java.lang.String> listUri(Resource resource,
                                                         boolean force)
Lists all URI in a resource and its subresources.

Parameters:
resource - a resource
force - if false URI in this resource will not be listed if the resource have already been processed, else they will not matter what.
Returns:
a list of all URI in this resource the last time this resource was processed
WARNING:
this function does not support cyclic resources (a resource that contains itself) if force is true

createSegmentURIFor

protected static java.lang.String createSegmentURIFor(java.lang.Object segmentContainer)

createUniqueURIFrom

protected static java.lang.String createUniqueURIFrom(Resource resource,
                                                      boolean isChild,
                                                      boolean isAnnotation)
Create a URI checking it does not already exist in the resource.

Parameters:
resource - a top container resource
isChild - if true, the uri will describe a child or subchild of this resource
isAnnotation - if true, the uri will describe a annotation on this resource
Returns:
an URI unique among all URI in the resource and its sub resources

createUniqueURIin

protected static java.lang.String createUniqueURIin(java.util.Set<java.lang.String> uris,
                                                    boolean isChild,
                                                    boolean isAnnotation,
                                                    java.lang.String parentUri)

removeChild

protected static void removeChild(MediaUnit mu,
                                  Resource parent,
                                  Resource root)

addAnnotation

protected static void addAnnotation(Annotation annotation,
                                    Resource resource,
                                    Resource root)

addSegment

protected static void addSegment(Segment segment,
                                 MediaUnit parent,
                                 Resource root)

addDescriptor

protected static void addDescriptor(LowLevelDescriptor descriptor,
                                    Resource parent,
                                    Resource root)

addChild

@Deprecated
protected static void addChild(MediaUnit mu,
                                          Resource parent,
                                          Resource root)
Deprecated. since model 1.2, no need to separates root and parent. replaced by addChild(final MediaUnit mu, final Document parent)


addChild

protected static void addChild(MediaUnit mu,
                               Document parent)

findParent

protected static Resource findParent(MediaUnit mu,
                                     Resource resource)

getUniqueWebLabRIFrom

protected static final java.lang.String getUniqueWebLabRIFrom(Resource res,
                                                              boolean isChild,
                                                              boolean isAnnotation)
Parameters:
res - The Resource to be used to create WebLabRI
Returns:
The String to be used as URI by the MediaUnit created


Copyright © 2004-2011 WebLab Project. All Rights Reserved.