/** * The applicable media types for this resource. * * @return The applicable media types for this resource. */ public List<ResourceMethodMediaType> getApplicableMediaTypes() { HashMap<String, ResourceMethodMediaType> applicableTypes = new HashMap<String, ResourceMethodMediaType>(); for (String consumesMime : getConsumesMime()) { String type; try { type = MimeType.parse(consumesMime).toString(); } catch (Exception e) { type = consumesMime; } ResourceMethodMediaType supportedType = applicableTypes.get(type); if (supportedType == null) { supportedType = new ResourceMethodMediaType(); supportedType.setType(type); applicableTypes.put(type, supportedType); } supportedType.setConsumable(true); } for (String producesMime : getProducesMime()) { String type; try { type = MimeType.parse(producesMime).toString(); } catch (Exception e) { type = producesMime; } ResourceMethodMediaType supportedType = applicableTypes.get(type); if (supportedType == null) { supportedType = new ResourceMethodMediaType(); supportedType.setType(type); applicableTypes.put(type, supportedType); } supportedType.setProduceable(true); } return new ArrayList<ResourceMethodMediaType>(applicableTypes.values()); }