blob: 815a6fa571070d90abbf30a0551adceb62111544 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2016 CEA LIST.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Created on: 22 févr. 2011
*
* Contributors:
* Arnault Lapitre (CEA LIST) arnault.lapitre@cea.fr
* - Initial API and implementation
******************************************************************************/
#include "Package.h"
#include <fml/infrastructure/CompositePart.h>
#include <fml/infrastructure/PropertyPart.h>
namespace sep
{
/**
* Serialization
*/
void Package::strHeader(OutStream & os) const
{
os << getModifier().toString() << "package " << getNameID();
}
void Package::toStream(OutStream & os) const
{
os << TAB << getModifier().toString()
<< "package " << getNameID() << EOL << std::flush;
if( mPackages.nonempty() )
{
os << TAB << "import:" << EOL;
os << TAB2 << "include {" << EOL;
TableOfMachine::const_raw_iterator it = mPackages.begin();
TableOfMachine::const_raw_iterator endIt = mPackages.end();
for( ; it != endIt ; ++it )
{
os << TAB3 << (it)->as< Package >()->getLocation() << ";" << EOL;
}
os << TAB2 << "}" << EOL2_FLUSH;
}
if( hasProperty() )
{
getPropertyPart().toStream(os);
os << EOL;
}
if( mCompositeSpecification != NULL )
{
mCompositeSpecification->toStream( os );
}
os << std::flush;
}
}