/** * */ package org.javabuilders.handler; import java.util.Arrays; import java.util.HashSet; import java.util.Set; import org.javabuilders.Builder; /** * Abstract class to make writing type handlers easier * @author Jacek Furmankiewicz */ public abstract class AbstractTypeHandler implements ITypeHandler { private Set<String> consumedKeys = new HashSet<String>(); /** * Constructor * @param consumedKeys List of consumed keys */ public AbstractTypeHandler(String... consumedKeys) { this(new HashSet<String>(Arrays.asList(consumedKeys))); } /** * Constructor * @param consumedKeys List of consumed keys */ public AbstractTypeHandler(Set<String> consumedKeys) { this.consumedKeys = consumedKeys; } /* (non-Javadoc) * @see org.javabuilders.IKeyValueConsumer#getConsumedKeys() */ public Set<String> getConsumedKeys() { return consumedKeys; } /* (non-Javadoc) * @see org.javabuilders.handler.ITypeHandler#getCollectionPropertyName() */ public String getCollectionPropertyName() { return Builder.CONTENT; } /* (non-Javadoc) * @see org.javabuilders.handler.ITypeHandler#getSimpleValuePropertyName() */ public String getSimpleValuePropertyName() { return Builder.VALUE; } /* (non-Javadoc) * @see org.javabuilders.handler.ITypeHandler#isApplicableToSubclasses() */ public boolean isApplicableToSubclasses() { return true; } }