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

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

public class SegmentFactory
extends java.lang.Object

To create Segments we strongly encourage to use this class. It will enable the creation of a Segment having an URI compliant with the WebLabRI recommendations.
Since an Segment hasn't any sense without being attached to a MediaUnit, we only provide a method for creating Segment s that takes a MediaUnit in parameter. As a result, the created Segment (an instance of the Segment class in parameter) is added to the Segment List of the MediaUnit.

Author:
Cassidian WebLab Team
Date:
2008-01-18

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, Resource parent, Resource root)
           
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 LinearSegment createAndLinkLinearSegment(Text text, int start, int end)
          Look in text if a LinearSegment already exists at start and end.
static
<T extends Segment>
T
createAndLinkSegment(MediaUnit mediaUnit, java.lang.Class<T> segClass)
          Automatically set a valid WebLabRI to the created Segment using the MediaUnit to generate an unique id.
protected static java.lang.String createUniqueURIFrom(Resource resource, boolean isChild, boolean isAnnotation)
           
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> listUri(Resource resource)
          List uris in the resource
protected static java.util.Set<java.lang.String> listUri(Resource resource, boolean force)
           
protected static void removeChild(MediaUnit mu, Resource parent, Resource root)
           
 
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

createAndLinkLinearSegment

public static final LinearSegment createAndLinkLinearSegment(Text text,
                                                             int start,
                                                             int end)
Look in text if a LinearSegment already exists at start and end. If it's the case, returns it. Otherwise, it creates a LinearSegment using createAndLinkSegment(MediaUnit, Class) method, and setting the start and end.

Parameters:
text - The Text containing the Segment
start - char index of the Segment start
end - char index of the Segment end
Returns:
Either a newly created LinearSegment or the existing one at the same position in the Text.

createAndLinkSegment

public static final <T extends Segment> T createAndLinkSegment(MediaUnit mediaUnit,
                                                               java.lang.Class<T> segClass)
Automatically set a valid WebLabRI to the created Segment using the MediaUnit to generate an unique id. Created Segment will be added to the MediaUnit.

Type Parameters:
T - The subclass of Segment to be created
Parameters:
mediaUnit - the MediaUnit that will contains the created Segment
segClass - The class of the Segment to be created
Returns:
a new instance of segClass with a valid WebLabRI and added to the MediaUnit

cleanMapping

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

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(Resource resource,
                                                         boolean force)

createUniqueURIFrom

protected static java.lang.String createUniqueURIFrom(Resource resource,
                                                      boolean isChild,
                                                      boolean isAnnotation)

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

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

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-2010. All Rights Reserved.