/* * 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.metadata.runtime.impl; import java.util.List; import org.teiid.designer.core.index.IndexConstants; import org.teiid.designer.metadata.runtime.TransformationRecord; /** * TransformationRecordImpl * * @since 8.0 */ public class TransformationRecordImpl extends AbstractMetadataRecord implements TransformationRecord { /** */ private static final long serialVersionUID = 1L; private String transformation; private Object transformedObjectID; private String transformationType; private List bindings; private List schemaPaths; // ================================================================================== // C O N S T R U C T O R S // ================================================================================== /** * Construct an instance of TransformationRecordImpl. * */ public TransformationRecordImpl() { this(new MetadataRecordDelegate()); } protected TransformationRecordImpl(MetadataRecordDelegate delegate) { this.delegate = delegate; } /** * @see org.teiid.designer.metadata.runtime.TransformationRecord#getTransformation() */ @Override public String getTransformation() { return transformation; } /* * @see org.teiid.designer.metadata.runtime.TransformationRecord#getBindings() */ @Override public List getBindings() { return this.bindings; } /* * @see org.teiid.designer.metadata.runtime.TransformationRecord#getSchemaPaths() */ @Override public List getSchemaPaths() { return schemaPaths; } /* * @see org.teiid.designer.metadata.runtime.TransformationRecord#getTransformationType() */ @Override public String getTransformationType() { return transformationType; } /** * @see org.teiid.designer.metadata.runtime.TransformationRecord#getTransformedObjectID() */ @Override public Object getTransformedObjectID() { return transformedObjectID; } /** * @see org.teiid.designer.metadata.runtime.TransformationRecord#getType() */ @Override public String getType() { return this.getTransformTypeForRecordType(this.getRecordType()); } // ================================================================================== // P U B L I C M E T H O D S // ================================================================================== /** * @param string */ public void setTransformation(final String string) { transformation = string; } /** * @param object */ public void setTransformedObjectID(final Object object) { transformedObjectID = object; } /** * @param string */ public void setTransformationType(String string) { transformationType = string; } /** * @param collection */ public void setBindings(List bindings) { this.bindings = bindings; } /** * @param collection */ public void setSchemaPaths(List collection) { schemaPaths = collection; } protected String getTransformTypeForRecordType(final char recordType) { switch (recordType) { case IndexConstants.RECORD_TYPE.SELECT_TRANSFORM: return Types.SELECT; case IndexConstants.RECORD_TYPE.INSERT_TRANSFORM: return Types.INSERT; case IndexConstants.RECORD_TYPE.UPDATE_TRANSFORM: return Types.UPDATE; case IndexConstants.RECORD_TYPE.DELETE_TRANSFORM: return Types.DELETE; case IndexConstants.RECORD_TYPE.PROC_TRANSFORM: return Types.PROCEDURE; case IndexConstants.RECORD_TYPE.MAPPING_TRANSFORM: return Types.MAPPING; default: throw new IllegalArgumentException("Invalid record type, for key " + recordType); //$NON-NLS-1$ } } @Override public String toString() { StringBuffer sb = new StringBuffer(100); sb.append(getClass().getSimpleName()); sb.append(" name="); //$NON-NLS-1$ sb.append(getName()); sb.append(", nameInSource="); //$NON-NLS-1$ sb.append(getNameInSource()); sb.append(", uuid="); //$NON-NLS-1$ sb.append(getUUID()); sb.append(", pathInModel="); //$NON-NLS-1$ sb.append(getPath()); return sb.toString(); } }