public ObjectMarshallingStrategy newIdentityMarshallingStrategy() { return new IdentityPlaceholderResolverStrategy( ClassObjectMarshallingStrategyAcceptor.DEFAULT ); }
public Object unmarshal(Context context, ObjectInputStream is, byte[] object, ClassLoader classloader ) { return ids.get( byteArrayToInt( object ) ); }
public byte[] marshal(Context context, ObjectOutputStream os, Object object) { Integer id = ( Integer ) objects.get( object ); if ( id == null ) { id = ids.size(); ids.put( id, object ); objects.put( object, id ); } return intToByteArray( id.intValue() ); }
public ObjectMarshallingStrategy newIdentityMarshallingStrategy(ObjectMarshallingStrategyAcceptor acceptor) { return new IdentityPlaceholderResolverStrategy( acceptor ); }
private List<ObjectMarshallingStrategy> getStrategies() { List<ObjectMarshallingStrategy> strategies = new ArrayList<ObjectMarshallingStrategy>(); int customMarshaller = 0; for (String marshaller : objectMarshallersOrder ){ if (ELEMENT_SERIALIZABLE_PLACEHOLDER_RESOLVER_STRATEGY.equalsIgnoreCase(marshaller)){ if ( serializablePlaceholderResolverStrategyAcceptor == null ) { serializablePlaceholderResolverStrategyAcceptor = ClassObjectMarshallingStrategyAcceptor.DEFAULT; } strategies.add(new SerializablePlaceholderResolverStrategy(serializablePlaceholderResolverStrategyAcceptor)); } else if (ELEMENT_IDENTITY_PLACEHOLDER_RESOLVER_STRATEGY.equalsIgnoreCase(marshaller)){ if ( identityPlaceholderResolverStrategyAcceptor == null ) { identityPlaceholderResolverStrategyAcceptor = ClassObjectMarshallingStrategyAcceptor.DEFAULT; } strategies.add(new IdentityPlaceholderResolverStrategy(identityPlaceholderResolverStrategyAcceptor)); } else if (ELEMENT_PROCESS_INSTANCE_RESOLVER_STRATEGY.equalsIgnoreCase(marshaller)){ strategies.add(new ProcessInstanceResolverStrategy()); } else if (ELEMENT_JPA_PLACEHOLDER_RESOLVER_STRATEGY.equalsIgnoreCase(marshaller)){ if ( jpaPlaceHolderResolverStrategyEnv != null ) { strategies.add(new JPAPlaceholderResolverStrategy(jpaPlaceHolderResolverStrategyEnv)); } else { strategies.add(new JPAPlaceholderResolverStrategy(environment)); } } else if (ELEMENT_CUSTOM_MARSHALLING_STRATEGY.equalsIgnoreCase(marshaller)){ strategies.add(customMarshallingStrategies.get(customMarshaller)); customMarshaller++; } } return strategies; }
private List<ObjectMarshallingStrategy> getStrategies() { List<ObjectMarshallingStrategy> strategies = new ArrayList<ObjectMarshallingStrategy>(); int customMarshaller = 0; for (String marshaller : objectMarshallersOrder ){ if (ELEMENT_SERIALIZABLE_PLACEHOLDER_RESOLVER_STRATEGY.equalsIgnoreCase(marshaller)){ if ( serializablePlaceholderResolverStrategyAcceptor == null ) { serializablePlaceholderResolverStrategyAcceptor = ClassObjectMarshallingStrategyAcceptor.DEFAULT; } strategies.add(new SerializablePlaceholderResolverStrategy(serializablePlaceholderResolverStrategyAcceptor)); } else if (ELEMENT_IDENTITY_PLACEHOLDER_RESOLVER_STRATEGY.equalsIgnoreCase(marshaller)){ if ( identityPlaceholderResolverStrategyAcceptor == null ) { identityPlaceholderResolverStrategyAcceptor = ClassObjectMarshallingStrategyAcceptor.DEFAULT; } strategies.add(new IdentityPlaceholderResolverStrategy(identityPlaceholderResolverStrategyAcceptor)); } else if (ELEMENT_PROCESS_INSTANCE_RESOLVER_STRATEGY.equalsIgnoreCase(marshaller)){ strategies.add(new ProcessInstanceResolverStrategy()); } else if (ELEMENT_JPA_PLACEHOLDER_RESOLVER_STRATEGY.equalsIgnoreCase(marshaller)){ if ( jpaPlaceHolderResolverStrategyEnv != null ) { strategies.add(new JPAPlaceholderResolverStrategy(jpaPlaceHolderResolverStrategyEnv)); } else { strategies.add(new JPAPlaceholderResolverStrategy(environment)); } } else if (ELEMENT_CUSTOM_MARSHALLING_STRATEGY.equalsIgnoreCase(marshaller)){ strategies.add(customMarshallingStrategies.get(customMarshaller)); customMarshaller++; } } return strategies; }