Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 /*
  * Copyright 2015 Red Hat, Inc. and/or its affiliates
  * and other contributors as indicated by the @author tags.
  *
  * 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.hawkular.inventory.bus.api;

Author(s):
Lukas Krejci
Since:
0.0.1
public abstract class InventoryEvent<T> extends BasicMessage {
    @Expose
    private Action.Enumerated action;
    public static InventoryEvent<?> from(Action<?, ?> actionObject object) {
        if (object == null) {
            throw new IllegalArgumentException("object == null");
        }
        if (action == null) {
            throw new IllegalArgumentException("action == null");
        }
        if (object instanceof Tenant) {
            return new TenantEvent(action.asEnum(), (Tenantobject);
        } else if (object instanceof Environment) {
            return new EnvironmentEvent(action.asEnum(), (Environmentobject);
        } else if (object instanceof Feed) {
            return new FeedEvent(action.asEnum(), (Feedobject);
        } else if (object instanceof Metric) {
            return new MetricEvent(action.asEnum(), (Metricobject);
        } else if (object instanceof MetricType) {
            return new MetricTypeEvent(action.asEnum(), (MetricTypeobject);
        } else if (object instanceof Resource) {
            return new ResourceEvent(action.asEnum(), (Resourceobject);
        } else if (object instanceof ResourceType) {
            return new ResourceTypeEvent(action.asEnum(), (ResourceTypeobject);
        } else if (object instanceof Relationship) {
            return new RelationshipEvent(action.asEnum(), (Relationshipobject);
        } else if (object instanceof Action.Update) {
            @SuppressWarnings("unchecked")
            AbstractElement<?, AbstractElement.Updateupdated =
                    (AbstractElement<?, AbstractElement.Update>) ((Action.Updateobject).getOriginalEntity();
            updated.update().with((AbstractElement.Update) ((Action.Updateobject).getUpdate());
            //TODO should we instead send the whole update object? No time for that now, but it'd be preferable I think
            return from(actionupdated);
        } else {
            throw new IllegalArgumentException("Unsupported entity type: " + object.getClass());
        }
    }
    protected InventoryEvent() {
    }
    protected InventoryEvent(Action.Enumerated action) {
        this. = action;
    }
    public Action.Enumerated getAction() {
        return ;
    }
    public void setAction(Action.Enumerated action) {
        this. = action;
    }
    public abstract T getObject();
    public abstract void setObject(T object);
New to GrepCode? Check out our FAQ X