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 }