Package com.eviware.soapui.impl.wadl.inference.schema.content

Source Code of com.eviware.soapui.impl.wadl.inference.schema.content.EmptyContent

/*
*  soapUI, copyright (C) 2004-2011 eviware.com
*
*  soapUI is free software; you can redistribute it and/or modify it under the
*  terms of version 2.1 of the GNU Lesser General Public License as published by
*  the Free Software Foundation.
*
*  soapUI is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without
*  even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
*  See the GNU Lesser General Public License for more details at gnu.org.
*/

package com.eviware.soapui.impl.wadl.inference.schema.content;

import org.apache.xmlbeans.XmlCursor;
import org.apache.xmlbeans.XmlException;

import com.eviware.soapui.impl.wadl.inference.schema.Content;
import com.eviware.soapui.impl.wadl.inference.schema.Context;
import com.eviware.soapui.impl.wadl.inference.schema.Schema;
import com.eviware.soapui.impl.wadl.inference.support.TypeInferrer;
import com.eviware.soapui.inferredSchema.EmptyContentConfig;

/**
* EmptyContent may not have any content, be it simpe or complex.
*
* @author Dain Nilsson
*/
public class EmptyContent implements Content
{
  private Schema schema;
  private boolean completed = false;

  public EmptyContent( Schema schema, boolean completed )
  {
    this.schema = schema;
    this.completed = completed;
  }

  public EmptyContent( EmptyContentConfig xml, Schema schema )
  {
    this.schema = schema;
    completed = xml.getCompleted();
  }

  public EmptyContentConfig save()
  {
    EmptyContentConfig xml = EmptyContentConfig.Factory.newInstance();
    xml.setCompleted( completed );
    return xml;
  }

  public String toString( String attrs )
  {
    return attrs;
  }

  public Content validate( Context context ) throws XmlException
  {
    XmlCursor cursor = context.getCursor();
    cursor.push();
    if( cursor.toParent() && cursor.toFirstChild() )
    {
      // Element has children
      cursor.pop();
      return new SequenceContent( schema, completed );
    }
    else if( cursor.pop() && !cursor.isEnd() )
    {
      // Element has simple content
      if( completed )
        return new SimpleContent( schema, TypeInferrer.getBlankType() );
      else
        return new SimpleContent( schema, cursor.getTextValue() );
    }
    completed = true;
    return this;
  }

}
TOP

Related Classes of com.eviware.soapui.impl.wadl.inference.schema.content.EmptyContent

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.