public Box create()

in incubator/src/org.apache.sis.storage.geoheif/main/org/apache/sis/storage/isobmff/MainBoxRegistry.java [79:151]


    public Box create(final Reader reader, final int fourCC) throws IOException, DataStoreException {
        switch (fourCC) {
            case ChromaLocation.BOXTYPE:                return new ChromaLocation(reader);
            case ColourInformation.BOXTYPE:             return new ColourInformation(reader);
            case CombinaisonType.BOXTYPE:               return new CombinaisonType(reader);
            case ComponentDefinition.BOXTYPE:           return reader.componentDefinition = new ComponentDefinition(reader);
            case ComponentPalette.BOXTYPE:              return new ComponentPalette(reader, reader.componentDefinition);
            case ComponentPatternDefinition.BOXTYPE:    return new ComponentPatternDefinition(reader, reader.componentDefinition);
            case ComponentReferenceLevel.BOXTYPE:       return new ComponentReferenceLevel(reader);
            case ContentDescribes.BOXTYPE:              return new ContentDescribes(reader);
            case Copyright.BOXTYPE:                     return new Copyright(reader);
            case CreationTime.BOXTYPE:                  return new CreationTime(reader);
            case DepthMappingInformation.BOXTYPE:       return new DepthMappingInformation(reader);
            case DerivedImageReference.BOXTYPE:         return new DerivedImageReference(reader);
            case DisparityInformation.BOXTYPE:          return new DisparityInformation(reader);
            case ExtendedType.BOXTYPE:                  return new ExtendedType(reader);
            case FDItemInfoExtension.BOXTYPE:           return new FDItemInfoExtension(reader);
            case FieldInterlace.BOXTYPE:                return new FieldInterlace(reader);
            case FieldInterlaceType.BOXTYPE:            return new FieldInterlaceType(reader);
            case FileType.BOXTYPE:                      return new FileType(reader);
            case FramePackingInformation.BOXTYPE:       return new FramePackingInformation(reader);
            case FreeSpace.SKIP:                        // Fall through
            case FreeSpace.BOXTYPE:                     return new FreeSpace();
            case GroupList.BOXTYPE:                     return new GroupList(reader);
            case HandlerReference.BOXTYPE:              return new HandlerReference(reader);
            case IdentifiedMediaData.BOXTYPE:           return new IdentifiedMediaData(reader);
            case ImagePyramid.BOXTYPE:                  return new ImagePyramid(reader);
            case ImageSpatialExtents.BOXTYPE:           return new ImageSpatialExtents(reader);
            case ItemData.BOXTYPE:                      return new ItemData(reader);
            case ItemInfo.BOXTYPE:                      return new ItemInfo(reader);
            case ItemInfoEntry.BOXTYPE:                 return new ItemInfoEntry(reader);
            case ItemLocation.BOXTYPE:                  return new ItemLocation(reader);
            case ItemProperties.BOXTYPE:                return new ItemProperties(reader);
            case ItemPropertyAssociation.BOXTYPE:       return new ItemPropertyAssociation(reader);
            case ItemPropertyContainer.BOXTYPE:         return new ItemPropertyContainer(reader);
            case ItemReference.BOXTYPE:                 return new ItemReference(reader);
            case MediaData.BOXTYPE:                     return new MediaData(reader);
            case Meta.BOXTYPE:                          return new Meta(reader);
            case ModelCRS.BOXTYPE:                      return new ModelCRS(reader);
            case ModelTiePoint.BOXTYPE:                 return new ModelTiePoint(reader);
            case ModelTransformation.BOXTYPE:           return new ModelTransformation(reader);
            case ModificationTime.BOXTYPE:              return new ModificationTime(reader);
            case Movie.BOXTYPE:                         return new Movie(reader);
            case MovieHeader.BOXTYPE:                   return reader.movieHeader = new MovieHeader(reader);
            case OriginalFileType.BOXTYPE:              return new OriginalFileType(reader);
            case PixelInformation.BOXTYPE:              return new PixelInformation(reader);
            case PolarizationPatternDefinition.BOXTYPE: return new PolarizationPatternDefinition(reader);
            case PrimaryItem.BOXTYPE:                   return new PrimaryItem(reader);
            case ProgressiveDownloadInfo.BOXTYPE:       return new ProgressiveDownloadInfo(reader);
            case SensorBadPixelsMap.BOXTYPE:            return new SensorBadPixelsMap(reader);
            case SensorNonUniformityCorrection.BOXTYPE: return new SensorNonUniformityCorrection(reader);
            case TAIClockInfo.BOXTYPE:                  return new TAIClockInfo(reader);
            case TAITimeStamp.BOXTYPE:                  return new TAITimeStamp(reader);
            case TiledImageConfiguration.BOXTYPE:       return new TiledImageConfiguration(reader);
            case Track.BOXTYPE:                         return new Track(reader);
            case TrackHeader.BOXTYPE:                   return new TrackHeader(reader, reader.movieHeader);
            case UncompressedFrameConfig.BOXTYPE:       return new UncompressedFrameConfig(reader, reader.componentDefinition);
            case UserData.BOXTYPE:                      return new UserData(reader);
            case UserDescription.BOXTYPE:               return new UserDescription(reader);
            case Extension.BOXTYPE: {
                final ChannelDataInput input = reader.input;
                return create(reader, new UUID(input.readLong(), input.readLong()));
            }
        }
        // Search in user-specified registries.
        for (BoxRegistry registry : registries) {
            Box candidate = registry.create(reader, fourCC);
            if (candidate != null) {
                return candidate;
            }
        }
        return super.create(reader, fourCC);
    }