├── .idea
├── .name
├── copyright
│ └── profiles_settings.xml
├── encodings.xml
├── vcs.xml
├── misc.xml
├── compiler.xml
├── modules.xml
├── gradle.xml
├── modules
│ ├── fritterfactory_main.iml
│ └── fritterfactory_test.iml
└── uiDesigner.xml
├── settings.gradle
├── gradle
└── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── .travis.yml
├── notes.md
├── src
├── test
│ └── java
│ │ └── one
│ │ └── equinox
│ │ └── fritterfactory
│ │ └── test
│ │ ├── model
│ │ ├── SampleEnum.java
│ │ ├── MyModelWithEnum.java
│ │ ├── MyModelMold.java
│ │ ├── MyModelWithExtends.java
│ │ ├── MyModelMoldWithProviders.java
│ │ ├── SampleValues.java
│ │ └── MyModel.java
│ │ ├── ModelWithNoDefaultConstructorTests.java
│ │ ├── FritterFactoryTestModelWithEnum.java
│ │ ├── FritterFactoryTestModelWithExtends.java
│ │ ├── FritterFactoryTestWithMapMold.java
│ │ ├── FritterFactoryTest.java
│ │ ├── FritterFactoryTestWithMold.java
│ │ └── FritterFactoryTestWithSubmodel.java
└── main
│ └── java
│ └── one
│ └── equinox
│ └── fritterfactory
│ ├── providers
│ ├── primitives
│ │ ├── StringProvider.java
│ │ ├── LongProvider.java
│ │ ├── FloatProvider.java
│ │ ├── DoubleProvider.java
│ │ ├── BooleanProvider.java
│ │ └── IntegerProvider.java
│ ├── lorem
│ │ ├── CityProvider.java
│ │ ├── CountryProvider.java
│ │ ├── LastNameProvider.java
│ │ ├── FirstNameProvider.java
│ │ └── WordProvider.java
│ ├── fritterproviders
│ │ ├── FritterProvider.java
│ │ └── ModelFritterProvider.java
│ ├── basic
│ │ ├── DateProvider.java
│ │ └── CalendarProvider.java
│ ├── ListItemProvider.java
│ ├── ModelProvider.java
│ └── images
│ │ └── PersonImageProvider.java
│ ├── mold
│ ├── Mold.java
│ ├── ClassMold.java
│ ├── MapMold.java
│ └── InstanceMold.java
│ ├── annotation
│ └── FritterIgnoreField.java
│ ├── util
│ ├── RandomFactory.java
│ └── ListedMap.java
│ ├── FritterFactoryException.java
│ ├── ExistingModels.java
│ ├── ProviderFactory.java
│ ├── ReflectionUtil.java
│ └── FritterFactory.java
├── fritterfactory.iml
├── .gitignore
├── gradlew.bat
├── gradlew
└── README.md
/.idea/.name:
--------------------------------------------------------------------------------
1 | fritterfactory
--------------------------------------------------------------------------------
/settings.gradle:
--------------------------------------------------------------------------------
1 | rootProject.name = 'fritterfactory'
2 |
3 |
--------------------------------------------------------------------------------
/.idea/copyright/profiles_settings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/equinox-one/fritterfactory/HEAD/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/.travis.yml:
--------------------------------------------------------------------------------
1 | language: java
2 | jdk:
3 | - oraclejdk8
4 | - openjdk8
5 |
6 | after_success:
7 | - ./gradlew cobertura coveralls
8 |
--------------------------------------------------------------------------------
/notes.md:
--------------------------------------------------------------------------------
1 |
2 | #deploy to bintray
3 | ./gradlew clean build bintrayUpload -PbintrayUser=BINTRAY_USERNAME -PbintrayKey=BINTRAY_KEY -PdryRun=false
--------------------------------------------------------------------------------
/src/test/java/one/equinox/fritterfactory/test/model/SampleEnum.java:
--------------------------------------------------------------------------------
1 | package one.equinox.fritterfactory.test.model;
2 |
3 | public enum SampleEnum {
4 | VALUE1, VALUE2, VALUE3
5 | }
6 |
--------------------------------------------------------------------------------
/.idea/encodings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/.idea/vcs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionBase=GRADLE_USER_HOME
2 | distributionPath=wrapper/dists
3 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.8.1-bin.zip
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 |
--------------------------------------------------------------------------------
/src/main/java/one/equinox/fritterfactory/providers/primitives/StringProvider.java:
--------------------------------------------------------------------------------
1 | package one.equinox.fritterfactory.providers.primitives;
2 |
3 | import one.equinox.fritterfactory.providers.lorem.WordProvider;
4 |
5 |
6 | public class StringProvider extends WordProvider {
7 | }
8 |
--------------------------------------------------------------------------------
/src/test/java/one/equinox/fritterfactory/test/model/MyModelWithEnum.java:
--------------------------------------------------------------------------------
1 | package one.equinox.fritterfactory.test.model;
2 |
3 | public class MyModelWithEnum extends MyModel {
4 | SampleEnum sampleEnum;
5 |
6 | public SampleEnum getSampleEnum() {
7 | return sampleEnum;
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/src/main/java/one/equinox/fritterfactory/mold/Mold.java:
--------------------------------------------------------------------------------
1 | package one.equinox.fritterfactory.mold;
2 |
3 |
4 | import one.equinox.fritterfactory.FritterFactory;
5 |
6 | import java.lang.reflect.Field;
7 |
8 | public interface Mold {
9 | Object getMoldValue(FritterFactory factory, Field filed) throws Exception;
10 | }
11 |
--------------------------------------------------------------------------------
/src/test/java/one/equinox/fritterfactory/test/model/MyModelMold.java:
--------------------------------------------------------------------------------
1 | package one.equinox.fritterfactory.test.model;
2 |
3 | public class MyModelMold{
4 | public String stringVal = SampleValues.SAMPLE_STRING;
5 | public int intVal = SampleValues.SAMPLE_INTEGER;
6 | public Integer integerVal = SampleValues.SAMPLE_INTEGER;
7 | }
--------------------------------------------------------------------------------
/src/main/java/one/equinox/fritterfactory/mold/ClassMold.java:
--------------------------------------------------------------------------------
1 | package one.equinox.fritterfactory.mold;
2 |
3 |
4 | import one.equinox.fritterfactory.ReflectionUtil;
5 |
6 | public class ClassMold extends InstanceMold{
7 | public ClassMold(Class moldInstance) {
8 | super(ReflectionUtil.newInstance(moldInstance));
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/src/test/java/one/equinox/fritterfactory/test/model/MyModelWithExtends.java:
--------------------------------------------------------------------------------
1 | package one.equinox.fritterfactory.test.model;
2 |
3 | import one.equinox.symbols.Symbolize;
4 |
5 | @Symbolize
6 | public class MyModelWithExtends extends MyModel {
7 | String anotherAttribute;
8 |
9 | public String getAnotherAttribute() {
10 | return anotherAttribute;
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/.idea/misc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/main/java/one/equinox/fritterfactory/providers/lorem/CityProvider.java:
--------------------------------------------------------------------------------
1 | package one.equinox.fritterfactory.providers.lorem;
2 |
3 | import com.thedeanda.lorem.LoremIpsum;
4 |
5 | import javax.inject.Provider;
6 |
7 |
8 | public class CityProvider implements Provider {
9 | @Override
10 | public String get() {
11 | return LoremIpsum.getInstance().getCity();
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/src/main/java/one/equinox/fritterfactory/providers/fritterproviders/FritterProvider.java:
--------------------------------------------------------------------------------
1 | package one.equinox.fritterfactory.providers.fritterproviders;
2 |
3 |
4 | import one.equinox.fritterfactory.FritterFactory;
5 |
6 | import javax.inject.Provider;
7 |
8 | public interface FritterProvider {
9 | public T get(FritterFactory factory);
10 | public Provider getProvider(FritterFactory factory);
11 | }
12 |
--------------------------------------------------------------------------------
/src/main/java/one/equinox/fritterfactory/providers/lorem/CountryProvider.java:
--------------------------------------------------------------------------------
1 | package one.equinox.fritterfactory.providers.lorem;
2 |
3 | import com.thedeanda.lorem.LoremIpsum;
4 |
5 | import javax.inject.Provider;
6 |
7 |
8 | public class CountryProvider implements Provider {
9 | @Override
10 | public String get() {
11 | return LoremIpsum.getInstance().getCountry();
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/src/main/java/one/equinox/fritterfactory/providers/lorem/LastNameProvider.java:
--------------------------------------------------------------------------------
1 | package one.equinox.fritterfactory.providers.lorem;
2 |
3 | import com.thedeanda.lorem.LoremIpsum;
4 |
5 | import javax.inject.Provider;
6 |
7 |
8 | public class LastNameProvider implements Provider {
9 | @Override
10 | public String get() {
11 | return LoremIpsum.getInstance().getLastName();
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/src/main/java/one/equinox/fritterfactory/providers/lorem/FirstNameProvider.java:
--------------------------------------------------------------------------------
1 | package one.equinox.fritterfactory.providers.lorem;
2 |
3 | import com.thedeanda.lorem.LoremIpsum;
4 |
5 | import javax.inject.Provider;
6 |
7 |
8 | public class FirstNameProvider implements Provider {
9 | @Override
10 | public String get() {
11 | return LoremIpsum.getInstance().getFirstName();
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/src/test/java/one/equinox/fritterfactory/test/model/MyModelMoldWithProviders.java:
--------------------------------------------------------------------------------
1 | package one.equinox.fritterfactory.test.model;
2 |
3 | import javax.inject.Provider;
4 |
5 | public class MyModelMoldWithProviders {
6 | public Provider stringVal = new SampleValues.DummyStringProvider();
7 | public Provider intVal = new SampleValues.DummyIntegerProvider();
8 | public Provider integerVal = new SampleValues.DummyIntegerProvider();
9 | }
--------------------------------------------------------------------------------
/.idea/compiler.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/src/main/java/one/equinox/fritterfactory/providers/primitives/LongProvider.java:
--------------------------------------------------------------------------------
1 | package one.equinox.fritterfactory.providers.primitives;
2 |
3 | import one.equinox.fritterfactory.util.RandomFactory;
4 |
5 | import javax.inject.Provider;
6 | import java.util.Random;
7 |
8 |
9 | public class LongProvider implements Provider {
10 | Random random = new RandomFactory().get();
11 |
12 | @Override
13 | public Long get() {
14 | return random.nextLong();
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/src/main/java/one/equinox/fritterfactory/providers/primitives/FloatProvider.java:
--------------------------------------------------------------------------------
1 | package one.equinox.fritterfactory.providers.primitives;
2 |
3 | import one.equinox.fritterfactory.util.RandomFactory;
4 |
5 | import javax.inject.Provider;
6 | import java.util.Random;
7 |
8 |
9 | public class FloatProvider implements Provider {
10 | Random random = new RandomFactory().get();
11 |
12 | @Override
13 | public Float get() {
14 | return random.nextFloat();
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/src/main/java/one/equinox/fritterfactory/annotation/FritterIgnoreField.java:
--------------------------------------------------------------------------------
1 | package one.equinox.fritterfactory.annotation;
2 |
3 | import java.lang.annotation.ElementType;
4 | import java.lang.annotation.Retention;
5 | import java.lang.annotation.RetentionPolicy;
6 | import java.lang.annotation.Target;
7 |
8 | /**
9 | * Annotates a field that should be ignored by Fritter
10 | */
11 | @Retention(RetentionPolicy.RUNTIME)
12 | @Target(ElementType.FIELD)
13 | public @interface FritterIgnoreField {
14 | }
15 |
--------------------------------------------------------------------------------
/src/main/java/one/equinox/fritterfactory/providers/primitives/DoubleProvider.java:
--------------------------------------------------------------------------------
1 | package one.equinox.fritterfactory.providers.primitives;
2 |
3 | import one.equinox.fritterfactory.util.RandomFactory;
4 |
5 | import java.util.Random;
6 |
7 | import javax.inject.Provider;
8 |
9 |
10 | public class DoubleProvider implements Provider {
11 | Random random = new RandomFactory().get();
12 |
13 | @Override
14 | public Double get() {
15 | return random.nextDouble();
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/src/main/java/one/equinox/fritterfactory/providers/primitives/BooleanProvider.java:
--------------------------------------------------------------------------------
1 | package one.equinox.fritterfactory.providers.primitives;
2 |
3 | import one.equinox.fritterfactory.util.RandomFactory;
4 |
5 | import java.util.Random;
6 |
7 | import javax.inject.Provider;
8 |
9 |
10 | public class BooleanProvider implements Provider {
11 | Random random = new RandomFactory().get();
12 |
13 | @Override
14 | public Boolean get() {
15 | return random.nextBoolean();
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/src/main/java/one/equinox/fritterfactory/providers/basic/DateProvider.java:
--------------------------------------------------------------------------------
1 | package one.equinox.fritterfactory.providers.basic;
2 |
3 | import one.equinox.fritterfactory.util.RandomFactory;
4 |
5 | import javax.inject.Provider;
6 | import java.util.Date;
7 | import java.util.Random;
8 |
9 |
10 | public class DateProvider implements Provider {
11 | Random random = new RandomFactory().get();
12 |
13 | @Override
14 | public Date get() {
15 | return new Date(random.nextLong());
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/src/main/java/one/equinox/fritterfactory/providers/ListItemProvider.java:
--------------------------------------------------------------------------------
1 | package one.equinox.fritterfactory.providers;
2 |
3 | import one.equinox.fritterfactory.util.RandomFactory;
4 |
5 | import java.util.List;
6 |
7 | import javax.inject.Provider;
8 |
9 |
10 | public class ListItemProvider implements Provider {
11 | List items;
12 |
13 | public ListItemProvider(List items) {
14 | this.items = items;
15 | }
16 |
17 | @Override
18 | public T get() {
19 | int position = new RandomFactory().get().nextInt(items.size());
20 | return items.get(position);
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/src/main/java/one/equinox/fritterfactory/util/RandomFactory.java:
--------------------------------------------------------------------------------
1 | package one.equinox.fritterfactory.util;
2 |
3 | import java.util.Date;
4 | import java.util.Random;
5 |
6 | import javax.inject.Provider;
7 |
8 | /**
9 | * Created by mateuyabar on 15/12/15.
10 | */
11 | public class RandomFactory implements Provider{
12 | private static Random random;
13 |
14 | public RandomFactory(){
15 | if(random==null) {
16 | random = new Random();
17 | random.setSeed(new Date().getTime());
18 | }
19 | }
20 |
21 | @Override
22 | public Random get() {
23 | return random;
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/.idea/modules.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/src/main/java/one/equinox/fritterfactory/providers/basic/CalendarProvider.java:
--------------------------------------------------------------------------------
1 | package one.equinox.fritterfactory.providers.basic;
2 |
3 | import one.equinox.fritterfactory.util.RandomFactory;
4 |
5 | import javax.inject.Provider;
6 | import java.util.Calendar;
7 | import java.util.Date;
8 | import java.util.GregorianCalendar;
9 | import java.util.Random;
10 |
11 |
12 | public class CalendarProvider implements Provider {
13 | Random random = new RandomFactory().get();
14 |
15 | @Override
16 | public Calendar get() {
17 | Calendar calendar = Calendar.getInstance();
18 | calendar.setTime(new Date(random.nextLong()));
19 | return calendar;
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/src/main/java/one/equinox/fritterfactory/providers/lorem/WordProvider.java:
--------------------------------------------------------------------------------
1 | package one.equinox.fritterfactory.providers.lorem;
2 |
3 | import com.thedeanda.lorem.LoremIpsum;
4 |
5 | import javax.inject.Provider;
6 |
7 |
8 | public class WordProvider implements Provider {
9 | int max, min;
10 | public WordProvider() {
11 | this(1,1);
12 | }
13 |
14 | public WordProvider(int count) {
15 | this(count,count);
16 | }
17 |
18 | public WordProvider(int min, int max) {
19 | this.min = min;
20 | this.max = max;
21 | }
22 |
23 | @Override
24 | public String get() {
25 | return LoremIpsum.getInstance().getWords(min, max);
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/src/test/java/one/equinox/fritterfactory/test/model/SampleValues.java:
--------------------------------------------------------------------------------
1 | package one.equinox.fritterfactory.test.model;
2 |
3 |
4 | import javax.inject.Provider;
5 |
6 | public class SampleValues {
7 | public static final String SAMPLE_STRING = "qwertyuio";
8 | public static final int SAMPLE_INTEGER = 200;
9 |
10 | public static class DummyStringProvider implements Provider{
11 | @Override
12 | public String get() {
13 | return SAMPLE_STRING;
14 | }
15 | }
16 |
17 | public static class DummyIntegerProvider implements Provider{
18 | @Override
19 | public Integer get() {
20 | return SAMPLE_INTEGER;
21 | }
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/src/main/java/one/equinox/fritterfactory/providers/primitives/IntegerProvider.java:
--------------------------------------------------------------------------------
1 | package one.equinox.fritterfactory.providers.primitives;
2 |
3 | import one.equinox.fritterfactory.util.RandomFactory;
4 |
5 | import java.util.Random;
6 |
7 | import javax.inject.Provider;
8 |
9 |
10 | public class IntegerProvider implements Provider {
11 | Random random = new RandomFactory().get();
12 |
13 | int min, max;
14 |
15 | public IntegerProvider(){
16 | this(0, 100000);
17 | }
18 |
19 | public IntegerProvider(int min, int max) {
20 | this.min = min;
21 | this.max = max;
22 | }
23 |
24 | @Override
25 | public Integer get() {
26 | return min + random.nextInt(max-min);
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/fritterfactory.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/.idea/gradle.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
19 |
20 |
--------------------------------------------------------------------------------
/src/main/java/one/equinox/fritterfactory/FritterFactoryException.java:
--------------------------------------------------------------------------------
1 | package one.equinox.fritterfactory;
2 |
3 | /**
4 | * Created by mateuyabar on 17/12/15.
5 | */
6 | public class FritterFactoryException extends RuntimeException {
7 | public FritterFactoryException() {
8 | }
9 |
10 | public FritterFactoryException(String message) {
11 | super(message);
12 | }
13 |
14 | public FritterFactoryException(String message, Throwable cause) {
15 | super(message, cause);
16 | }
17 |
18 | public FritterFactoryException(Throwable cause) {
19 | super(cause);
20 | }
21 |
22 | public FritterFactoryException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace) {
23 | super(message, cause, enableSuppression, writableStackTrace);
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/src/main/java/one/equinox/fritterfactory/providers/fritterproviders/ModelFritterProvider.java:
--------------------------------------------------------------------------------
1 | package one.equinox.fritterfactory.providers.fritterproviders;
2 |
3 |
4 | import one.equinox.fritterfactory.FritterFactory;
5 | import one.equinox.fritterfactory.mold.Mold;
6 | import one.equinox.fritterfactory.providers.ModelProvider;
7 |
8 | import javax.inject.Provider;
9 |
10 | public class ModelFritterProvider implements FritterProvider{
11 | Class clazz;
12 | Mold mold;
13 |
14 | public ModelFritterProvider(Class clazz, Mold mold) {
15 | this.clazz = clazz;
16 | this.mold = mold;
17 | }
18 |
19 | public T get(FritterFactory factory){
20 | return factory.build(clazz, mold);
21 | }
22 |
23 | public Provider getProvider(FritterFactory factory){
24 | return new ModelProvider(factory, clazz, mold);
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/src/main/java/one/equinox/fritterfactory/util/ListedMap.java:
--------------------------------------------------------------------------------
1 | package one.equinox.fritterfactory.util;
2 |
3 | import java.util.ArrayList;
4 | import java.util.Hashtable;
5 | import java.util.List;
6 |
7 | /**
8 | *
9 | * Map which its value is a List. This Map has added functionallity add, which
10 | * enables to add a value to the set of the key.
11 | *
12 | */
13 | public class ListedMap extends Hashtable> {
14 | private static final long serialVersionUID = 5210326981038218066L;
15 |
16 | public void add(K key, V value) {
17 | if (get(key) == null) {
18 | super.put(key, createEntry());
19 | }
20 | get(key).add(value);
21 | }
22 |
23 | public void addAll(K key, List value) {
24 | for(int i=0; i createEntry() {
30 | return new ArrayList();
31 | }
32 |
33 | }
--------------------------------------------------------------------------------
/src/main/java/one/equinox/fritterfactory/providers/ModelProvider.java:
--------------------------------------------------------------------------------
1 | package one.equinox.fritterfactory.providers;
2 |
3 | import one.equinox.fritterfactory.FritterFactory;
4 | import one.equinox.fritterfactory.mold.Mold;
5 |
6 | import javax.inject.Provider;
7 |
8 | public class ModelProvider implements Provider{
9 | FritterFactory fritterFactory;
10 | Class clazz;
11 | Mold mold;
12 |
13 | public ModelProvider(FritterFactory fritterFactory, Class clazz) {
14 | this(fritterFactory, clazz, null);
15 | }
16 |
17 |
18 |
19 | public ModelProvider(FritterFactory fritterFactory, Class clazz, Mold mold) {
20 | this.clazz = clazz;
21 | this.fritterFactory = fritterFactory;
22 | this.mold = mold;
23 | }
24 |
25 | @Override
26 | public T get() {
27 | return fritterFactory.buildModel(clazz, mold);
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/src/main/java/one/equinox/fritterfactory/mold/MapMold.java:
--------------------------------------------------------------------------------
1 | package one.equinox.fritterfactory.mold;
2 |
3 | import one.equinox.fritterfactory.FritterFactory;
4 |
5 | import java.lang.reflect.Field;
6 | import java.util.HashMap;
7 | import java.util.Map;
8 |
9 |
10 | public class MapMold implements Mold{
11 | Map attributes = new HashMap();
12 |
13 | public MapMold(){}
14 |
15 | public MapMold(Map attributes) {
16 | this.attributes = attributes;
17 | }
18 |
19 | public MapMold put(String string, Object value){
20 | attributes.put(string, value);
21 | return this;
22 | }
23 |
24 | @Override
25 | public Object getMoldValue(FritterFactory factory, Field field) throws Exception {
26 | Object moldFieldValue = attributes.get(field.getName());
27 | if(moldFieldValue==null)
28 | return null;
29 | return InstanceMold.getValueFromProperty(factory, moldFieldValue);
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/src/main/java/one/equinox/fritterfactory/providers/images/PersonImageProvider.java:
--------------------------------------------------------------------------------
1 | package one.equinox.fritterfactory.providers.images;
2 |
3 | import one.equinox.fritterfactory.providers.ListItemProvider;
4 |
5 | import java.util.ArrayList;
6 | import java.util.List;
7 |
8 | /**
9 | * Created by mateuyabar on 18/12/15.
10 | */
11 | public class PersonImageProvider extends ListItemProvider {
12 | private static List images;
13 |
14 | private static List getImages(){
15 | if(images == null){
16 | images = new ArrayList();
17 | for(int i=0; i<50; ++i){
18 | String manUrl = "http://api.randomuser.me/portraits/men/"+i+".jpg";
19 | String womenUrl = "http://api.randomuser.me/portraits/women/"+i+".jpg";
20 | images.add(manUrl);
21 | images.add(womenUrl);
22 | }
23 | }
24 | return images;
25 | }
26 |
27 | public PersonImageProvider() {
28 | super(getImages());
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/.idea/modules/fritterfactory_main.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/src/main/java/one/equinox/fritterfactory/ExistingModels.java:
--------------------------------------------------------------------------------
1 | //package com.mateuyabar.fritterfactory;
2 | //
3 | //import ListedMap;
4 | //import RandomFactory;
5 | //
6 | //import java.util.List;
7 | //
8 | //import javax.inject.Provider;
9 | //
10 | //
11 | //public class ExistingModels {
12 | // ListedMap, Object> generatedModels;
13 | //
14 | // public void add(Object model){
15 | // generatedModels.add(model.getClass(), model);
16 | // }
17 | //
18 | // public void addAll(List