in modules/print/src/main/java/common/org/apache/harmony/x/print/ipp/util/IppAttributeUtils.java [64:139]
public static Object getIppValue(Attribute attr, byte ippvtag) {
Object o = null;
switch (ippvtag) {
// integer values for the "value-tag" field.
case IppAttribute.TAG_BOOLEAN:
case IppAttribute.TAG_INTEGER:
case IppAttribute.TAG_ENUM:
if (attr instanceof IntegerSyntax) {
o = new Integer(((IntegerSyntax) attr).getValue());
} else if (attr instanceof EnumSyntax) {
o = new Integer(((EnumSyntax) attr).getValue());
} else if (attr instanceof DateTimeSyntax
|| attr instanceof ResolutionSyntax
|| attr instanceof SetOfIntegerSyntax
|| attr instanceof Size2DSyntax
|| attr instanceof TextSyntax || attr instanceof URISyntax) {
// TODO - process other attr's types
}
break;
// octetString values for the "value-tag" field.
case IppAttribute.TAG_DATETIME:
case IppAttribute.TAG_RESOLUTION:
case IppAttribute.TAG_RANGEOFINTEGER:
case IppAttribute.TAG_OCTETSTRINGUNSPECIFIEDFORMAT:
case IppAttribute.TAG_TEXTWITHLANGUAGE:
case IppAttribute.TAG_NAMEWITHLANGUAGE:
if (attr instanceof IntegerSyntax) {
// TODO - it seems that this needs to be fixed
o = new Integer(((IntegerSyntax) attr).toString());
} else if (attr instanceof EnumSyntax) {
// TODO - it seems that this needs to be fixed
o = new Integer(((EnumSyntax) attr).toString());
} else if (attr instanceof DateTimeSyntax
|| attr instanceof ResolutionSyntax
|| attr instanceof SetOfIntegerSyntax
|| attr instanceof Size2DSyntax) {
// TODO - process other attr's types
} else if (attr instanceof TextSyntax) {
// TODO - it seems that this needs to be fixed
o = new Integer(((TextSyntax) attr).toString());
} else if (attr instanceof URISyntax) {
// TODO - it seems that this needs to be fixed
o = new Integer(((URISyntax) attr).toString());
}
break;
// character-string values for the "value-tag" field
case IppAttribute.TAG_TEXTWITHOUTLANGUAGE:
case IppAttribute.TAG_NAMEWITHOUTLANGUAGE:
case IppAttribute.TAG_KEYWORD:
case IppAttribute.TAG_URI:
case IppAttribute.TAG_URISCHEME:
case IppAttribute.TAG_CHARSET:
case IppAttribute.TAG_NATURAL_LANGUAGE:
case IppAttribute.TAG_MIMEMEDIATYPE:
if (attr instanceof IntegerSyntax) {
o = ((IntegerSyntax) attr).toString();
} else if (attr instanceof EnumSyntax) {
o = ((EnumSyntax) attr).toString();
} else if (attr instanceof DateTimeSyntax
|| attr instanceof ResolutionSyntax
|| attr instanceof SetOfIntegerSyntax
|| attr instanceof Size2DSyntax) {
// TODO - process other attr's types
} else if (attr instanceof TextSyntax) {
o = ((TextSyntax) attr).toString();
} else if (attr instanceof URISyntax) {
o = ((URISyntax) attr).toString();
}
break;
default:
break;
}
return o;
}