org.apache.tapestry5.services.AliasContribution Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of tapestry-core Show documentation
Show all versions of tapestry-core Show documentation
Central module for Tapestry, containing interfaces to the Java
Servlet API and all core services and components.
// Copyright 2006, 2007, 2010 The Apache Software Foundation
//
// 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 org.apache.tapestry5.services;
import java.util.Formatter;
import org.apache.tapestry5.ioc.internal.util.InternalUtils;
import org.apache.tapestry5.ioc.services.ServiceOverride;
/**
* A contribution into the {@link Alias} or AliasOverride service configuration.
*
* @deprecated Use {@link ServiceOverride} instead
*/
public final class AliasContribution
{
private final Class contributionType;
private final String mode;
private final T object;
/**
* Simplifies the creation of an AliasContribution around a known type and instance of that type.
*/
public static AliasContribution create(Class contributionType, X object)
{
return new AliasContribution(contributionType, object);
}
/**
* Simplifies the creation of an AliasContribution around a known type, mode, and an instance of that type.
*/
public static AliasContribution create(Class contributionType, String mode, X object)
{
return new AliasContribution(contributionType, mode, object);
}
/**
* Conntributes the object with a blank mode.
*/
public AliasContribution(Class contributionType, T object)
{
this(contributionType, "", object);
}
public AliasContribution(Class contributionType, String mode, T object)
{
assert contributionType != null;
this.contributionType = contributionType;
assert mode != null;
this.mode = mode;
assert object != null;
this.object = object;
}
/**
* Returns the mode of operation for this instance of Tapestry. Most of the time, this will be the empty string,
* meaning that the contribution applies to Tapestry is any mode. In other cases, the mode will be "servlet" but may
* be other modes via add on modules, such as "portlet" or "offline".
*/
public String getMode()
{
return mode;
}
public Class getContributionType()
{
return contributionType;
}
/**
* The contributed object, which will be made available.
*/
public T getObject()
{
return object;
}
@Override
public String toString()
{
StringBuilder builder = new StringBuilder();
Formatter formatter = new Formatter(builder);
formatter.format("", object);
return builder.toString();
}
}