001 /*
002 * $Id: RingFactory.java 1259 2007-07-29 10:18:54Z kredel $
003 */
004
005 package edu.jas.structure;
006
007
008 /**
009 * Ring factory interface.
010 * Defines test for field and access of characteristic.
011 * @author Heinz Kredel
012 */
013
014 public interface RingFactory<C extends RingElem<C>>
015 extends AbelianGroupFactory<C>, MonoidFactory<C> {
016
017
018 /**
019 * Query if this ring is a field.
020 * May return false if it is to hard to determine if this ring is a field.
021 * @return true if it is known that this ring is a field, else false.
022 */
023 public boolean isField();
024
025
026 /**
027 * Characteristic of this ring.
028 * @return characteristic of this ring.
029 */
030 public java.math.BigInteger characteristic();
031
032 }