package org.openstack.atlas.api.filters.helpers; import java.util.ArrayList; import java.util.Collections; import java.util.List; public class AcceptTypes { private List<AcceptType> acceptTypeList = new ArrayList<AcceptType>(); public List<AcceptType> getAcceptTypeList() { return acceptTypeList; } public void setAcceptTypeList(List<AcceptType> acceptTypeList) { this.acceptTypeList = acceptTypeList; } public static AcceptTypes getPrefferedAcceptTypes(String strIn) { AcceptTypes out = new AcceptTypes(); AcceptType acceptType; int i; String[] vals; if(strIn == null) { return out; } vals = strIn.split(","); for (i = 0; i < vals.length; i++) { acceptType = AcceptType.newInstance(vals[i].trim()); if (acceptType != null) { out.getAcceptTypeList().add(acceptType); } } Collections.sort(out.getAcceptTypeList()); return out; } public String mediaTypesToString() { StringBuilder sb = new StringBuilder(); if (this.acceptTypeList == null) { return null; } for(AcceptType at:acceptTypeList) { sb.append(String.format("%s\n",at.toString())); } return sb.toString(); } public String findSuitableMediaType(String ... mediaChoices) { for(AcceptType requested : acceptTypeList) { for(String choice : mediaChoices) { if(AcceptType.isAcceptableMedia(requested, AcceptType.newInstance(choice))) { return choice; } } } return null; } }