/*
 * @author Ranides Atterwim <ranides@gmail.com>
 * @copyright Ranides Atterwim
 * @license WTFPL
 * @url http://ranides.net/projects/assira
 */
package net.ranides.assira.reflection;

import java.util.Set;

/**
 *
 * @author Ranides Atterwim <ranides@gmail.com>
 */
public interface IHints {
    
    Set<IAttribute> require();
    
    IHints require(IAttribute attr);
    
    IHints require(Set<IAttribute> attrs);

    Set<IAttribute> discard();
    
    IHints discard(IAttribute attr);
    
    IHints discard(Set<IAttribute> attrs);
    
    IHints replace(IHints value);

}
