blob: e5444c32bb216e67edfe6cdf148cdb2972e24832 [file] [log] [blame]
/*
* Copyright 2011 Google Inc.
*
* Licensed 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.
*/
package com.google.web.bindery.requestfactory.apt;
import com.google.web.bindery.requestfactory.shared.JsonRpcService;
import com.google.web.bindery.requestfactory.shared.RequestContext;
import com.google.web.bindery.requestfactory.shared.RequestFactory;
import com.google.web.bindery.requestfactory.shared.Service;
import com.google.web.bindery.requestfactory.shared.ServiceName;
import com.google.web.bindery.requestfactory.shared.impl.AbstractRequestContext;
interface MyRequestFactory extends RequestFactory {
@Expect(method = "contextMustBeAnnotated", args = "ReferencedContextWithoutMapping")
interface ReferencedContextWithoutMapping extends RequestContext {
}
// No error expected
interface UnreferencedContextWithoutMapping extends RequestContext {
}
@Expected({
@Expect(method = "redundantAnnotation", args = "ServiceName"),
@Expect(method = "redundantAnnotation", args = "JsonRpcService")})
@Service(Object.class)
@ServiceName("java.lang.Object")
@JsonRpcService
interface UnreferencedContextWithRedundantMapping extends RequestContext {
}
@Expect(method = "factoryMustReturnInterface", args = "AbstractRequestContext")
AbstractRequestContext concreteContext();
ReferencedContextWithoutMapping shouldError();
@Expected({
@Expect(method = "factoryNoMethodParameters"),
@Expect(method = "factoryMustBeAssignable", args = "RequestContext")})
String stringMethod(String bad);
}