1 16 package org.outerj.daisy.repository.commonimpl; 17 18 import org.outerj.daisy.repository.AvailableVariants; 19 import org.outerj.daisy.repository.AvailableVariant; 20 import org.outerj.daisy.repository.RepositoryException; 21 import org.outerx.daisy.x10.AvailableVariantsDocument; 22 import org.outerx.daisy.x10.AvailableVariantDocument; 23 24 public class AvailableVariantsImpl implements AvailableVariants { 25 private final AvailableVariant[] availableVariants; 26 27 public AvailableVariantsImpl(AvailableVariant[] availableVariants) { 28 this.availableVariants = availableVariants; 29 } 30 31 public AvailableVariant[] getArray() { 32 return availableVariants; 33 } 34 35 public int size() { 36 return availableVariants.length; 37 } 38 39 public boolean hasVariant(long branchId, long languageId) { 40 for (int i = 0; i < availableVariants.length; i++) { 41 if (availableVariants[i].getBranchId() == branchId && availableVariants[i].getLanguageId() == languageId) { 42 return true; 43 } 44 } 45 return false; 46 } 47 48 public AvailableVariantsDocument getXml() { 49 try { 50 return getXml(false); 51 } catch (RepositoryException e) { 52 throw new RuntimeException (e); 54 } 55 } 56 57 public AvailableVariantsDocument getXml(boolean includeVariantNames) throws RepositoryException { 58 AvailableVariantDocument.AvailableVariant[] availableVariantXml = new AvailableVariantDocument.AvailableVariant[availableVariants.length]; 59 for (int i = 0; i < availableVariants.length; i++) { 60 availableVariantXml[i] = availableVariants[i].getXml(includeVariantNames).getAvailableVariant(); 61 } 62 63 AvailableVariantsDocument document = AvailableVariantsDocument.Factory.newInstance(); 64 AvailableVariantsDocument.AvailableVariants availableVariantsXml = document.addNewAvailableVariants(); 65 availableVariantsXml.setAvailableVariantArray(availableVariantXml); 66 return document; 67 } 68 } 69 | Popular Tags |