public function generateSchema(SchemaDescriptor $schema)
    {
        $response = new GeneratorResponse();

        foreach ($schema->getFields() as $field) {
            $this->updateFieldOptions($schema, $field);
        }

        if ($schema->isMixinSchema()) {
            $this->generateMixin($schema, $response);
            $this->generateMixinInterface($schema, $response);
            $this->generateMixinMajorInterface($schema, $response);
            $this->generateMixinTrait($schema, $response);
        } else {
            $this->generateMessage($schema, $response);
            $this->generateMessageInterface($schema, $response);
        }

        return $response;
    }
public function generateSchema(SchemaDescriptor $schema)
    {
        $response = new GeneratorResponse();

        foreach ($schema->getFields() as $field) {
            $this->updateFieldOptions($schema, $field);
        }

        if ($schema->isMixinSchema()) {
            $this->generateMixin($schema, $response);
            $this->generateMixinInterface($schema, $response);
            $this->generateMixinMajorInterface($schema, $response);
            $this->generateMixinTrait($schema, $response);
        } else {
            $this->generateMessage($schema, $response);
            $this->generateMessageInterface($schema, $response);
        }

        return $response;
    }
public function generateSchema ( SchemaDescriptor $ schema ) { $ response = new GeneratorResponse ( ) ; foreach ( $ schema -> getFields ( ) as $ field ) { $ this -> updateFieldOptions ( $ schema , $ field ) ; } if ( $ schema -> isMixinSchema ( ) ) { $ this -> generateMixin ( $ schema , $ response ) ; $ this -> generateMixinInterface ( $ schema , $ response ) ; $ this -> generateMixinMajorInterface ( $ schema , $ response ) ; $ this -> generateMixinTrait ( $ schema , $ response ) ; } else { $ this -> generateMessage ( $ schema , $ response ) ; $ this -> generateMessageInterface ( $ schema , $ response ) ; } return $ response ; }
Generates code for the given SchemaDescriptor.

Produces files for (varies by language):
- message class (the concrete class - curie major)
- message interface (curie)
- mixin (the schema fields that are "mixed" into the message)
- mixin interface (curie)
- mixin major interface (curie major for the mixin)
- mixin trait (any methods provided by insertion points)

@param SchemaDescriptor $schema

@return GeneratorResponse
Generates code for the given SchemaDescriptor .