List of usage examples for com.google.gwt.user.rebind.rpc ProxyCreator CACHED_TYPE_INFO_KEY
String CACHED_TYPE_INFO_KEY
To view the source code for com.google.gwt.user.rebind.rpc ProxyCreator CACHED_TYPE_INFO_KEY.
Click Source Link
From source file:com.seanchenxi.gwt.storage.rebind.StorageTypeSerializerGenerator.java
License:Apache License
@Override public RebindResult generateIncrementally(TreeLogger logger, GeneratorContext context, String typeName) throws UnableToCompleteException { TypeOracle typeOracle = context.getTypeOracle(); JClassType serializerType = typeOracle.findType(typeName); if (serializerType == null || serializerType.isInterface() == null) throw new UnableToCompleteException(); final Set<JType> serializables = StorageTypeFinder.getInstance(context, logger).findStorageTypes(); String typeSerializerClassName = serializerType.getQualifiedSourceName() + TYPE_SERIALIZER_SUFFIX; String typeSerializerSimpleName = serializerType.getSimpleSourceName() + TYPE_SERIALIZER_SUFFIX; JClassType typeSerializer = typeOracle.findType(typeSerializerClassName); SerializableTypeOracle serializationOracle = buildSerializableTypeOracle(logger, context, serializables); if (typeSerializer != null && typeSerializer.isClass() != null && isNothingChanged(logger, context, serializables, serializationOracle)) { return new RebindResult(RebindMode.USE_EXISTING, typeSerializerClassName); }/*from w ww . j a v a 2 s . c o m*/ TypeSerializerCreator tsc = new TypeSerializerCreator(logger, serializationOracle, serializationOracle, context, typeSerializerClassName, typeSerializerSimpleName); tsc.realize(logger); if (context.isGeneratorResultCachingEnabled()) { RebindResult result = new RebindResult(RebindMode.USE_PARTIAL_CACHED, typeSerializerClassName); CachedRpcTypeInformation cti = new CachedRpcTypeInformation(serializationOracle, serializationOracle, serializables, new HashSet<JType>()); result.putClientData(ProxyCreator.CACHED_TYPE_INFO_KEY, cti); return result; } else { return new RebindResult(RebindMode.USE_ALL_NEW_WITH_NO_CACHING, typeSerializerClassName); } }
From source file:com.seanchenxi.gwt.storage.rebind.StorageTypeSerializerGenerator.java
License:Apache License
@SuppressWarnings("unchecked") private boolean isNothingChanged(TreeLogger logger, GeneratorContext context, Set<JType> serializables, SerializableTypeOracle serializationOracle) {// caching use CachedGeneratorResult cachedResult = context.getCachedGeneratorResult(); if (cachedResult == null || !context.isGeneratorResultCachingEnabled()) { return false; }//from w w w .j a v a 2 s . c om Object obj = context.getCachedGeneratorResult().getClientData(ProxyCreator.CACHED_TYPE_INFO_KEY); return obj != null && ((CachedRpcTypeInformation) obj).checkTypeInformation(logger, context.getTypeOracle(), serializationOracle, serializationOracle); }