001/*
002 * $Id$
003 */
004
005package edu.jas.structure;
006
007
008/**
009 * Value factory interface. Defines constructor from value.
010 * @typeparam C base element type
011 * @typeparam D result element type
012 * @author Heinz Kredel
013 */
014public interface ValueFactory<C extends RingElem<C>, D extends RingElem<D>> {
015
016
017    /**
018     * Create from value.
019     */
020    public D create(C n);
021
022
023    /**
024     * Factory for value elements.
025     */
026    public RingFactory<C> valueFactory();
027
028}