package com.dubture.getcomposer.core.repositories; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Map; import com.dubture.getcomposer.core.collection.Versions; import com.dubture.getcomposer.core.objects.JsonObject; /** * Represents a composer repository * * @author Thomas Gossmann <gos.si> * */ public class ComposerRepository extends Repository implements Cloneable { private Map<String, Versions> packages; private JsonObject options = new JsonObject(); public ComposerRepository() { super("composer"); listen(); } @Override protected List<String> getOwnProperties() { String[] props = new String[]{"options"}; List<String> list = new ArrayList<String>(Arrays.asList(props)); list.addAll(super.getOwnProperties()); return list; } public Versions getVersions(String packageName) { if (packages.containsKey(packageName)) { return packages.get(packageName); } return null; } /** * Returns the options entity * * @return the options */ public JsonObject getOptions() { return options; } /* * (non-Javadoc) * @see java.lang.Object#clone() */ public ComposerRepository clone() { ComposerRepository clone = new ComposerRepository(); cloneProperties(clone); return clone; } }