diff --git a/dragon.gif b/dragon.gif deleted file mode 100644 index c59d4f7..0000000 Binary files a/dragon.gif and /dev/null differ diff --git a/fr/istic/nplouzeau/cartaylor/api/Category.java b/fr/istic/nplouzeau/cartaylor/api/Category.java new file mode 100644 index 0000000..cd3e284 --- /dev/null +++ b/fr/istic/nplouzeau/cartaylor/api/Category.java @@ -0,0 +1,9 @@ +package fr.istic.nplouzeau.cartaylor.api; +/** + * @author plouzeau + *

+ * A public type to organize part types in categories + */ +public interface Category { + String getName(); +} \ No newline at end of file diff --git a/fr/istic/nplouzeau/cartaylor/api/CompatibilityChecker.java b/fr/istic/nplouzeau/cartaylor/api/CompatibilityChecker.java new file mode 100644 index 0000000..0542ee7 --- /dev/null +++ b/fr/istic/nplouzeau/cartaylor/api/CompatibilityChecker.java @@ -0,0 +1,6 @@ +package fr.istic.nplouzeau.cartaylor.api; +import java.util.Set; +public interface CompatibilityChecker { + Set getIncompatibilities(PartType reference); + Set getRequirements(PartType reference); +} \ No newline at end of file diff --git a/fr/istic/nplouzeau/cartaylor/api/CompatibilityManager.java b/fr/istic/nplouzeau/cartaylor/api/CompatibilityManager.java new file mode 100644 index 0000000..c5a753a --- /dev/null +++ b/fr/istic/nplouzeau/cartaylor/api/CompatibilityManager.java @@ -0,0 +1,12 @@ +package fr.istic.nplouzeau.cartaylor.api; +import java.util.Set; +public interface CompatibilityManager extends CompatibilityChecker { + void addIncompatibilities(PartType reference, + Set target); + void removeIncompatibility(PartType reference, PartType + target); + void addRequirements(PartType reference, Set + target); + void removeRequirement(PartType reference, PartType + target); +} \ No newline at end of file diff --git a/fr/istic/nplouzeau/cartaylor/api/Configuration.java b/fr/istic/nplouzeau/cartaylor/api/Configuration.java new file mode 100644 index 0000000..00623af --- /dev/null +++ b/fr/istic/nplouzeau/cartaylor/api/Configuration.java @@ -0,0 +1,11 @@ +package fr.istic.nplouzeau.cartaylor.api; +import java.util.Set; +public interface Configuration { + boolean isValid(); + boolean isComplete(); + Set getSelectedParts(); + void selectPart(PartType chosenPart); + PartType getSelectionForCategory(Category category); + void unselectPartType(Category categoryToClear); + void clear(); +} \ No newline at end of file diff --git a/fr/istic/nplouzeau/cartaylor/api/Configurator.java b/fr/istic/nplouzeau/cartaylor/api/Configurator.java new file mode 100644 index 0000000..191eed7 --- /dev/null +++ b/fr/istic/nplouzeau/cartaylor/api/Configurator.java @@ -0,0 +1,8 @@ +package fr.istic.nplouzeau.cartaylor.api; +import java.util.Set; +public interface Configurator { + Set getCategories(); + Set getVariants(Category category); + Configuration getConfiguration(); + CompatibilityChecker getCompatibilityChecker(); +} \ No newline at end of file diff --git a/fr/istic/nplouzeau/cartaylor/api/PartType.java b/fr/istic/nplouzeau/cartaylor/api/PartType.java new file mode 100644 index 0000000..35101af --- /dev/null +++ b/fr/istic/nplouzeau/cartaylor/api/PartType.java @@ -0,0 +1,5 @@ +package fr.istic.nplouzeau.cartaylor.api; +public interface PartType { + String getName(); + Category getCategory(); +} \ No newline at end of file