diff options
Diffstat (limited to 'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/synchronize/SyncRepoEntity.java')
-rw-r--r-- | org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/synchronize/SyncRepoEntity.java | 94 |
1 files changed, 94 insertions, 0 deletions
diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/synchronize/SyncRepoEntity.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/synchronize/SyncRepoEntity.java new file mode 100644 index 0000000000..ed63662fef --- /dev/null +++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/synchronize/SyncRepoEntity.java @@ -0,0 +1,94 @@ +/******************************************************************************* + * Copyright (C) 2010, Dariusz Luksza <dariusz@luksza.org> + * + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + *******************************************************************************/ +package org.eclipse.egit.ui.internal.synchronize; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +/** + * Simple entity for remote and local repositories containing only repo name and + * list of refs associated wit it. + */ +public class SyncRepoEntity { + + /** + * Simple entity for refs containing only human readable ref name and git + * ref path + */ + public static class SyncRefEntity { + private final String descr; + + private final String value; + + /** + * @param descr + * human readable description of repository + * @param value + * value that will be associated with this repo eg. HEAD, + * refs/heads/master, etc + */ + public SyncRefEntity(String descr, String value) { + this.descr = descr; + this.value = value; + } + + /** + * @return human readable description of ref + */ + public String getDescription() { + return descr; + } + + /** + * @return value that is associated with this ref eg. HEAD, + * refs/heads/master, etc. + */ + public String getValue() { + return value; + } + } + + private final String name; + + private final List<SyncRefEntity> refs; + + /** + * @param name + * of repository eg. local, origin, etc. + */ + public SyncRepoEntity(String name) { + this.name = name; + refs = new ArrayList<SyncRefEntity>(); + } + + /** + * @return name of repository + */ + public String getName() { + return name; + } + + /** + * @param ref + * that will be added to this repository + */ + public void addRef(SyncRefEntity ref) { + refs.add(ref); + } + + /** + * + * @return list of refs associated with this repository + */ + public List<SyncRefEntity> getRefList() { + return Collections.unmodifiableList(refs); + } + +} |