org.fourthline.cling.support.model.dlna
Class DLNAAttribute<T>

java.lang.Object
  extended by org.fourthline.cling.support.model.dlna.DLNAAttribute<T>
Direct Known Subclasses:
DLNAConversionIndicatorAttribute, DLNAFlagsAttribute, DLNAOperationsAttribute, DLNAPlaySpeedAttribute, DLNAProfileAttribute

public abstract class DLNAAttribute<T>
extends Object

Transforms known and standardized DLNA attributes from/to string representation.

The newInstance(org.fourthline.cling.support.model.dlna.DLNAAttribute.Type, String, String) method attempts to instantiate the best header subtype for a given header (name) and string value.

Author:
Christian Bauer, Mario Franco

Nested Class Summary
static class DLNAAttribute.Type
          Maps a standardized DLNA attribute to potential attribute subtypes.
 
Constructor Summary
DLNAAttribute()
           
 
Method Summary
abstract  String getString()
           
 T getValue()
           
static DLNAAttribute newInstance(DLNAAttribute.Type type, String attributeValue, String contentFormat)
          Create a new instance of a DLNAAttribute subtype that matches the given type and value.
abstract  void setString(String s, String cf)
           
 void setValue(T value)
           
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

DLNAAttribute

public DLNAAttribute()
Method Detail

setValue

public void setValue(T value)

getValue

public T getValue()

setString

public abstract void setString(String s,
                               String cf)
                        throws InvalidDLNAProtocolAttributeException
Parameters:
s - This attribute's value as a string representation.
cf - This attribute's mime type as a string representation, optional.
Throws:
InvalidDLNAProtocolAttributeException - If the value is invalid for this DLNA attribute.

getString

public abstract String getString()
Returns:
A string representing this attribute's value.

newInstance

public static DLNAAttribute newInstance(DLNAAttribute.Type type,
                                        String attributeValue,
                                        String contentFormat)
Create a new instance of a DLNAAttribute subtype that matches the given type and value.

This method iterates through all potential attribute subtype classes as declared in DLNAAttribute.Type. It creates a new instance of the subtype class and calls its setString(String, String) method. If no InvalidDLNAProtocolAttributeException is thrown, the subtype instance is returned.

Parameters:
type - The type of the attribute.
attributeValue - The value of the attribute.
contentFormat - The DLNA mime type of the attribute, optional.
Returns:
The best matching attribute subtype instance, or null if no subtype can be found.

toString

public String toString()
Overrides:
toString in class Object


Copyright © 2013 4th Line GmbH, Switzerland. All Rights Reserved.