BlueSpice MediaWiki master
 All Classes Namespaces Files Functions Variables Groups Pages
Avro Namespace Reference

Detailed Description

Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. Classes handling reading and writing from and to AvroIO objects

Raised when something unkind happens with respect to AvroDataIO.

Reads Avro data from an AvroIO source using an AvroSchema.

Writes Avro data to an AvroIO source using an AvroSchema

Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. Classes for reading and writing Avro data to AvroIO objects.

Todo:
Implement JSON encoding, as is required by the Avro spec.

Exceptions arising from writing or reading Avro data.

Exceptions arising from incompatibility between reader and writer schemas.

Handles schema-specific writing of data to the encoder.

Ensures that each datum written is consistent with the writer's schema.

Encodes and writes Avro data to an AvroIO object using Avro binary encoding.

Handles schema-specifc reading of data from the decoder.

Also handles schema resolution between the reader and writer schemas (if a writer's schema is provided).

Decodes and reads Avro data from an AvroIO object encoded using Avro binary encoding.

Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Avro library code debugging functions

Methods for handling 64-bit operations using the GMP extension.

This is a naive and hackish implementation that is intended to work well enough to support Avro. It has not been tested beyond what's needed to decode and encode long values.

Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. Avro IO object classes

Exceptions associated with AvroIO instances.

Barebones IO base class to provide common interface for file and string access within the Avro classes.

AvroIO wrapper for string access

AvroIO wrapper for PHP file access functions

Avro library for protocols

Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. Avro Schema and and Avro Schema support classes.

TODO

  • ARRAY have only type and item attributes (what about metadata?)
  • MAP keys are (assumed?) to be strings
  • FIXED size must be integer (must be positive? less than MAXINT?)
  • primitive type names cannot have a namespace (so throw an error? or ignore?)
  • schema may contain multiple definitions of a named schema if definitions are equivalent (?)
    • Cleanup default namespace and named schemata handling.
      • For one, it appears to be too global. According to the spec, we should only be referencing schemas that are named within the enclosing schema, so those in sibling schemas (say, unions or fields) shouldn't be referenced, if I understand the spec correctly.
      • Also, if a named schema is defined more than once in the same schema, it must have the same definition: so it appears we do need to keep track of named schemata globally as well. (And does this play well with the requirements regarding enclosing schema?
    • default values for bytes and fixed fields are JSON strings, where unicode code points 0-255 are mapped to unsigned 8-bit byte values 0-255
    • make sure other default values for other schema are of appropriate type
    • Should AvroField really be an AvroSchema object? Avro Fields have a name attribute, but not a namespace attribute (and the name can't be namespace qualified). It also has additional attributes such as doc, which named schemas enum and record have (though not fixed schemas, which also have names), and fields also have default and order attributes, shared by no other schema type. Exceptions associated with parsing JSON schema represenations

Avro schema for basic types such as null, int, long, string.

Avro array schema, consisting of items of a particular Avro schema type.

Avro map schema consisting of named values of defined Avro Schema types.

Union of Avro schemas, of which values can be of any of the schema in the union.

Parent class of named Avro schema

Todo:
Refactor AvroNamedSchema to use an AvroName instance to store name information.

Keeps track of AvroNamedSchema which have been observed so far, as well as the default namespace.

AvroNamedSchema with fixed-length data values

Field of an AvroRecordSchema

Class for static utility methods used in Avro.

Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. Avro library top-level file.

This file in turn includes all files supporting the Avro implementation.

General Avro exceptions.

Library-level class for PHP Avro port.

Contains library details such as version number and platform checks.

This port is an implementation of the Avro 1.3.3 Specification