Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
Copyright (C) cedarsoft GmbH. Licensed under the GNU General Public License version 3 (the "License") with Classpath Exception; you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.cedarsoft.org/gpl3ce (GPL 3 with Classpath Exception) This code is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3 only, as published by the Free Software Foundation. cedarsoft GmbH designates this particular file as subject to the "Classpath" exception as provided by cedarsoft GmbH in the LICENSE file that accompanied this code. This code 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 General Public License version 3 for more details (a copy is included in the LICENSE file that accompanied this code). You should have received a copy of the GNU General Public License version 3 along with this work; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. Please contact cedarsoft GmbH, 72810 Gomaringen, Germany, or visit www.cedarsoft.com if you need additional information or have any questions.
 
 
 package com.cedarsoft.serialization.serializers;
 
 
 import  javax.annotation.Nonnull;
 import java.util.List;

 
   @Nonnull
 
   private static final String ATTRIBUTE_DEPENDENT = "dependent";
   @Nonnull
 
   private static final String ELEMENT_ID = "id";
   @Nonnull
 
   private static final String ELEMENT_EXTENSION = "extension";
   @Nonnull
 
   private static final String ATTRIBUTE_DEFAULT = "default";
   @Nonnull
 
   public static final String ELEMENT_CONTENT_TYPE = "contentType";
 
   @Inject
   public FileTypeSerializer( @Nonnull ExtensionSerializer extensionSerializer ) {
     super"fileType""http://www.cedarsoft.com/file/type"new VersionRangenew Version( 1, 0, 0 ), new Version( 1, 0, 1 ) ) );
 
     addextensionSerializer ).responsibleForExtension.class )
       .map( 1, 0, 0 ).to( 1, 0, 1 ).toDelegateVersion( 1, 0, 0 )
     ;
 
     assert getDelegatesMappings().verify();
   }
 
   @Override
   public void serialize( @Nonnull SMOutputElement serializeTo, @Nonnull FileType object, @Nonnull Version formatVersion ) throws IOExceptionXMLStreamException {
     assert isVersionWritableformatVersion );
     serializeTo.addAttribute, String.valueOfobject.isDependentType() ) );
     serializeTo.addElementserializeTo.getNamespace(),  ).addCharactersobject.getId() );
     serializeTo.addElementserializeTo.getNamespace(),  ).addCharactersobject.getContentType() );
 
     for ( Extension extension : object.getExtensions() ) {
       SMOutputElement extensionElement = serializeTo.addElementserializeTo.getNamespace(),  );
 
       if ( object.isDefaultExtensionextension ) ) {
         extensionElement.addAttribute, String.valueOftrue ) );
       }
 
       serializeextensionExtension.classextensionElementformatVersion );
     }
   }
 
   @Nonnull
   @Override
   public FileType deserialize( @Nonnull XMLStreamReader deserializeFrom, @Nonnull Version formatVersion ) throws IOExceptionXMLStreamException {
    assert isVersionReadableformatVersion );
    boolean dependent = Boolean.parseBooleandeserializeFrom.getAttributeValuenull ) );
    String id = getChildTextdeserializeFrom );
    String contentType;
    if ( formatVersion.equals( 1, 0, 0 ) ) {
      contentType = "application/unknown";
    } else {
      contentType = getChildTextdeserializeFrom );
    }
    List<? extends Extensionextensions = deserializeCollectiondeserializeFromExtension.classformatVersion );
    return new FileTypeidcontentTypedependentextensions );
  }
New to GrepCode? Check out our FAQ X