/* * JBoss, Home of Professional Open Source. * * See the LEGAL.txt file distributed with this work for information regarding copyright ownership and licensing. * * See the AUTHORS.txt file distributed with this work for a full listing of individual contributors. */ package org.teiid.designer.mapping.ui.recursion; import java.util.Iterator; import java.util.List; import org.teiid.designer.metamodels.transformation.MappingClass; import org.teiid.designer.metamodels.transformation.RecursionErrorMode; /** * RecursionObject * * @since 8.0 */ public class RecursionObject { private MappingClass mcMappingClass; /** * Construct an instance of RecursionObject. * */ public RecursionObject( MappingClass mcMappingClass ) { // System.out.println("[RecursionObject.ctor]"); //$NON-NLS-1$ // if ( mcMappingClass == null ) { // System.out.println("[RecursionObject.ctor] mcMappingClass is NULL"); //$NON-NLS-1$ // } this.mcMappingClass = mcMappingClass; } public MappingClass getMappingClass() { return mcMappingClass; } public boolean isRecursive() { return mcMappingClass.isRecursive(); } public void setRecursive( boolean b ) { // Only set if changed if( b != isRecursive() ) mcMappingClass.setRecursive( b ); } public boolean isRecursionAllowed() { return mcMappingClass.isRecursionAllowed(); } public void setRecursionAllowed( boolean b ) { // Only set if changed if( b != isRecursionAllowed() ) mcMappingClass.setRecursionAllowed( b ); } public void setRecursionLimitErrorMode( String value ) { mcMappingClass.setRecursionLimitErrorMode( RecursionErrorMode.get( value ) ); } public String getRecursionLimitErrorMode() { return mcMappingClass.getRecursionLimitErrorMode().getName(); } public String getRecursionCriteria() { return mcMappingClass.getRecursionCriteria(); } public void setRecursionCriteria( String sCriteria ) { mcMappingClass.setRecursionCriteria( sCriteria ); } public int getRecursionLimit() { return mcMappingClass.getRecursionLimit(); } public void setRecursionLimit( int iLimit ) { // Only set if changed if( iLimit != getRecursionLimit() ) mcMappingClass.setRecursionLimit( iLimit ); } public String[] getValidErrorModeValues() { List lstValues = RecursionErrorMode.VALUES; String[] saValues = new String[ lstValues.size() ]; int iCounter = 0; Iterator it = lstValues.iterator(); while ( it.hasNext() ) { RecursionErrorMode remTemp = (RecursionErrorMode)it.next(); saValues[ iCounter++ ] = remTemp.getName(); } return saValues; } }